Commit Graph

26 Commits

Author SHA1 Message Date
Konstantina Galouni e29090ae66 Merge pull request 'Merge log4j2 branch into master, before deleting log4j2 branch' (#1) from log4j2 into master
Reviewed-on: #1
2023-10-24 12:46:08 +02:00
Konstantina Galouni d2f181a6c1 [Orcid Service | log4j]: pom.xml: Added <version>${spring-boot-version}</version> in <artifactId>spring-boot-maven-plugin</artifactId>. 2023-10-24 13:43:31 +03:00
Konstantina Galouni 189602566d [Orcid Service | log4j]: SwaggerConfig.java: Updated swagger to add separate folders for libraries. 2022-10-20 10:31:30 +03:00
Konstantina Galouni 25d12c9c2a pom.xml: Updated parent and versions of libraries | Moved to log4j2 & set spring log file as default | Added swagger 2022-10-10 15:34:08 +03:00
Konstantina Galouni e066e0aa35 [Trunk | Orcid Service]: ContentNotFoundException.java & WorkController.java: [Bug fix] Added missing file for ContentNotFoundException. 2022-09-07 14:25:57 +03:00
Konstantina Galouni a08f5ddc77 Adding .gitignore 2022-08-31 16:32:19 +03:00
Konstantina Galouni 443f4b8bdf [Trunk | Orcid Service]: WorkController.java & ExceptionsHandler.java: Added "contentNotFoundException" handler. 2022-08-31 13:09:53 +00:00
Konstantina Galouni 3956c6c2b5 [Trunk | Orcid Service]: pom.xml: Updated uoa-authorization-library dependency to 2.1.0. 2021-12-08 09:33:50 +00:00
Konstantina Galouni b805c680c0 [Trunk | Orcid Service]: pom.xml: Updated to 1.0.1-SNAPSHOT current version and to 2.0.3 uoa-authorization-library. 2021-11-30 12:04:35 +00:00
Konstantina Galouni dad296a633 [Trunk | Orcid Service]:
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).
2021-11-17 22:56:52 +00:00
Konstantina Galouni b1dadbb11d [Trunk | Orcid Service]: pom.xml: Added repository "dnet45-releases" to be able to find authorization-library (released on http://maven.research-infrastructures.eu/nexus/content/repositories/dnet45-releases/eu/dnetlib/) 2021-10-11 12:24:15 +00:00
Konstantina Galouni 604f5d790c [Trunk | Orcid Service]:
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".
2021-10-07 13:14:02 +00:00
Konstantina Galouni 7b572041aa [Trunk | Orcid Service]: pom.xml:
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.
2021-10-05 21:13:55 +00:00
Konstantina Galouni 6f94e1d5f6 [Trunk | Orcid Service]: MetricsService.java: Run "calculateMetrics()" method once a day at midnight. 2021-09-30 17:39:50 +00:00
Konstantina Galouni ca6f47e7d6 [Trunk | Orcid Service]: MetricsService.java: a. Do not save in DB previous metrics (only current) | b. If one metric query does not respond correctly, do not update metrics. 2021-09-15 21:53:34 +00:00
Konstantina Galouni 2273f3c295 [Trunk | Orcid Service]:
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).
2021-09-10 07:57:45 +00:00
Konstantina Galouni 6a714c115c [Trunk | Orcid Service]:
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.
2021-07-08 11:02:27 +00:00
Konstantina Galouni 56eb48686d [Trunk | Orcid Service]:
1. OrcidServiceCheckDeployController.java: [NEW] Controller added and 
	a. "hello()" method (@RequestMapping(value = {"", "/health_check"}, method = RequestMethod.GET)) which just prints and returns a greeting message.
	b. "checkEverything()" method @RequestMapping(value = "/health_check/advanced", method = RequestMethod.GET) only accessible by PORTAL ADMINS which checks connection with db and prints properties.
