43 lines
3.2 KiB
Markdown
43 lines
3.2 KiB
Markdown
|
# ATLASMAP :: ENTAXY :: REST API
|
|||
|
|
|||
|
Реализация rest-сервиса для работы AtlasMap UI. Данные проект скомпанован из нескольких отдельных Maven проектов в рамках [AtlasMap 2.5.2](https://github.com/atlasmap/atlasmap/tree/atlasmap-2.5.2/lib). Из перенесённого UI были убраны часть фич для упрощения - например, работа с Java объектами и возможность их подгрузить для конвертации. На текущий момент оставили поддержку xml и json.
|
|||
|
Для работы необходимо установить следующие бандлы:
|
|||
|
- install mvn:ru.entaxy.esb.temp/atlasmap-entaxy-management/1.9.0-SNAPSHOT
|
|||
|
- install mvn:ru.entaxy.esb.ui.hawtio/entaxy-atlasmap-plugin/1.9.0-SNAPSHOT/war
|
|||
|
- install mvn:com.fasterxml.jackson.module/jackson-module-jsonSchema/2.9.10
|
|||
|
- install mvn:ru.entaxy.com.sun.xsom/xsom/1.9.0-SNAPSHOT
|
|||
|
- install wrap:mvn:relaxngDatatype/relaxngDatatype/20020414
|
|||
|
- install mvn:ru.entaxy.esb.temp/atlasmap-entaxy-services/1.9.0-SNAPSHOT
|
|||
|
- install mvn:ru.entaxy.esb.temp/atlasmap-entaxy-ui/1.9.0-SNAPSHOT/war
|
|||
|
|
|||
|
После успешной установки:
|
|||
|
|
|||
|
590 │ Active │ 80 │ 1.9.0.SNAPSHOT │ ENTAXY :: ATLASMAP :: MANAGEMENT
|
|||
|
|
|||
|
593 │ Active │ 80 │ 1.9.0.SNAPSHOT │ ENTAXY :: UI :: HAWTIO :: ENTAXY ATLASMAP
|
|||
|
|
|||
|
600 │ Active │ 80 │ 2.9.10 │ jackson-module-jsonSchema
|
|||
|
|
|||
|
601 │ Active │ 80 │ 1.9.0.SNAPSHOT │ ENTAXY :: ATLASMAP :: XSOM
|
|||
|
|
|||
|
603 │ Active │ 80 │ 0 │ wrap_mvn_relaxngDatatype_relaxngDatatype_20020414
|
|||
|
|
|||
|
608 │ Active │ 80 │ 1.9.0.SNAPSHOT │ ENTAXY :: ATLASMAP :: REST API
|
|||
|
|
|||
|
612 │ Active │ 80 │ 1.9.0.SNAPSHOT │ ENTAXY :: ATLASMAP :: UI
|
|||
|
|
|||
|
|
|||
|
## Обратить внимание
|
|||
|
|
|||
|
1. Список TODO в коде - одна из проблем была с совместимостью Jackson. В Camel 3.4.5 используется старая версия 2.9.х, а в AtlasMap уже 2.12. Они почти совместимы, кроме одной константы - MapperFeature.BLOCK_UNSAFE_POLYMORPHIC_BASE_TYPES - её пришлось закомментировать в коде.
|
|||
|
|
|||
|
2. Проект XSOM - был перенесён к нам
|
|||
|
|
|||
|
3. В Java есть своя реализация Dependency Injection - java.util.ServiceLoader - при помощи этого механизма подгружаются готовые реализации преобразований полей в io.atlasmap.core.DefaultAtlasFieldActionService. Для работы нужны описания - это файлы в META-INF/services
|
|||
|
|
|||
|
4. Подгрузка модулей работы с различными форматами идёт в io.atlasmap.core.DefaultAtlasContextFactory из файла META-INF/services/atlas/atlas.module - пока там JSON и XML
|
|||
|
|
|||
|
5. В корне resources нужен файл atlasmap.properties с версией
|
|||
|
|
|||
|
6. Из UI был убран двойной content-type при вызове @Path("/fieldActions") - это приводило к ошибке
|