package hu.bme.mit.incquery.cep.tests.evm.integration.evmspecific; import hu.bme.mit.incquery.cep.api.evm.ObservedComplexEventPattern; import org.eclipse.incquery.runtime.evm.api.RuleInstance; import org.eclipse.incquery.runtime.evm.api.event.Event; import org.eclipse.incquery.runtime.evm.api.event.EventFilter; import org.eclipse.incquery.runtime.evm.api.event.EventHandler; import org.eclipse.incquery.runtime.evm.api.event.EventSource; public class CepEventHandler implements EventHandler<ObservedComplexEventPattern> { private CepEventFilter filter; private CepEventSource source; private RuleInstance<ObservedComplexEventPattern> instance; @Override public void handleEvent(Event<ObservedComplexEventPattern> event) { CepEventType type = (CepEventType) event.getEventType(); ObservedComplexEventPattern eventAtom = event.getEventAtom(); switch (type) { case APPEARED : instance.activationStateTransition(instance.createActivation(eventAtom), type); break; default : System.err.println("Never happens!"); break; } } @Override public EventSource<ObservedComplexEventPattern> getSource() { return source; } @Override public EventFilter<ObservedComplexEventPattern> getEventFilter() { return filter; } @Override public void dispose() {} public CepEventHandler(CepEventSource source, CepEventFilter filter, RuleInstance<ObservedComplexEventPattern> instance) { this.source = source; this.filter = filter; this.instance = instance; } }