2. ResultIdAndWork.java & Work.java: Added field "dashboard" (in ResultInWork class, default value is "production_explpre") and its getters and setters.
3. UserTokens.java: Added field "creationDate" and its getters and setters.
4. UserTokensService.java: Call setCreationDate() method with current Date in "saveUserTokens()" method.
5. WorkController.java: Call setDashboard() method with dashboard value from parameter of type ResultIdAndWork in "saveWork()" method.
6. update_db.js: Script with methods "setUserTokenCreationDate()" (use date of first work for this orcid) and "setDashboardInWorks()" (set all to "production_explore").
2021-04-22 09:55:57 +00:00
Konstantina Galouni 69f9eb6df6 [Trunk | Orcid Service]:
1, WorkController.java: In method "updateWork()" (/orcid/work/update/{putCode}), if ORCID does not return HttpStatus.OK, 
	return AuthorizationServiceException (for HttpStatus.UNAUTHORIZED), ConflictException (for HttpStatus.CONFLICT) or Exception instead of null.
2021-03-11 02:19:36 +00:00
Konstantina Galouni ddefdc5056 [Trunk | Orcid Service]:
1. RecordController.java: Comment file RecordController.java, since it is not used by portal (to be deleted).
2. WorkController.java: Use "apiUrl" property for requests to ORCID API (not string set in the code).
2021-02-24 19:41:03 +00:00
Konstantina Galouni f72dcedbd5 [Trunk | Orcid Service]: UserTokensController.java: In "getPersonalDetailsFromOrcid()" method (/orcid/personal-details), when getting error response from ORCID API, throw Exception. 2021-02-24 10:38:44 +00:00
Konstantina Galouni 92a487e3f8 [Trunk | Orcid Service]:
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.
2021-02-14 22:52:16 +00:00
Konstantina Galouni 7d6d590cb8 [Trunk | Orcid Service]: OrcidConfig.java: Missing configuration file from previous commit. 2021-02-08 09:56:00 +00:00
Konstantina Galouni d86ea2a8fa [Trunk | Orcid Service]:
1. orcidservice.properties: Added properties "apiURL", "tokenURL", "clientId", "clientSecret" for ORCID API.
2. log4j.properties: Added configuration for ORCID log file "uoa-orcid-service-orcid.log".
3. UoaOrcidServiceApplication.java: Added "OrcidConfig.class" in "@EnableConfigurationProperties".
4. SimpleErrorController.java: If body.path.contains("/uoa-orcid-service/orcid"), log error in ORCID log file too.
5. UserTokensService.java: Added method "getEncryptedUserTokensByAai()".
6. UserTokensController.java: 
	a. Added ORCID log file for responses by ORCID API.
	b. Added @Autowired OrcidConfig for getting ORICD token url, client and secret from properties.
	c. Added method "getUserOrcidId()" (/local/orcidId)
	d. Added method "getPersonalDetailsFromOrcid()" (/orcid/personal-details)
	e. Renamed "/orcid/tokens/decrypt" to "/local/tokens/decrypt" & "/orcid/tokens/encrypt" to "/local/tokens/encrypt".
7. Work.java: Added field "updateDate".
8. WorkDAO.java & MongoDBWorkDAO.java: Added methods "List<Work> findByOrcidOrderByCreationDateDesc(String Orcid);" and "Work findByPutCode(String putCode);".
9. WorkService.java: 
	a. Added method "getLocalWorkByPutCode()".
	b. Method "getLocalWorks()" returns works ordered by most recent creation date.
10. WorkController.java:
	a. Added ORCID log file for responses by ORCID API.
	b. Added @Autowired OrcidConfig for getting ORICD token url, client and secret from properties.
	c. Added "charset=UTF-8" in all Content-Type request headers.
	d. Renamed "/orcid/put-code" to "/local/put-code".
	e. Added method "List<List<Work>> getLocalWorks(@RequestBody String[][] pids)" (/local/works).
	f. Added method "List<Work> getMyLocalWorks()" (/local/works).
	g. Added method "updateWork()" (/orcid/work/update/{putCode}).
	h. Added method "getWorksByPutCodes()" (/orcid/works).
2021-02-08 09:54:52 +00:00
Konstantina Galouni 93acb15d2d [Trunk | Orcid Service]: Initial commit in trunk folder. The API is already partially implemented and running (configuration, controllers, services, DAOs, entities, handlers, responses, properties). 2021-01-14 11:31:25 +00:00
Konstantina Galouni cb05250ee5 Adding the trunk and branches folders for the project. 2021-01-14 10:54:34 +00:00