@Override public void objectUpdated(ObjectUpdatedEvent event) { System.out.println(event.getOldObject() + " -> " + event.getObject()); } });
@Override public void objectUpdated(ObjectUpdatedEvent event) { System.out.println(event.getOldObject() + " -> " + event.getObject()); } });
@Override public void objectUpdated(ObjectUpdatedEvent event) { System.out.println(event.getOldObject() + " -> " + event.getObject()); } });
@Override public Object getOldObject() { return event.getOldObject(); }
ome.getFactHandle() ); assertEquals( cheddar, ome.getObject() ); assertEquals( stilton, ome.getOldObject() );
@Override public void objectUpdated(ObjectUpdatedEvent objectUpdatedEvent) { Object object = objectUpdatedEvent.getObject(); Rule rule = objectUpdatedEvent.getRule(); Object oldObject = objectUpdatedEvent.getOldObject(); if (rule == null) { logs.add("Object " + object.getClass().getName() + " updated. Old fact[ " + oldObject.toString() + " ]. New fact[ " + object.toString() + " ]."); } else { logs.add("Object " + object.getClass().getName() + " updated in rule " + rule.getName() + ". Old fact[ " + oldObject.toString() + " ]. New fact[ " + object.toString() + " ]."); } }
@Override public void objectUpdated(ObjectUpdatedEvent objectUpdatedEvent) { Object object = objectUpdatedEvent.getObject(); Rule rule = objectUpdatedEvent.getRule(); Object oldObject = objectUpdatedEvent.getOldObject(); if (rule == null) { logs.add("Object " + object.getClass().getName() + " updated. Old fact[ " + oldObject.toString() + " ]. New fact[ " + object.toString() + " ]."); } else { logs.add("Object " + object.getClass().getName() + " updated in rule " + rule.getName() + ". Old fact[ " + oldObject.toString() + " ]. New fact[ " + object.toString() + " ]."); } }
@Test public void testFactBindings() throws Exception { KnowledgeBase kbase = SerializationHelper.serializeObject( loadKnowledgeBase( "test_FactBindings.drl" ) ); StatefulKnowledgeSession ksession = createKnowledgeSession( kbase ); RuleRuntimeEventListener wmel = mock( RuleRuntimeEventListener.class ); ksession.addEventListener( wmel ); final Person bigCheese = new Person( "big cheese" ); final Cheese cheddar = new Cheese( "cheddar", 15 ); bigCheese.setCheese( cheddar ); final FactHandle bigCheeseHandle = ksession.insert( bigCheese ); final FactHandle cheddarHandle = ksession.insert( cheddar ); ksession.fireAllRules(); ArgumentCaptor<org.kie.api.event.rule.ObjectUpdatedEvent> arg = ArgumentCaptor.forClass( org.kie.api.event.rule.ObjectUpdatedEvent.class ); verify( wmel, times( 2 ) ).objectUpdated( arg.capture() ); org.kie.api.event.rule.ObjectUpdatedEvent event = arg.getAllValues().get( 0 ); assertSame( cheddarHandle, event.getFactHandle() ); assertSame( cheddar, event.getOldObject() ); assertSame( cheddar, event.getObject() ); event = arg.getAllValues().get( 1 ); assertSame( bigCheeseHandle, event.getFactHandle() ); assertSame( bigCheese, event.getOldObject() ); assertSame( bigCheese, event.getObject() ); }