Search in sources :

Example 6 with Event

use of org.openksavi.sponge.event.Event in project sponge by softelnet.

the class EventsTestTemplate method testClonePolicy.

public static void testClonePolicy(KnowledgeBaseType type) {
    SpongeEngine engine = ScriptTestUtils.startWithConfig(type, "events_clone_policy");
    try {
        await().atMost(30, TimeUnit.SECONDS).until(() -> TestUtils.getEvents(engine, "defaultClonePolicy").size() >= 3 && TestUtils.getEvents(engine, "deepClonePolicy").size() >= 3 && TestUtils.getEvents(engine, "shallowClonePolicy").size() >= 3);
        // Default clone policy is set to DEEP in the configuration xml.
        List<Event> defaultClonePolicyEvents = TestUtils.getEvents(engine, "defaultClonePolicy");
        assertEquals("Value 1", getValue(defaultClonePolicyEvents, 0));
        assertEquals("Value 2", getValue(defaultClonePolicyEvents, 1));
        assertEquals("Value 3", getValue(defaultClonePolicyEvents, 2));
        List<Event> deepClonePolicyEvents = TestUtils.getEvents(engine, "deepClonePolicy");
        assertEquals("Value 1", getValue(deepClonePolicyEvents, 0));
        assertEquals("Value 2", getValue(deepClonePolicyEvents, 1));
        assertEquals("Value 3", getValue(deepClonePolicyEvents, 2));
        List<Event> shallowClonePolicyEvents = TestUtils.getEvents(engine, "shallowClonePolicy");
        assertEquals("Value " + defaultClonePolicyEvents.size(), getValue(shallowClonePolicyEvents, 0));
        assertEquals("Value " + defaultClonePolicyEvents.size(), getValue(shallowClonePolicyEvents, 1));
        assertEquals("Value " + defaultClonePolicyEvents.size(), getValue(shallowClonePolicyEvents, 2));
        assertFalse(engine.isError());
    } finally {
        engine.shutdown();
    }
}
Also used : Event(org.openksavi.sponge.event.Event) SpongeEngine(org.openksavi.sponge.engine.SpongeEngine)

Example 7 with Event

use of org.openksavi.sponge.event.Event in project sponge by softelnet.

the class CorrelationEventsLog method addEvents.

public void addEvents(String key, BaseRule rule) {
    lock.lock();
    try {
        List<Event> eventSequence = rule.getEventSequence();
        Event firstEvent = eventSequence.get(0);
        String firstLabel = firstEvent.get(LABEL_ATTRIBUTE_NAME, String.class);
        assert firstLabel != null : firstEvent;
        if (!events.containsKey(key)) {
            events.put(key, createMap());
        }
        if (!events.get(key).containsKey(firstLabel)) {
            events.get(key).put(firstLabel, new ArrayList<>());
        }
        events.get(key).get(firstLabel).add(new ArrayList<>(eventSequence));
    } finally {
        lock.unlock();
    }
}
Also used : Event(org.openksavi.sponge.event.Event)

Aggregations

Event (org.openksavi.sponge.event.Event)7 HashSet (java.util.HashSet)1 PriorityBlockingQueue (java.util.concurrent.PriorityBlockingQueue)1 Pair (org.apache.commons.lang3.tuple.Pair)1 Test (org.junit.Test)1 PriorityEventQueueComparator (org.openksavi.sponge.core.engine.event.PriorityEventQueueComparator)1 SpongeEngine (org.openksavi.sponge.engine.SpongeEngine)1 EventClonePolicy (org.openksavi.sponge.event.EventClonePolicy)1