Есть ли инструмент для преобразования моего GWT RemoteServiceServlet в правильные интерфейсы Service и ServiceAsync? - PullRequest
1 голос
/ 22 сентября 2009

Я работаю над проектом GWT и считаю очень утомительным добавление функции в мой сервлет, затем копирование и вставку сигнатуры функции в мой интерфейс Service, затем копирование и вставку ее в мой интерфейс ServiceAsync и изменение возвращаемый параметр для обратного вызова. Есть ли инструмент или параметр, где я могу просто добавить открытые методы в свой класс, и они могут быть скопированы в другие интерфейсы? Даже если он не автоматический, было бы неплохо иметь возможность выбирать определенные методы и автоматически копировать их.

Я использую eclipse, и в идеале он будет обновлять мой интерфейс каждый раз, когда я сохраняю реализацию, поскольку именно тогда он проверяет мой код и жалуется, что мои изменения нарушают интерфейс.

Ответы [ 3 ]

1 голос
/ 23 сентября 2009

Если вы добавите метод к интерфейсу *Service, Eclipse может автоматически сгенерировать метод («Добавить невыполненные методы ...») в ваш сервлет *ServiceImpl, который затем можно будет просто заполнить. Также, если у вас установлен плагин Google Eclipse , он подчеркнет новый метод в вашем *Service интерфейсе и пожалуется, что его нет в *ServiceAsync. Возможно, у него есть опция CTRL + 1 для генерации в этом интерфейсе.

0 голосов
/ 23 января 2010

Экземпляры WindowBuilder GWT Designer делает именно то, что вы ищете. Мастер RemoteService создаст все три файла одновременно, а также синхронизирует их по мере внесения изменений.

http://www.instantiations.com/windowbuilder/gwtdesigner/index.html

FWIW - я только пользователь / покупатель этого продукта. Я не работаю или иным образом не связан с учреждениями.

0 голосов
/ 23 сентября 2009

Вам не нужен инструмент. Просто выделите множество методов RPC только одним методом, который принимает запрос / ответ. все, что вам нужно сделать, это создать подклассы Запрос / Ответ, и вам не нужно думать о добавлении новых методов в 2 интерфейса.

Вы можете использовать Google Guice на стороне сервера, чтобы сопоставить входящий запрос с классом, обрабатывающим вызов ... или вы можете использовать подход посетителя, чтобы перенаправить входящий запрос в код, обрабатывающий запрос (не прибегая к большой экземпляр конструкции).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...