package org.jnect.demo.incquery.esper;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.jnect.demo.incquery.esper.events.PatternMatchEvent;
import org.jnect.demo.incquery.esper.events.PatternMatchEventType;
import org.jnect.demo.incquery.views.YMCADemoView;
/**
* Esper debugging handler to aid Esper debugging without IncQuery.
*
* @author istvanrath
*
*/
@SuppressWarnings("unused")
public class StartEsperDebugHandler extends AbstractHandler {
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
try {
Thread t = new Thread(new Runnable() {
@Override
public void run() {
try {
samplingTestComplex();
// samplingTest();
// ymcaTest();
// iqTest();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}, "Esper Debug");
t.start();
} catch (Exception e) {
throw new ExecutionException(e.getLocalizedMessage(), e);
}
return null;
}
/**
* Test-case for the sampling processing mode.
*
* @throws InterruptedException
*/
private void samplingTest() throws InterruptedException {
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "Y", PatternMatchEventType.NEW));
YMCADemoView.appendStringIncQuery("Y");
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "Y", PatternMatchEventType.LOST));
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "Y", PatternMatchEventType.NEW));
YMCADemoView.appendStringIncQuery("Y");
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "Y", PatternMatchEventType.LOST));
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "Y", PatternMatchEventType.NEW));
YMCADemoView.appendStringIncQuery("Y");
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "Y", PatternMatchEventType.LOST));
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "Y", PatternMatchEventType.NEW));
YMCADemoView.appendStringIncQuery("Y");
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "Y", PatternMatchEventType.LOST));
Thread.sleep(1000l);
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "Y", PatternMatchEventType.NEW));
YMCADemoView.appendStringIncQuery("Y");
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "Y", PatternMatchEventType.LOST));
Thread.sleep(700l);
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "Y", PatternMatchEventType.NEW));
YMCADemoView.appendStringIncQuery("Y");
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "Y", PatternMatchEventType.LOST));
Thread.sleep(400l);
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "Y", PatternMatchEventType.NEW));
YMCADemoView.appendStringIncQuery("Y");
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "Y", PatternMatchEventType.LOST));
}
/**
* Another test-case for the sampling processing mode.
*
* @throws InterruptedException
*/
private void samplingTestComplex() throws InterruptedException {
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "I", PatternMatchEventType.NEW));
YMCADemoView.appendStringIncQuery("I");
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "I", PatternMatchEventType.LOST));
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "I", PatternMatchEventType.NEW));
YMCADemoView.appendStringIncQuery("I");
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "I", PatternMatchEventType.LOST));
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "I", PatternMatchEventType.NEW));
YMCADemoView.appendStringIncQuery("I");
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "I", PatternMatchEventType.LOST));
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "I", PatternMatchEventType.NEW));
YMCADemoView.appendStringIncQuery("I");
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "I", PatternMatchEventType.LOST));
Thread.sleep(1000l);
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "I", PatternMatchEventType.NEW));
YMCADemoView.appendStringIncQuery("I");
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "I", PatternMatchEventType.LOST));
Thread.sleep(700l);
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "I", PatternMatchEventType.NEW));
YMCADemoView.appendStringIncQuery("I");
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "I", PatternMatchEventType.LOST));
Thread.sleep(400l);
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "I", PatternMatchEventType.NEW));
YMCADemoView.appendStringIncQuery("I");
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "I", PatternMatchEventType.LOST));
Thread.sleep(5500l);
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "Q", PatternMatchEventType.NEW));
YMCADemoView.appendStringIncQuery("Q");
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "Q", PatternMatchEventType.LOST));
Thread.sleep(700l);
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "Q", PatternMatchEventType.NEW));
YMCADemoView.appendStringIncQuery("Q");
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "Q", PatternMatchEventType.LOST));
Thread.sleep(400l);
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "Q", PatternMatchEventType.NEW));
YMCADemoView.appendStringIncQuery("Q");
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "Q", PatternMatchEventType.LOST));
}
/**
* Test-case for the "YMCA" pattern.
*
* @throws InterruptedException
*/
private void ymcaTest() throws InterruptedException {
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "Y", PatternMatchEventType.NEW));
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "Y", PatternMatchEventType.LOST));
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "M", PatternMatchEventType.NEW));
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "M", PatternMatchEventType.LOST));
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "C", PatternMatchEventType.NEW));
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "C", PatternMatchEventType.LOST));
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "A", PatternMatchEventType.NEW));
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "A", PatternMatchEventType.LOST));
}
/**
* Test-case for the "IQ" pattern.
*
* @throws InterruptedException
*/
private void iqTest() throws InterruptedException {
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "I", PatternMatchEventType.NEW));
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "I", PatternMatchEventType.LOST));
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "Q", PatternMatchEventType.NEW));
EsperManager.getInstance().sendEvent(new PatternMatchEvent(null, "Q", PatternMatchEventType.LOST));
}
}