making changes in schema-core for system API
Previously merged MRs:
Interface changes in schema-core- !145 (merged)
Implementing interfaces in azure- !146 (merged)
Implementing interfaces in other CSPs- !153 (merged)
This MR contains following changes-
Changes in schema-core
- The interfaces such as
IEntityTypeServicehave been updated to include methods for handling system operations, such as creating authority for system schemas etc.
- New API controller has been added
SchemaServiceclass has been updated to handle systemSchema related requests. This class contains core logic and some major refactoring has been done. Minor refactoring in util classes
- Main theme of the changes in schemaService class is that all the method calls for
commonpartition have been replaced by system method calls of underlying interfaces. To avoid duplication, some code refactoring has been done.
AuthorizationFilterhas been introduced for service principal autorization. Most of the code has been borrowed from partition service https://community.opengroup.org/osdu/platform/system/partition/-/blob/master/partition-core/src/main/java/org/opengroup/osdu/partition/auth/AuthorizationFilter.java
- Updated Unit tests
Provider specfic changes
- For each provider, the
AuthorizationServiceForServicePrincipalImplhas been implemented. Logic has been borrowed from partition service.
- Bootstrapping script has been updated to use the new schemas/system API
- Cleanup for azure
- Integration tests have been added under schema-test-core and available for all the CSPs. The tests are more or less same as the PUT /schema API
- The API documentation has been updated