1. pom.xml: Updated version of "uoa-authorization-library" from 1.0.0 to 2.0.1.
2. GlobalVars.java: Added field "version" (version of project in pom).
3. OrcidServiceCheckDeployController.java: Expose globalBars.version in /health_check/advanced.
4. orcidservice.properties: Added orcidservice.globalVars.version=@version@ (initialized by pom version).
1. MetricsController.java: Added @PreAuthorize in "calculateMetrics()" (/report/calc) method, to be executed only by Portal Administrators.
2. pom.xml: Revert from r61634 changes for parent and plugins: now from "dnet45-parent" to "spring-boot-starter-parent".
a. Update parent from "spring-boot-starter-parent" to "dnet45-parent" ==> add <dependencyManagement> and "maven-war-plugin" and comment "spring-boot-maven-plugin".
b. For dependency "uoa-authorization-library", use version 1.0.0 (released version), not 1.0.0-SNAPSHOT.
1. pom.xml:
a. Added timestamp in properties.
b. In <build> added <resources> with filtering set to true.
2. GlobalVars.java: Added GlobalVars class for date of deploy & date of build.
3. UoaOrcidServiceApplication.java:
a. Added @PropertySource("classpath:authorization.properties")
b. In @EnableConfigurationProperties added GlobalVars.class.
4. OrcidServiceCheckDeployController.java: Added exposing date of deploy and date of build.
5. orcidservice.properties: Added property orcidservice.globalVars.buildDate=@timestamp@.
6. Metrics.java: Added class for saving/getting metrics for orcid KPIs.
7. MetricsDAO.java & MongoDBMetricsDAO.java: DAOs to handle new collections in DB (metrics).
8. MetricsService.java: Added methods to calculate and get metrics for orcid KPIs.
9. MetricsController.java: Added API call methods to calculate and return metrics for orcid KPIs (only /report/metrics is needed for Prometheus).
1. pom.xml: Upgrade version of spring boot from 1.5.8.RELEASE to 1.5.11.RELEASE (for custom queries in DB).
2. dao/MongoDBDAOs: Deleted folder MongoDBDAOs and moved its files (MongoDBUserTokensDAO.java, MongoDBWorkDAO.java) to parent (/dao) folder.
3. dao/customDAOs: Added customDAOs folder and files MongoDBUserTokensDAOCustom.java, MongoDBWorkDAOCustom.java (interfaces for custom query methods - for metrics).
4. dao/customDAOsImpl: Added customDAOsImpl folder and files MongoDBUserTokensDAOImpl.java, MongoDBWorkDAOImpl.java (implementation of interfaces for custom query methods - for metrics).
5. services/MetricsService.java: Added service to call custom query methods for metrics.
6. MetricsController.java: Added controller for API methods to expose custom query methods for metrics.
7. WorkDAO.java: Changed method signature "Optional<Work> findById(String Id);" to return Optional<Work>.
8. MongoDBWorkDAO.java: Changed method signature "Optional<Work> findById(String Id);" to return Optional<Work> | [Bug fix] In method "findByPidsInAndOrcid()", first parameter is array, not list.
1. pom.xml: Change version from 2.0.0 to 1.0.0 (not yet released and was set to 2.0.0 as a false copy-paste).
2. UserTokensController.java & WorkController.java: Added @PreAuthorize("isAuthenticated()") in class (some methods were missing that).
3. UserTokensController.java:
a. Change "public String saveUserTokens(...)" to "public SingleValueWrapperResponse<Boolean> saveUserTokens(...)" - Do not return access token!
b. Comment "decryptToken()" (/local/tokens/decrypt) and "encryptToken()" (/local/tokens/encrypt) methods - used for testing.