LINUX.ORG.RU

DTO: java to C#

 ,


0

1

Доброго времени.

Коллеги с соседнего проекта хотят странного - у них есть jar с набором POJO, они хотят их сконвертить в описание классов на C#. Нет ни xsd, ни wsdl, это объекты для rest клиента. Может кто-нибудь знает, как можно реализовать? Думал в сторону protobuf и даже ручного разбора метаданных этих классов, но самым простым кажется вариант с декомпиляцией классов из jar, сохранения сорцов и ручной замены нужных конструкций. Но тут, опять таки, с маппингом типов непонятно что делать. Классов, говорят, очень много.

Нет ли у господ идей?

Нет ли у господ идей?

Ответить себе на вопрос «Зачем?» и перестать заниматься ерундой?

Zhbert ★★★★★
()

но самым простым кажется вариант с декомпиляцией классов из jar, сохранения сорцов и ручной замены нужных конструкций.

Небольшой groovy скрипт, который через reflection сгенерит c# портянки, будет гораздо проще.

bj
()
Ответ на: комментарий от Zhbert

Ерунда в данном случае - диванное теоретизирование. Есть задача, она описана в сабже.

bytecode ★★
() автор топика
Ответ на: комментарий от Legioner

Можно и reflection, но писать долго, им нужно asap. Рассматривал идею со schemagen, который умеет java файлы без JAXB аннотаций, но если хоть в одном из натравливаемых классов не будет дефолтного конструктора, то ой.

bytecode ★★
() автор топика
Ответ на: комментарий от bytecode

По-моему всё быстро и просто пишется. Пробежался по классам, получил список свойств, выплюнул портянку на C#.

Legioner ★★★★★
()
Ответ на: комментарий от stevejobs

Да, уже тоже сюда набрел. Написать самому тоже интересно, но не было времени. Тема как-то в итоге отмерла.

Всем спасибо за советы.
2 Zhbert плохого ничего сказать не хотел, мои пардоны.

bytecode ★★
() автор топика
Ответ на: комментарий от bytecode

Написать самому тоже интересно, но не было времени.
Можно и reflection, но писать долго, им нужно asap.

если там действительно pojo, то синтаксис джавовских классов супер простой, за день можно написать

stevejobs ★★★★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.