From ca6f47e7d6e3835e686032bc669c1d9859ecf50a Mon Sep 17 00:00:00 2001 From: "konstantina.galouni" Date: Wed, 15 Sep 2021 21:53:34 +0000 Subject: [PATCH] [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. --- .../services/MetricsService.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/main/java/eu/dnetlib/uoaorcidservice/services/MetricsService.java b/src/main/java/eu/dnetlib/uoaorcidservice/services/MetricsService.java index e4a4861..e422e90 100644 --- a/src/main/java/eu/dnetlib/uoaorcidservice/services/MetricsService.java +++ b/src/main/java/eu/dnetlib/uoaorcidservice/services/MetricsService.java @@ -80,14 +80,14 @@ public class MetricsService { // @Scheduled(cron = "0 0 0 * * ?") // // every 5 mins for testing @Scheduled(cron = "0 0/5 * * * *") - public List calculateMetrics() { + public Metrics calculateMetrics() { log.info("Calculate metrics and add them in DB"); - Optional oldMetrics = metricsDAO.findById("current"); - if(oldMetrics.isPresent()) { - oldMetrics.get().setId("previous"); - metricsDAO.save(oldMetrics.get()); - } +// Optional oldMetrics = metricsDAO.findById("current"); +// if(oldMetrics.isPresent()) { +// oldMetrics.get().setId("previous"); +// metricsDAO.save(oldMetrics.get()); +// } Metrics metrics = new Metrics(); metrics.setId("current"); @@ -96,14 +96,16 @@ public class MetricsService { Map works = (HashMap) totalWorks.get(0); metrics.setTotal_works(works.get("works")); } else { - metrics.setTotal_works(0); + metrics.setTotal_works(-1); + return metrics; } List totalUsers = countTotalUniqueUsers(); if(totalUsers != null && totalUsers.get(0) != null) { Map users = (HashMap) totalUsers.get(0); metrics.setTotal_users(users.get("users")); } else { - metrics.setTotal_users(0); + metrics.setTotal_users(-1); + return metrics; } // metrics.setWorks_per_month(countWorksPerYearAndMonth()); List works_per_dashboard = countWorksPerDashboard(); @@ -125,7 +127,7 @@ public class MetricsService { // Total users: (unique/ per orcid): http://duffy.di.uoa.gr:8080/uoa-orcid-service/report/totalUniqueUsers // Works linked per month: http://duffy.di.uoa.gr:8080/uoa-orcid-service/report/worksPerYearAndMonth (not needed?) // Works linked per portal (not only explore): http://duffy.di.uoa.gr:8080/uoa-orcid-service/report/worksPerDashboard - return totalWorks; + return metrics; } public String getMetrics() {