Vaadin редактировать JSON ответ - PullRequest
0 голосов
/ 29 марта 2011

Я использую Vaadin в качестве основы для представления уровня представления для моего приложения. У меня проблема с листингом Vaadin Table. Я загружаю 1000 строк с 5 столбцами (да, мне нужно загрузить все 1000, есть также возможность загружать меньше. =)), Но это не очень быстро при использовании Vaadin. Когда я смотрю на отправленный Json, я понимаю, что существует множество переменных, которые я не хочу отправлять для строки таблицы everu.

Это мой ответ на данный момент:

"domaindom-000000938.co_uk",
    ["17",
        {"id": "PID783","readonly":true,"locale": "en_EN","format": "yyyy-MM-dd","strict":true,"wn":false,"parsable":true,
            "v":{"day":7,"month":2,"year":2011}}],
    ["17",
        {"id": "PID784","readonly":true,"locale": "en_EN","format": "yyyy-MM-dd","strict":true,"wn":false,"parsable":true,
            "v":{"day":7,"month":2,"year":2011}}],
    ["17",
        {"id": "PID785","readonly":true,"locale": "en_EN","format": "yyyy-MM-dd","strict":true,"wn":false,"parsable":true,
            "v":{"day":7,"month":2,"year":2012}}],
    "","","ENG"],
    ["tr",{"key":206},"

Я хотел бы преобразовать этот Json, чтобы он больше походил на

"domaindom-000000938.co_uk",
    ["17",
        {"id": "PID783","locale": "en_EN",,"strict":true,"wn":false,"v1":"2011-07-02", "v2":"2011-02-07", "v3":"2012-02-07"}],

Как видите, я удалил пару переменных и вставил переменную даты в те же пункты.

Так что мой вопрос таков. В Vaadin, как мне изменить способ, которым Vaadin создает ответ Json? В настоящее время я использую BeanItemContainer для хранения моих объектов следующим образом:

public BeanItemContainer getPagedDataSource(){
    List<Object> mylist = DAO.getDAO().createQuery(query, index, max);
    return new BeanItemContainer<Object>(type, mylist);
}

Спасибо за любую помощь или обратную связь!

/ Marthin

Ответы [ 2 ]

1 голос
/ 29 марта 2011

Ваадин сегодня работает беспрецедентно.Все изменится, в приложении необходимо отправить клиенту.На стороне клиента каждый компонент обрабатывается отдельно, и поэтому ответ должен касаться всех измененных компонентов.Каждая строка в таблице является отдельным компонентом, потому что ответ очень длинный.

Мое предлагаемое решение:

  • написать собственную реализацию таблицы - hard
  • наложение ограничений - легко, но это протез
1 голос
/ 29 марта 2011

Во-первых, этот JSON является частью внутренней коммуникации Vaadin, и вам не следует его изменять.Однако, если вы хотите проверить это, это JsonPaintTarget вместе с методом paintContent рассматриваемого компонента (таблица), который создает JSON.

...