GWT + сгенерированные JAXB классы.
От: Chuprin  
Дата: 27.05.11 13:19
Оценка:
Добрый день.
Есть ли у кого-нибудь опыт работы с подобной связкой?
У нас имеется устоявшееся архитектура (XSD + WSDL) по которой генерируются типы данных (JAXB) и веб-сервисы соответственно.
На данный момент я провожу эксперименты по построению фронтэнда на Google Web Toolkit.
В клиентской части хочется использовать ту же доменную модель, что и используется во всех наших проектах.
Хочется, но не можется…

JAXB при генерации java-кода добавляет кучу своих аннотаций и создает XMLGregorianCalendar для полей дат.
Аннотации это еще ладно, насколько я понял, они никоим образом не аффектят js-код. Но классы…
Компилятор GWT матерится, что не может найти исходники для классов:
No source code is available for type javax.xml.datatype.XMLGregorianCalendar
No source code is available for type javax.xml.namespace.QName
No source code is available for type javax.xml.bind.JAXBElement<T>


И я могу его понять Ведь он компилирует только файлы модулей, от которых наследуется.

Есть ли более красивый способ решения проблемы, кроме как скопировать исходники этих файлов внутрь проект?
Ну или хотя бы делать это как-то Maven'ом?
Другие варианты?
gwt jaxb
Re: GWT + сгенерированные JAXB классы.
От: Blazkowicz Россия  
Дата: 27.05.11 13:34
Оценка:
Здравствуйте, Chuprin, Вы писали:


C>Есть ли более красивый способ решения проблемы, кроме как скопировать исходники этих файлов внутрь проект?

C>Ну или хотя бы делать это как-то Maven'ом?
C>Другие варианты?
Перейти таки на DTO
Отказаться от JAXB
Ну или мучатся с воркэраундами для GWT:
http://stackoverflow.com/questions/3203878/how-to-use-jaxb-annotations-in-the-client-side-for-gwt
Re[2]: GWT + сгенерированные JAXB классы.
От: Chuprin  
Дата: 27.05.11 13:43
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Здравствуйте, Chuprin, Вы писали:

B>Перейти таки на DTO
B>Отказаться от JAXB

Была б моя воля…Тут огромная архитектура с десятками сервисов. В ообщем полный SOA
Да, видел этот вопрос. Ну да, там про аннотации. Так как они не компилируются в js а нужны только на этапе прекомпиляции Java, то их можно скопировать.
Но что с реальными классами? К примеру XMLGC там вообще придется весь сдк перенести к себе в проект.
Re[3]: GWT + сгенерированные JAXB классы.
От: Blazkowicz Россия  
Дата: 27.05.11 13:46
Оценка:
Здравствуйте, Chuprin, Вы писали:

C>Но что с реальными классами? К примеру XMLGC там вообще придется весь сдк перенести к себе в проект.

Только XMLGC или ещё что? По-моему его можно заменить на Date и дописать какие-то аннотации, чтобы выкинуть.
Re[3]: GWT + сгенерированные JAXB классы.
От: Blazkowicz Россия  
Дата: 27.05.11 13:49
Оценка:
Здравствуйте, Chuprin, Вы писали:

C>Была б моя воля…Тут огромная архитектура с десятками сервисов. В ообщем полный SOA :)

C>Да, видел этот вопрос. Ну да, там про аннотации. Так как они не компилируются в js а нужны только на этапе прекомпиляции Java, то их можно скопировать.
C>Но что с реальными классами? К примеру XMLGC там вообще придется весь сдк перенести к себе в проект.
http://stackoverflow.com/questions/4666988/in-jaxb-how-to-use-xmljavatypeadapters-annotation
Re[4]: GWT + сгенерированные JAXB классы.
От: Chuprin  
Дата: 27.05.11 13:50
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Здравствуйте, Chuprin, Вы писали:


C>>Но что с реальными классами? К примеру XMLGC там вообще придется весь сдк перенести к себе в проект.

B>Только XMLGC или ещё что? По-моему его можно заменить на Date и дописать какие-то аннотации, чтобы выкинуть.

Ну пока я встретился с XMLGC, QName и JAXBElement.
От XMLGC еще можно избавится, но и то придется генерировать новый артифакт только для GWT, так как все сервисы завязаны на XMLGC.
Re[4]: GWT + сгенерированные JAXB классы.
От: Chuprin  
Дата: 27.05.11 13:57
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Здравствуйте, Chuprin, Вы писали:


B>http://stackoverflow.com/questions/4666988/in-jaxb-how-to-use-xmljavatypeadapters-annotation

Да, да. Все вопросы на SO на тему смотрел.
Тогда вопрос, как бы мавеном скопировать исходники нужных классов, внутрь проекта. Ну не руками же…
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.