ОШИБКА при использовании siddhi-gpl-execute-geo (в функции intersect, WithinDistance) в приложении android - PullRequest
0 голосов
/ 18 апреля 2020

Я использую это расширение в своем приложении 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();

    }

Кто-то знает, что происходит?

...