package hu.bme.mit.incquery.cep.casestudy.java.actionhandlers; import hu.bme.mit.incquery.cep.api.IActionHandler; import hu.bme.mit.incquery.cep.api.ParameterizableComplexEventPattern; import hu.bme.mit.incquery.cep.api.ParameterizableEventInstance; import hu.bme.mit.incquery.cep.api.evm.IObservableComplexEventPattern; import hu.bme.mit.incquery.cep.api.evm.ObservedComplexEventPattern; import hu.bme.mit.incquery.cep.casestudy.transaction.events.ComponentA_Event; import hu.bme.mit.incquery.cep.casestudy.transaction.events.ComponentB_Event; import hu.bme.mit.incquery.cep.casestudy.transaction.events.ComponentC_Event; import hu.bme.mit.incquery.cep.metamodels.cep.EventPattern; import java.util.List; import org.eclipse.incquery.runtime.evm.api.Activation; public class SimpleActionHandler2 implements IActionHandler { @Override public void handle(Activation<? extends IObservableComplexEventPattern> activation) { IObservableComplexEventPattern atom = activation.getAtom(); if (!(atom instanceof ObservedComplexEventPattern)) { return; } EventPattern observedEventPattern = atom.getObservableEventPattern(); System.out.println("Event pattern appeared: " + observedEventPattern.getId()); if (observedEventPattern instanceof ParameterizableComplexEventPattern) { List<ParameterizableEventInstance> observedEvents = ((ParameterizableComplexEventPattern) observedEventPattern) .getObservedEvents(); ComponentA_Event componentA = (ComponentA_Event) observedEvents.get(0); ComponentB_Event componentB = (ComponentB_Event) observedEvents.get(1); ComponentC_Event componentC = (ComponentC_Event) observedEvents.get(2); System.out.println("New compound event with params:"); System.out.println("---TransactionId: " + componentA.getTransactionId()); System.out.println("---CustomerId: " + componentA.getCustomerId()); System.out.println("---Timestamp A: " + componentA.getTimestamp()); System.out.println("---Timestamp B: " + componentB.getTimestamp()); System.out.println("---Timestamp C: " + componentC.getTimestamp()); } } }