Исключение компиляции 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();