请选择 进入手机版 | 继续访问电脑版
  • 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java DefaultAgendaEventListener类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.drools.event.rule.DefaultAgendaEventListener的典型用法代码示例。如果您正苦于以下问题:Java DefaultAgendaEventListener类的具体用法?Java DefaultAgendaEventListener怎么用?Java DefaultAgendaEventListener使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



DefaultAgendaEventListener类属于org.drools.event.rule包,在下文中一共展示了DefaultAgendaEventListener类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: testAssertAndExecuteClinicalFacts

import org.drools.event.rule.DefaultAgendaEventListener; //导入依赖的package包/类
@Test
public void testAssertAndExecuteClinicalFacts() throws JAXBException {
    // Arrange
    StatefulKnowledgeSession sessionMock = mock(StatefulKnowledgeSession.class);
    doReturn(sessionMock).when(sut).createStatefulKnowledgeSession();
    String factModelStringMock = "factModelStringMock";
    FactModel factModelMock = mock(FactModel.class);
    when(
            marshallerMock.unmarshalFromXml(FactModel.class,
                    factModelStringMock)).thenReturn(factModelMock);
    XacmlResult xacmlResultMock = mock(XacmlResult.class);
    when(factModelMock.getXacmlResult()).thenReturn(xacmlResultMock);
    LinkedList<ClinicalFact> clinicalFactListMock = new LinkedList<>();
    ClinicalFact clinicalFactMock1 = mock(ClinicalFact.class);
    ClinicalFact clinicalFactMock2 = mock(ClinicalFact.class);
    clinicalFactListMock.add(clinicalFactMock1);
    clinicalFactListMock.add(clinicalFactMock2);
    when(factModelMock.getClinicalFactList()).thenReturn(
            clinicalFactListMock).thenReturn(clinicalFactListMock);
    when(sessionMock.insert(clinicalFactMock1)).thenReturn(null);
    when(sessionMock.insert(clinicalFactMock2)).thenReturn(null);
    doNothing().when(sessionMock).addEventListener(
            isA(DefaultAgendaEventListener.class));
    when(sessionMock.fireAllRules()).thenReturn(0);
    RuleExecutionContainer ruleExecutionContainerMock = mock(RuleExecutionContainer.class);
    when(sessionMock.getGlobal("ruleExecutionContainer")).thenReturn(
            ruleExecutionContainerMock);
    String executionResponseContainerXMLStringMock = "executionResponseContainerXMLStringMock";
    when(marshallerMock.marshal(ruleExecutionContainerMock)).thenReturn(
            executionResponseContainerXMLStringMock);

    // Act
    AssertAndExecuteClinicalFactsResponse response = sut
            .assertAndExecuteClinicalFacts(factModelStringMock);

    // Assert
    assertNotNull(response);
    assertEquals(executionResponseContainerXMLStringMock,
            response.getRuleExecutionResponseContainer());
}
 
开发者ID:bhits,项目名称:dss-api,代码行数:41,代码来源:RuleExecutionServiceImplTest.java


示例2: testAssertAndExecuteClinicalFacts_Marshaller_Throws_JAXBException2

import org.drools.event.rule.DefaultAgendaEventListener; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Test
public void testAssertAndExecuteClinicalFacts_Marshaller_Throws_JAXBException2()
        throws JAXBException {
    // Arrange
    StatefulKnowledgeSession sessionMock = mock(StatefulKnowledgeSession.class);
    doReturn(sessionMock).when(sut).createStatefulKnowledgeSession();
    String factModelStringMock = "factModelStringMock";
    FactModel factModelMock = mock(FactModel.class);
    when(
            marshallerMock.unmarshalFromXml(FactModel.class,
                    factModelStringMock)).thenReturn(factModelMock);
    XacmlResult xacmlResultMock = mock(XacmlResult.class);
    when(factModelMock.getXacmlResult()).thenReturn(xacmlResultMock);
    LinkedList<ClinicalFact> clinicalFactListMock = new LinkedList<>();
    ClinicalFact clinicalFactMock1 = mock(ClinicalFact.class);
    ClinicalFact clinicalFactMock2 = mock(ClinicalFact.class);
    clinicalFactListMock.add(clinicalFactMock1);
    clinicalFactListMock.add(clinicalFactMock2);
    when(factModelMock.getClinicalFactList()).thenReturn(
            clinicalFactListMock).thenReturn(clinicalFactListMock);
    when(sessionMock.insert(clinicalFactMock1)).thenReturn(null);
    when(sessionMock.insert(clinicalFactMock2)).thenReturn(null);
    doNothing().when(sessionMock).addEventListener(
            isA(DefaultAgendaEventListener.class));
    when(sessionMock.fireAllRules()).thenReturn(0);
    RuleExecutionContainer ruleExecutionContainerMock = mock(RuleExecutionContainer.class);
    when(sessionMock.getGlobal("ruleExecutionContainer")).thenReturn(
            ruleExecutionContainerMock);
    when(marshallerMock.marshal(ruleExecutionContainerMock)).thenThrow(
            JAXBException.class);

    // Act
    AssertAndExecuteClinicalFactsResponse response = sut
            .assertAndExecuteClinicalFacts(factModelStringMock);

    // Assert
    assertNotNull(response);
    assertNull(response.getRuleExecutionResponseContainer());
}
 
