public void testFusionBackEndRuntimeFacotry() {
CEPBackEndRuntimeFactory factory = new FusionBackEndRuntimeFactory();
CEPBackEndRuntime cepBackEndRuntime = factory.createCEPBackEndRuntime(null, null,0);
Expression expression = new Expression();
expression.setText("package org.wso2.carbon.cep.fusion;\n" +
"\n" +
"import java.util.Map;\n" +
"import java.util.HashMap;\n" +
"\n" +
"global org.wso2.carbon.cep.fusion.listener.FusionEventListener fusionListener;\n" +
"\n" +
"declare HashMap\n" +
" @role( event )\n" +
"end\n" +
"\n" +
"rule InvokeIBM\n" +
"\n" +
"when\n" +
" $stockQuote : HashMap($symbol : this[\"symbol\"], $stockPrice : this[\"price\"], this[\"picked\"] != \"true\") over window:time(2m) from entry-point \"allStockQuotes\";\n" +
" $average : Double() from accumulate(HashMap(this[\"symbol\"] == $symbol,$price : this[\"price\"]) over window:time(2m) from entry-point \"allStockQuotes\" , average( $price));\n" +
" eval((Double)$stockPrice > $average * 1.01);\n" +
"then\n" +
" $stockQuote.put(\"picked\",\"true\");\n" +
" update($stockQuote);\n" +
" Map $fastMovingStock = new HashMap();\n" +
" $fastMovingStock.put(\"price\",$stockPrice);\n" +
" $fastMovingStock.put(\"symbol\",$symbol);\n" +
" $fastMovingStock.put(\"average\",$average);\n" +
" fusionListener.onEvent($fastMovingStock);\n" +
"end");
expression.setType(CEPConstants.CEP_CONF_EXPRESSION_INLINE);
try {
CEPEventListener cepEventListener = new CEPEventListener(null, 0, CarbonConstants.REGISTRY_SYSTEM_USERNAME){
public void onComplexEvent(List events) {
for (Object event : events){