2017-01-30 7 views
0

Я отправляю некоторые события для обновления метода прослушивателя в Esper, и я получаю объект, но update() метод переносит его в некоторый Hashmap. Я не могу получить объект оттуда.Невозможно получить доступ к свойствам объекта события в Esper в методе Update Listener

public static class CEPListener implements UpdateListener { 
    public void update(EventBean[] newData, EventBean[] oldData) { 
      // put some condition here before sending to crowd....... 
      System.out.println("Event received: " 
           + newData[0].getUnderlying()); 
      System.out.println("Sending event to crowd.........");  
     } 
    } 

В приведенной выше функции я могу получить нужный мне объект внутри NewData но завернутые в некоторой карте и я не могу найти способ, чтобы восстановить свой объект из него. На нижнем экране newData [0] .getUnderlying() имеет различные атрибуты, и мне нужен объект значения под красным прямоугольником, который я не могу получить в соответствии с object methods. Будем благодарны за помощь. Attributes of newData[0].getUnderlying()

ответ

0

Ok. У меня есть ответ.

   for (EventBean eb : newData) { 
       if (eb instanceof MapEventBean) { 
        //MapEvent event = null; 
        if (eb.getUnderlying() instanceof Map<?, ?>) { 
         Map<?, ?> alert = (Map<?, ?>) eb.getUnderlying(); 
         for (Entry<?, ?> entry : alert.entrySet()) 
         { 
          System.out.println(entry.getValue()); 
         } 


        }