package hu.bme.mit.incquery.cep.api.evm;
import java.util.Set;
import org.eclipse.incquery.runtime.evm.api.event.EventRealm;
import com.google.common.collect.Sets;
public class CepRealm implements EventRealm {
private Set<CepEventSource> sources = Sets.newHashSet();
public void addSource(CepEventSource cepEventSource) {
sources.add(cepEventSource);
}
public void forwardObservedEventPattern(ObservedComplexEventPattern op) {
for (CepEventSource source : sources) {
if (source.getStateMachine().getEventPattern().getId()
.equalsIgnoreCase(op.getObservableEventPattern().getId())) {
source.pushEvent(CepEventType.APPEARED, op);
break;
}
}
}
public void forwardFailedEventPattern(InTrapComplexEventPattern op) {
for (CepEventSource source : sources) {
if (source.getStateMachine().getEventPattern().getId()
.equalsIgnoreCase(op.getObservableEventPattern().getId())) {
source.pushEvent(CepEventType.APPEARED, op);
break;
}
}
}
public Set<CepEventSource> getSources() {
return sources;
}
}