Split user provided and auto-generated metadata
ElasticSearch returns search results as JSON files which have three top level entries for us to parse: "project", "file", and "metadata". Change the class structure to match this hierarchy. This means, that the mapping from JSON to Java objects just works and we can pass the data on to the front-end in the same structure as the back-end received it. This allows the separation of the "standardized" metadata which is provided by the platform's users and our implementation-detail metadata, such as GitLab related data. This way, no conflicts arise when a new key is introduced to the metadata standard.
Showing
- src/main/java/at/ac/uibk/gitsearch/repository/search/MetaDataRepository.java 3 additions, 33 deletions.../uibk/gitsearch/repository/search/MetaDataRepository.java
- src/main/java/at/ac/uibk/gitsearch/service/SearchService.java 26 additions, 27 deletions...main/java/at/ac/uibk/gitsearch/service/SearchService.java
- src/main/java/at/ac/uibk/gitsearch/service/dto/SearchResultDTO.java 115 additions, 352 deletions...ava/at/ac/uibk/gitsearch/service/dto/SearchResultDTO.java
- src/main/java/at/ac/uibk/gitsearch/service/dto/SearchResultsDTO.java 0 additions, 173 deletions...va/at/ac/uibk/gitsearch/service/dto/SearchResultsDTO.java
- src/main/java/at/ac/uibk/gitsearch/service/dto/UserProvidedMetadataDTO.java 471 additions, 0 deletions...c/uibk/gitsearch/service/dto/UserProvidedMetadataDTO.java
Please register or sign in to comment