package hu.bme.mit.incquery.cep.casestudy.transaction.patterns.complex; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import hu.bme.mit.incquery.cep.api.ParameterizableComplexEventPattern; import hu.bme.mit.incquery.cep.api.ParameterizableEventInstance; import hu.bme.mit.incquery.cep.metamodels.cep.CepFactory; import hu.bme.mit.incquery.cep.metamodels.cep.ComplexOperator; import hu.bme.mit.incquery.cep.metamodels.cep.Event; import hu.bme.mit.incquery.cep.metamodels.cep.EventPattern; import hu.bme.mit.incquery.cep.metamodels.cep.GlobalTimewindow; import java.util.List; import java.util.Map; @SuppressWarnings("all") public class CompoundTransactionEvent_Pattern extends ParameterizableComplexEventPattern { public CompoundTransactionEvent_Pattern() { super(); setOperator(ComplexOperator.ORDERED); // composition events List<EventPattern> compositionEventPatternsForCP = Lists.newArrayList(); compositionEventPatternsForCP.add(new hu.bme.mit.incquery.cep.casestudy.transaction.patterns.atomic.incquery.ComponentA_Appeared_IQPattern()); compositionEventPatternsForCP.add(new hu.bme.mit.incquery.cep.casestudy.transaction.patterns.atomic.incquery.ComponentB_Appeared_IQPattern()); compositionEventPatternsForCP.add(new hu.bme.mit.incquery.cep.casestudy.transaction.patterns.atomic.incquery.ComponentC_Appeared_IQPattern()); getCompositionEvents().addAll(compositionEventPatternsForCP); // timewindows GlobalTimewindow timewindow = CepFactory.eINSTANCE.createGlobalTimewindow(); timewindow.setLength(5000l); setGlobalTimewindow(timewindow); setId("CompoundTransactionEvent_Pattern"); } @Override public boolean evaluateParameterBindigs(final Event event) { if(event instanceof ParameterizableEventInstance){ return evaluateParameterBindigs((ParameterizableEventInstance) event); } return true; } public boolean evaluateParameterBindigs(final ParameterizableEventInstance event) { if(event instanceof hu.bme.mit.incquery.cep.casestudy.transaction.events.incquery.ComponentA_Appeared_IQEvent){ Map<String,Object> params = Maps.newHashMap(); Object value0 = ((hu.bme.mit.incquery.cep.casestudy.transaction.events.incquery.ComponentA_Appeared_IQEvent) event).getParameter(0); params.put("tId", value0); Object value1 = ((hu.bme.mit.incquery.cep.casestudy.transaction.events.incquery.ComponentA_Appeared_IQEvent) event).getParameter(1); params.put("cId", value1); return evaluateParamBinding(params, event); } if(event instanceof hu.bme.mit.incquery.cep.casestudy.transaction.events.incquery.ComponentB_Appeared_IQEvent){ Map<String,Object> params = Maps.newHashMap(); Object value0 = ((hu.bme.mit.incquery.cep.casestudy.transaction.events.incquery.ComponentB_Appeared_IQEvent) event).getParameter(0); params.put("tId", value0); return evaluateParamBinding(params, event); } if(event instanceof hu.bme.mit.incquery.cep.casestudy.transaction.events.incquery.ComponentC_Appeared_IQEvent){ Map<String,Object> params = Maps.newHashMap(); Object value0 = ((hu.bme.mit.incquery.cep.casestudy.transaction.events.incquery.ComponentC_Appeared_IQEvent) event).getParameter(0); params.put("tId", value0); Object value1 = ((hu.bme.mit.incquery.cep.casestudy.transaction.events.incquery.ComponentC_Appeared_IQEvent) event).getParameter(1); params.put("sId", value1); return evaluateParamBinding(params, event); } return true; } }