Я использую это расширение в своем приложении android:
https://github.com/wso2-extensions/siddhi-gpl-execution-geo
Я пытаюсь проверить функции. Функция «расстояние» работает правильно, а остальные (пересекаются, внутри, в пределах расстояния) - нет. Приложение cra sh при запуске и Android Studio не отображает ошибку especifi c для проблемы.
Я следую примеру TestCase расширения, используя те же данные :
https://github.com/wso2-extensions/siddhi-gpl-execution-geo/tree/master/component/src/test/java/org/wso2/extension/siddhi/gpl/execution/geo/function
Моя функция проверки запроса на сиддхи:
String siddhiApp = "@config(async = 'true') define stream dataIn (geometry string);"
+ "@info(name = 'query1') from dataIn" +
" select geo:intersects(geometry, \"{'type':'Polygon','coordinates':[[[0, 0]," +
"[0, 1],[1, 1],[1, 0],[0, 0]]]}\") as intersects \n" +
" insert into dataOut";
Мой код (Основная активность. java):
public class MainActivity extends AppCompatActivity {
private SiddhiManager siddhiManager;
private SiddhiAppRuntime siddhiAppRuntime;
private InputHandler inputHandler;
private static Logger logger = Logger.getLogger(MainActivity.class);
String siddhiApp = "@config(async = 'true') define stream dataIn (geometry string);"
+ "@info(name = 'query1') from dataIn" +
" select geo:intersects(geometry, \"{'type':'Polygon','coordinates':[[[0, 0]," +
"[0, 1],[1, 1],[1, 0],[0, 0]]]}\") as intersects \n" +
" insert into dataOut";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
BasicConfigurator.configure(); //Para que funcione el EventPrinter (log4j)
logger.info("Init Siddhi"); // Create Siddhi Manager
siddhiManager = new SiddhiManager();
long start = System.currentTimeMillis();
siddhiAppRuntime = siddhiManager.createSiddhiAppRuntime(siddhiApp);
long end = System.currentTimeMillis();
inputHandler = siddhiAppRuntime.getInputHandler("dataIn");
logger.info(String.format("Time to create siddhiAppRuntime: [%f sec]", ((end - start) / 1000f)));
siddhiAppRuntime.addCallback("query1", new QueryCallback() {
@Override
public void receive(long timestamp, Event[] inEvents, Event[] removeEvents) {
logger.info(inEvents);
EventPrinter.print(inEvents);
}
});
siddhiAppRuntime.start();
//Generacion de eventos
try {
inputHandler.send(new Object[]{"{'type':'Polygon'," +
"'coordinates':[[[0.5, 0.5],[0.5, 1.5],[1.5, 1.5],[1.5, 0.5],[0.5, 0.5]]]}"});
} catch (InterruptedException e) {
e.printStackTrace();
}
siddhiAppRuntime.shutdown();
}
Кто-то знает, что происходит?