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.