本文整理汇总了Java中org.kuali.rice.krms.framework.engine.CompoundProposition类的典型用法代码示例。如果您正苦于以下问题:Java CompoundProposition类的具体用法?Java CompoundProposition怎么用?Java CompoundProposition使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
CompoundProposition类属于org.kuali.rice.krms.framework.engine包,在下文中一共展示了CompoundProposition类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: loadProposition
import org.kuali.rice.krms.framework.engine.CompoundProposition; //导入依赖的package包/类
@Override
public Proposition loadProposition(PropositionDefinition propositionDefinition) {
if (translator == null) {
throw new IllegalStateException("Service not configured properly, no translator available.");
}
if (propositionDefinition == null) {
throw new IllegalArgumentException("propositionDefinition was null");
}
if (PropositionType.COMPOUND != PropositionType.fromCode(propositionDefinition.getPropositionTypeCode())) {
throw new IllegalArgumentException("Given proposition definition was not compound, type code was: " + propositionDefinition.getPropositionTypeCode());
}
List<Proposition> propositions = new ArrayList<Proposition>();
for (PropositionDefinition subProp : propositionDefinition.getCompoundComponents()) {
propositions.add(translator.translatePropositionDefinition(subProp));
}
LogicalOperator operator = LogicalOperator.fromCode(propositionDefinition.getCompoundOpCode());
return new CompoundProposition(operator, propositions);
}
示例2: compoundPropositionTest
import org.kuali.rice.krms.framework.engine.CompoundProposition; //导入依赖的package包/类
@Test
public void compoundPropositionTest() {
Proposition prop1 = new ComparableTermBasedProposition(operatorGreaterThan, totalCostTerm, Integer.valueOf(1));
Proposition prop2 = new ComparableTermBasedProposition(operatorLessThan, totalCostTerm, Integer.valueOf(1000));
Proposition prop3 = new ComparableTermBasedProposition(operatorGreaterThan, totalCostTerm, Integer.valueOf(1000));
CompoundProposition compoundProp1 = new CompoundProposition(LogicalOperator.AND, Arrays.asList(prop1, prop2, prop3));
Rule rule = new BasicRule("InBetween",compoundProp1, null);
BasicAgendaTree agendaTree = new BasicAgendaTree(new BasicAgendaTreeEntry(rule));
Agenda agenda = new BasicAgenda(Collections.singletonMap(AgendaDefinition.Constants.EVENT, "test"), agendaTree);
Map<String, String> contextQualifiers = new HashMap<String, String>();
contextQualifiers.put("docTypeName", "Proposal");
List<TermResolver<?>> testResolvers = new ArrayList<TermResolver<?>>();
testResolvers.add(testResolver);
Context context = new BasicContext(Arrays.asList(agenda), testResolvers);
ContextProvider contextProvider = new ManualContextProvider(context);
SelectionCriteria selectionCriteria = SelectionCriteria.createCriteria(null, contextQualifiers,
Collections.singletonMap(AgendaDefinition.Constants.EVENT, "test"));
ProviderBasedEngine engine = new ProviderBasedEngine();
engine.setContextProvider(contextProvider);
// Set execution options to log execution
ExecutionOptions executionOptions = new ExecutionOptions().setFlag(ExecutionFlag.LOG_EXECUTION, true);
EngineResults results = engine.execute(selectionCriteria, Facts.EMPTY_FACTS, executionOptions);
assertNotNull(results);
}
示例3: integrationTest
import org.kuali.rice.krms.framework.engine.CompoundProposition; //导入依赖的package包/类
@Test
public void integrationTest() {
// build a simple rule
ComparisonOperator greaterThan = ComparisonOperator.GREATER_THAN;
greaterThan.setComparisonOperatorService(ComparisonOperatorServiceImpl.getInstance());
ComparisonOperator lessThan = ComparisonOperator.LESS_THAN;
lessThan.setComparisonOperatorService(ComparisonOperatorServiceImpl.getInstance());
Proposition prop1 = new ComparableTermBasedProposition(greaterThan, totalCostTerm, Integer.valueOf(1));
Proposition prop2 = new ComparableTermBasedProposition(lessThan, totalCostTerm, Integer.valueOf(1000));
CompoundProposition compoundProp1 = new CompoundProposition(LogicalOperator.AND, Arrays.asList(prop1, prop2));
Action action1 = new SayHelloAction();
Rule rule = new BasicRule("InBetween",compoundProp1, Arrays.asList(action1));
BasicAgendaTree agendaTree = new BasicAgendaTree(new BasicAgendaTreeEntry(rule));
Agenda agenda = new BasicAgenda(Collections.singletonMap(AgendaDefinition.Constants.EVENT, "test"), agendaTree);
Map<String, String> contextQualifiers = new HashMap<String, String>();
contextQualifiers.put("docTypeName", "Proposal");
List<TermResolver<?>> testResolvers = new ArrayList<TermResolver<?>>();
testResolvers.add(testResolver);
Context context = new BasicContext(Arrays.asList(agenda), testResolvers);
ContextProvider contextProvider = new ManualContextProvider(context);
SelectionCriteria selectionCriteria = SelectionCriteria.createCriteria(null, contextQualifiers,
Collections.singletonMap(AgendaDefinition.Constants.EVENT, "test"));
ProviderBasedEngine engine = new ProviderBasedEngine();
engine.setContextProvider(contextProvider);
// Set execution options to log execution
ExecutionOptions executionOptions = new ExecutionOptions().setFlag(ExecutionFlag.LOG_EXECUTION, true);
EngineResults results = engine.execute(selectionCriteria, Facts.EMPTY_FACTS, executionOptions);
assertNotNull(results);
}