开发者ID:bhits,项目名称:dss-api,代码行数:41,代码来源:RuleExecutionServiceImplTest.java


示例3: assertAndExecuteClinicalFacts

import org.drools.event.rule.DefaultAgendaEventListener; //导入依赖的package包/类
@Override
public AssertAndExecuteClinicalFactsResponse assertAndExecuteClinicalFacts(
        FactModel factModel) {
    RuleExecutionContainer executionResponseContainer = null;
    final AssertAndExecuteClinicalFactsResponse assertAndExecuteResponse = new AssertAndExecuteClinicalFactsResponse();
    String executionResponseContainerXMLString = null;
    final Set<String> firedRuleNames = new HashSet<>();

    final StatefulKnowledgeSession session = createStatefulKnowledgeSession();
    try {
        session.insert(factModel.getXacmlResult());
        for (final ClinicalFact clinicalFact : factModel
                .getClinicalFactList()) {
            session.insert(clinicalFact);
        }

        session.addEventListener(new DefaultAgendaEventListener() {
            @Override
            public void afterActivationFired(AfterActivationFiredEvent event) {
                super.afterActivationFired(event);
                final Rule rule = event.getActivation().getRule();
                firedRuleNames.add(rule.getName());
            }
        });

        session.fireAllRules();

        logger.debug(() -> "Fired rules: " + firedRuleNames.toString());

        executionResponseContainer = (RuleExecutionContainer) session
                .getGlobal("ruleExecutionContainer");

        // Marshal rule execution response
        executionResponseContainerXMLString = marshaller
                .marshal(executionResponseContainer);
        if (firedRuleNames.size() > 0) {
            assertAndExecuteResponse.setRulesFired(firedRuleNames
                    .toString());
        }
    } catch (final Throwable e) {
        logger.error(e.getMessage(), e);
    } finally {
        firedRuleNames.clear();
        if (session != null) {
            session.dispose();
        }
    }
    assertAndExecuteResponse
            .setRuleExecutionResponseContainer(executionResponseContainerXMLString);
    return assertAndExecuteResponse;
}
 
开发者ID:bhits,项目名称:dss-api,代码行数:52,代码来源:RuleExecutionServiceImpl.java


示例4: assertAndExecuteClinicalFacts

import org.drools.event.rule.DefaultAgendaEventListener; //导入依赖的package包/类
@Override
public AssertAndExecuteClinicalFactsResponse assertAndExecuteClinicalFacts(
		String factModelXmlString) {
	RuleExecutionContainer executionResponseContainer = null;
	FactModel factModel = new FactModel();
	AssertAndExecuteClinicalFactsResponse assertAndExecuteResponse = new AssertAndExecuteClinicalFactsResponse();

	String executionResponseContainerXMLString = null;

	LOGGER.debug("factModelXmlString: " + factModelXmlString);
	StatefulKnowledgeSession session = createStatefulKnowledgeSession();
	try {
		// unmarshall factmodel
		factModel = marshaller.unmarshallFromXml(FactModel.class,
				factModelXmlString);

		session.insert(factModel.getXacmlResult());
		for (ClinicalFact clinicalFact : factModel.getClinicalFactList()) {
			session.insert(clinicalFact);
		}

		session.addEventListener(new DefaultAgendaEventListener() {
			@Override
			public void afterActivationFired(AfterActivationFiredEvent event) {
				super.afterActivationFired(event);
				final Rule rule = event.getActivation().getRule();
				addRuleName(rule.getName());

			}
		});

		session.fireAllRules();

		LOGGER.debug("Fired rules: {}...", firedRuleNames);
		LOGGER.debug("Fired rules: " + firedRuleNames);

		executionResponseContainer = (RuleExecutionContainer) session
				.getGlobal("ruleExecutionContainer");

		// Marshal rule execution response
		executionResponseContainerXMLString = marshaller
				.marshall(executionResponseContainer);

	} catch (Throwable e) {
		LOGGER.error(e.getMessage(), e);
	} finally {
		firedRuleNames = "";
		if (session != null) {
			session.dispose();
		}
	}

	assertAndExecuteResponse
			.setRuleExecutionResponseContainer(executionResponseContainerXMLString);

	return assertAndExecuteResponse;
}
 
开发者ID:tlin-fei,项目名称:ds4p,代码行数:58,代码来源:RuleExecutionServiceImpl.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java SignalEmitter类代码示例发布时间:2022-05-16
下一篇:
Java CompositeModel类代码示例发布时间:2022-05-16
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap