@Test public void testEventModel() throws Exception { final KieBase kbase = SerializationHelper.serializeObject(loadKnowledgeBase("test_EventModel.drl")); final KieSession wm = createKnowledgeSession(kbase); final RuleRuntimeEventListener wmel = mock(RuleRuntimeEventListener.class); wm.addEventListener(wmel); final Cheese stilton = new Cheese("stilton", 15); final FactHandle stiltonHandle = wm.insert(stilton); final ArgumentCaptor<ObjectInsertedEvent> oic = ArgumentCaptor.forClass(org.kie.api.event.rule.ObjectInsertedEvent.class); verify(wmel).objectInserted(oic.capture()); assertSame(stiltonHandle, oic.getValue().getFactHandle()); wm.update(stiltonHandle, stilton); final ArgumentCaptor<org.kie.api.event.rule.ObjectUpdatedEvent> ouc = ArgumentCaptor.forClass(org.kie.api.event.rule.ObjectUpdatedEvent.class); verify(wmel).objectUpdated(ouc.capture()); assertSame(stiltonHandle, ouc.getValue().getFactHandle()); wm.delete(stiltonHandle); final ArgumentCaptor<ObjectDeletedEvent> orc = ArgumentCaptor.forClass(ObjectDeletedEvent.class); verify(wmel).objectDeleted(orc.capture()); assertSame(stiltonHandle, orc.getValue().getFactHandle()); }
oae.getFactHandle() ); oae = (ObjectInsertedEvent) wmList.get( 3 ); assertSame( cheddarHandle, oae.getFactHandle() );
public FactHandle getFactHandle() { return new FactHandleAdapter(event.getFactHandle()); }
@Override public void objectInserted(final ObjectInsertedEvent event) { if ((handleFilter == null && classFilter == null) || event.getFactHandle() == handleFilter || event.getObject().getClass().equals(classFilter)) { insertions.add(event); allEvents.add(event); log.trace("Insertion: " + DroolsUtil.objectDetails(event.getObject())); } }
@Override public void objectInserted(final ObjectInsertedEvent event) { if ((handleFilter == null && classFilter == null) || event.getFactHandle() == handleFilter || event.getObject().getClass().equals(classFilter)) { insertions.add(event); allEvents.add(event); log.trace("Insertion: " + DroolsUtil.objectDetails(event.getObject())); } }
@Override public void objectInserted(final ObjectInsertedEvent event) { if ((handleFilter == null && classFilter == null) || event.getFactHandle() == handleFilter || event.getObject().getClass().equals(classFilter)) { log.trace("Insertion: " + DroolsUtil.objectDetails(event.getObject())); } }
@Test public void testEventModel() throws Exception { KnowledgeBase kbase = SerializationHelper.serializeObject( loadKnowledgeBase( "test_EventModel.drl" ) ); StatefulKnowledgeSession wm = createKnowledgeSession( kbase ); RuleRuntimeEventListener wmel = mock( RuleRuntimeEventListener.class ); wm.addEventListener( wmel ); final Cheese stilton = new Cheese( "stilton", 15 ); final FactHandle stiltonHandle = wm.insert( stilton ); ArgumentCaptor<org.kie.api.event.rule.ObjectInsertedEvent> oic = ArgumentCaptor.forClass( org.kie.api.event.rule.ObjectInsertedEvent.class ); verify( wmel ).objectInserted( oic.capture() ); assertSame( stiltonHandle, oic.getValue().getFactHandle() ); wm.update( stiltonHandle, stilton ); ArgumentCaptor<org.kie.api.event.rule.ObjectUpdatedEvent> ouc = ArgumentCaptor.forClass( org.kie.api.event.rule.ObjectUpdatedEvent.class ); verify( wmel ).objectUpdated( ouc.capture() ); assertSame( stiltonHandle, ouc.getValue().getFactHandle() ); wm.retract( stiltonHandle ); ArgumentCaptor<ObjectDeletedEvent> orc = ArgumentCaptor.forClass( ObjectDeletedEvent.class ); verify( wmel ).objectDeleted(orc.capture()); assertSame( stiltonHandle, orc.getValue().getFactHandle() ); }