У меня есть один List box
, и я хотел бы задать его тип кода.Eclipse Scout Neon: тип кода не работает
создать новый AbstractCodeType
:
public class MyCodeType extends AbstractCodeType<String, String> {
private static final long serialVersionUID = 6808664924551155395L;
public static final String ID = null;
@Override
public String getId() {
return ID;
}
@Order(10.0)
public static class UnknownCode extends AbstractCode<String> {
private static final long serialVersionUID = -1307260056726644943L;
public static final String ID = "Unknown";
@Override
protected String getConfiguredText() {
return TEXTS.get("Unknown");
}
@Override
public String getId() {
return ID;
}
}
}
и я установить этот тип кода в списке:
@Override
protected Class<? extends ICodeType<?, String>> getConfiguredCodeType() {
return MyCodeType.class;
}
Но не работает. Он возвращает пустой ящик.
Пока я отладки я заметил, что в AbstractListBox.class
в initConfig
методе называют этот тип кода и установить тип кода в m_lookupCall
внутри setCodeTypeClass
. Затем внутри execLoadTableData
он получает call
, но этот вызов возвращает пустой массив при вызове call.getDataByAll()
.
Я подозреваю, что преобразование между типом кода и вызовом Lookup не работает должным образом.
EDIT
Я пытаюсь отлаживать, где есть проблема, и если следовать по пути:
initConfig() -> CodeLookupCall.newInstanceByService(m_codeTypeClass); (line 581)
и если вы посмотрите внутрь CodeLookupCall
;
getDataByAll() in line 221 `resolveCodes(v)` -> BEANS.opt(m_codeTypeClass) -> bean.getInstance() -> m_producer.produce(this) -> return (T) getCache().get(createCacheKey(type));
Это в классе CodeService.class в строке 97:
Class<T>
тип подходит класс и createCacheKey(type)
возвращение не нулевой объект, а затем getCache().get(...)
возвращение null
. С этого момента все имеет значение null (что разумно относительно того, что getCodeType возвращает null.)
Это то, что я обнаружил при отладке, если это помогает кому-то выяснить, что не так.
У меня есть мой тип кода в совместном проекте, как в старых версиях Scout –
Вы уверены, что ваш инвентарь Jandex для этого проекта является актуальным? См. Собственный вопрос: http://stackoverflow.com/questions/34673540/eclipse-scout-neon-service-registry-does-not-contain-a-service-of-type – Jmini