当前位置: 首页>>代码示例>>Java>>正文


Java CompoundProposition类代码示例

本文整理汇总了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);
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:19,代码来源:CompoundPropositionTypeService.java

示例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);
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:35,代码来源:KRMSTest.java

示例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);
	
}
 
开发者ID:kuali,项目名称:kc-rice,代码行数:42,代码来源:ResultLoggingTest.java


注:本文中的org.kuali.rice.krms.framework.engine.CompoundProposition类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。