Esper: concatenamento dell'accesso alla proprietà e chiamate di metodo nelle query EPL

StackOverflow https://stackoverflow.com/questions/4934429

  •  30-10-2019
  •  | 
  •  

Domanda

Attualmente sto lottando per far funzionare alcune domande EPL EPL. Le domande sembrano così:

select a.center.distance(b.center) as delta
from pattern [
    every-distinct(a.id, b.id) (
        a=org.example.PositionEvent -> b=org.example.PositionEvent
    )
]

Quando provo a compilare questo in un EPLStatement attraverso EPAdministrator.createEPL() lancia la seguente eccezione:

com.espertech.esper.client.epstatementException: errore di avvio di errore: Impossibile caricare la classe per nome 'A.Center', controlla le importazioni

Se modifico le classi di eventi e la query da leggere in questo modo

select a.distance(b) as delta
from pattern [
    every-distinct(a.id, b.id) (
        a=org.example.PositionEvent -> b=org.example.PositionEvent
    )
]

Compila bene. Esper sembra interpretare a.center.distance(...) Come nome di classe seguito da un invocazione del metodo statico, mentre interpreta a.distance(...) come un metodo chiamata sull'oggetto a.

Come posso far interpretare ESPer la mia query originale come previsto (cioè come accesso alla proprietà seguito da un'invocazione del metodo)?

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top