Исключение компиляции Janino: шаг UDJC

Заранее спасибо за вашу поддержку.

На шаге UDJC следующий код дает мне исключение Janino,

В методе processRow

Hashtable hastable=getConfigData() // This method return Hashtable 

Set set=hashtable.get("ERROR_2001").keySet(); ---> //hashtable.get("ERROR_2001"), This returns another hashtable

Исключение: метод с именем "keySet" не объявлен ни в каком классе включения, ни в каком-либо супертипе, ни через статический импорт.

На форумах я не мог найти решение проблемы, чтобы это исправить. Я использую JDK 1.7 и PDI 5.1 (последняя загрузка)

1 ответ

Решение

AFAIK, вы не можете использовать дженерики в Janino, поэтому Janino не может определить точный класс объекта, возвращаемого hashtable.get("ERROR_2001") метод, поэтому он предполагает, что Object возвращается, который не имеет keySet() метод определен. Попробуйте разыграть результат hashtable.get("ERROR_2001") к классу значений, содержащихся в вашем hashtable коллекция:

Hashtable errorEntry = (Hashtable) hashtable.get("ERROR_2001");
Set set = errorEntry.keySet(); 
Другие вопросы по тегам