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.eclipse.emf.common.notify.Notifier; import org.eclipse.incquery.runtime.api.IncQueryEngine; import org.eclipse.incquery.runtime.exception.IncQueryException; import org.jnect.core.KinectManager; import bodymodel.ymca.AMatcher; import bodymodel.ymca.BEMatcher; import bodymodel.ymca.BSMatcher; import bodymodel.ymca.CMatcher; import bodymodel.ymca.FEMatcher; import bodymodel.ymca.FSMatcher; import bodymodel.ymca.IMatcher; import bodymodel.ymca.MMatcher; import bodymodel.ymca.QMatcher; import bodymodel.ymca.YMatcher; /** * * @author istvanrath * */ public class StartEsperDemoHandler extends AbstractHandler { @Override public Object execute(ExecutionEvent event) throws ExecutionException { if (KinectManager.INSTANCE.isSkeletonTrackingStarted()) { try { Notifier km = KinectManager.INSTANCE.getSkeletonModel(); IncQueryEngine e = IncQueryEngine.on(km); // adapters for the YMCA demo new EsperAdapter(YMatcher.on(e)); new EsperAdapter(MMatcher.on(e)); new EsperAdapter(CMatcher.on(e)); new EsperAdapter(AMatcher.on(e)); new EsperAdapter(IMatcher.on(e)); new EsperAdapter(QMatcher.on(e)); // adapters for the powerpoint robot demo new EsperAdapter(FSMatcher.on(e)); new EsperAdapter(FEMatcher.on(e)); new EsperAdapter(BSMatcher.on(e)); new EsperAdapter(BEMatcher.on(e)); } catch (IncQueryException e) { e.printStackTrace(); } // catch (PartInitException e) { // e.printStackTrace(); // } } else { System.out.println("Start skeleton simulator first!"); } return null; } }