Vaadin & Joda DateTime - PullRequest
       9

Vaadin & Joda DateTime

3 голосов
/ 26 мая 2011

Я использую vaadin 6.6 и joda DateTime 1.6.2. Я использую решение, описанное в Как использовать DateField со свойством Joda DateTime?

Значение установлено / получено правильно, но, к сожалению, я получаюИсключение преобразования:

Исключение - исключение внутри BeanValidationValidator:

метод - JodaDateTime, а значение - java.util.Date. JodaTime нельзя назначить из даты. JodaTime не имеет конструктора String

private Object convertValue(Object value)
        throws Property.ConversionException {
    // Try to assign the compatible value directly
    if (value == null
            || method.getType().isAssignableFrom(value.getClass())) {
        return value;
    } else {
        try {
            // Gets the string constructor
            final Constructor constr = method.getType().getConstructor(
                    new Class[] { String.class });

            return constr.newInstance(new Object[] { value.toString() });

        } catch (final java.lang.Exception e) {
            throw new Property.ConversionException(e);
        }
    }
}

У вас есть идеи ???

Ответы [ 2 ]

0 голосов
/ 01 июня 2012

Взгляните на PopupDateTimeField.java Вы также можете использовать PropertyConverter

0 голосов
/ 07 ноября 2011

Я не пробовал это сам, но из того, что я вижу в BeanValidationValidator, вам нужно было бы также расширить это и добавить неявные преобразования между JodaTime и java.util.Date.

По крайней мереметод BeanValidationValidator.validate (Object) должен обработать это преобразование.

...