Мы пытаемся создать структуру графического интерфейса с помощью GWT. Нам трудно реализовать функцию отмены в фреймворке.
Обязательная функция это:
У нас есть экраны CRUD с всплывающими окнами, сетками и так далее. Когда пользователь изменяет что-либо в графическом интерфейсе, а затем нажимает кнопку «Отменить()», ему должно быть выдано сообщение с уведомлением о том, что что-то изменилось.
Подход, который мы пробовали:
В настоящее время мы пытаемся сохранить хэш-карту ключа и значения всего объекта pojo и пытаемся сравнить ее с моделью, которая обновляется по мере того, как пользователь что-то меняет. Но это добавляет много нежелательного кода в каждый pojo и не работает должным образом, когда пользователь добавляет данные непосредственно из бэкэнда.
Есть ли какой-нибудь элегантный способ достижения этой функциональности? Пожалуйста, обратите внимание, что *мы не используем структуру редактора GWT *(https://developers.google.com/web-toolkit/doc/latest/DevGuideUiEditors) в нашем применение.
Пример: Предположим, у меня есть такое pojo:
public class Person {
List<Address> address;
PhoneNumber phoneData;
// and so on along with getters and setters
}
Как мне написать общий метод клонирования для этого? И даже если мне удастся это сделать каким-то образом, это приведет к большому количеству кода в каждом pojo (в нашем приложении их сотни), что кажется неправильным.
Обратите внимание, что наше pojo обновляется, как только что-то изменяется в графическом интерфейсе для достижения живой привязки.
clone()
), а затем сравнить отредактированный POJO со снимком (equals()
)? - person Thomas Broyer   schedule 09.01.2013