}
@Override
protected void convertInput()
{
final KontoDO konto = (KontoDO) getConverter(getType()).convertToObject(getInput(), getLocale());
setConvertedInput(konto);
}
@Override
public IConverter getConverter(final Class type)
{
return new IConverter() {
@Override
public Object convertToObject(final String value, final Locale locale)
{
if (StringUtils.isEmpty(value) == true) {
getModel().setObject(null);
return null;
}
final int ind = value.indexOf(" ");
final String kontonummerString = ind >= 0 ? value.substring(0, ind) : value;
final Integer kontonummer = NumberHelper.parseInteger(kontonummerString);
final KontoDO konto;
if (kontonummer != null) {
konto = kontoDao.getKonto(kontonummer);
} else {
konto = null;
}
if (konto == null) {
error(getString("fibu.konto.error.invalidKonto"));
}
getModel().setObject(konto);
return konto;
}
@Override
public String convertToString(final Object value, final Locale locale)
{
if (value == null) {
return "";
}
final KontoDO konto = (KontoDO) value;
return konto.formatKonto();
}
};
}
};
kontoTextField.enableTooltips().withLabelValue(true).withMatchContains(true).withMinChars(2).withAutoSubmit(false).withWidth(400);