UNOMI-356 Refactor REST API
- A new RestServer class is responsible for creating a single JAX RS Server
- Service beans must register with the OSGi service registry and setup the following property: osgi.jaxrs.resource=true (this property comes from OSGi R7 so that we can then migrate to OSGi R6 JAX RS whiteboard once we are on OSGI R7)
- All JAX RS service beans are now register, not just the ones in the "rest" subproject
- Swagger UI is integrated by default, although we might make it optional in the future.
- Upgraded all OSGi JARs from version 4.3.1 to 6
- Remove usage of Blueprint in the "rest" subproject as it is no longer needed, it is replaced by OSGi DS annotations
- Removal of Miredot Maven plugin to generate REST API documentation as it is replaced by Swagger/OpenAPI generation.

Despite these changes the REST API is 100% compatible with the previous integration, which was by design a requirement.
54 files changed
tree: 240a13175c7e27fdf272e09fd3a939ab173e4353
  1. api/
  2. common/
  3. docker/
  4. extensions/
  5. graphql/
  6. itests/
  7. kar/
  8. lifecycle-watcher/
  9. manual/
  10. metrics/
  11. package/
  12. performance-tests/
  13. persistence-elasticsearch/
  14. persistence-spi/
  15. plugins/
  16. rest/
  17. samples/
  18. services/
  19. src/
  20. tools/
  21. wab/
  22. .gitignore
  23. buildAndRun.sh
  24. buildAndRunNoTests.sh
  25. BUILDING
  26. compileDeploy.sh
  27. generate-package.sh
  28. generate-site-and-upload.sh
  29. generate-site.sh
  30. KEYS
  31. LICENSE
  32. license-mappings.xml
  33. MERGING-PULL-REQUESTS
  34. NOTICE
  35. NOTICE.template
  36. pom.xml
  37. README.md
  38. release-audit.sh
  39. setenv.sh
  40. update-notice.sh
README.md

Build Status Maven Central

Apache Unomi

Apache Unomi stores user profile information and is mostly used to provide a backend server for A/B testing and personalization. To do so it implements the currently under development OASIS Context Server specification.

License

The source code is available under the Apache License V2

Documentation

You can find all the updated documentation, including building and deployment instructions, on the Apache Unomi web site.