entaxy-public/platform/runtime/modules/atlasmap/atlasmap-entaxy-libs/README.md
2024-12-14 04:07:49 +03:00

43 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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") - это приводило к ошибке