From f6aeed5af7133e6177931ea0a00e665b3a35dc1e Mon Sep 17 00:00:00 2001 From: Maxym Borodenko Date: Mon, 23 Jul 2018 17:36:40 +0300 Subject: [PATCH] #272 JSP: Welcome page --- .../genesys/catalog/service/DatasetService.java | 7 +++++++ .../catalog/service/impl/DatasetServiceImpl.java | 8 ++++++++ .../org/genesys2/server/mvc/HtmlController.java | 1 + .../server/service/StatisticsService.java | 11 +++++++---- .../service/impl/StatisticsServiceImpl.java | 16 +++++++++++++--- .../org/genesys2/spring/AddStuffInterceptor.java | 4 ++++ src/main/resources/application.properties | 2 ++ src/main/resources/content/language.properties | 3 ++- .../resources/content/language_ar.properties | 1 - .../resources/content/language_de.properties | 1 - .../resources/content/language_es.properties | 1 - .../resources/content/language_fa.properties | 1 - .../resources/content/language_fr.properties | 1 - .../resources/content/language_pt.properties | 1 - .../resources/content/language_ru.properties | 1 - .../resources/content/language_zh.properties | 1 - src/main/webapp/WEB-INF/decorator/1/menu.jsp | 10 +++++----- src/main/webapp/WEB-INF/jsp/index.jsp | 10 +++++----- 18 files changed, 54 insertions(+), 26 deletions(-) diff --git a/src/main/java/org/genesys/catalog/service/DatasetService.java b/src/main/java/org/genesys/catalog/service/DatasetService.java index d7eec6f46..5f5b6163d 100644 --- a/src/main/java/org/genesys/catalog/service/DatasetService.java +++ b/src/main/java/org/genesys/catalog/service/DatasetService.java @@ -225,4 +225,11 @@ public interface DatasetService { */ Dataset updateDatasetFile(Dataset dataset, RepositoryFile metadata) throws NoSuchRepositoryFileException; + /** + * Count the number of published datasets + * + * @return the number of published datasets + */ + long countPublished(); + } diff --git a/src/main/java/org/genesys/catalog/service/impl/DatasetServiceImpl.java b/src/main/java/org/genesys/catalog/service/impl/DatasetServiceImpl.java index e3364875f..b09d9a5f4 100644 --- a/src/main/java/org/genesys/catalog/service/impl/DatasetServiceImpl.java +++ b/src/main/java/org/genesys/catalog/service/impl/DatasetServiceImpl.java @@ -476,6 +476,14 @@ public class DatasetServiceImpl implements DatasetService { return lazyLoad(datasetRepository.save(loaded)); } + /** + * {@inheritDoc} + */ + @Override + public long countPublished() { + return datasetRepository.count(dataset.published.eq(true)); + } + /** * Copy values. * diff --git a/src/main/java/org/genesys2/server/mvc/HtmlController.java b/src/main/java/org/genesys2/server/mvc/HtmlController.java index 49b2dd4aa..b117c2234 100644 --- a/src/main/java/org/genesys2/server/mvc/HtmlController.java +++ b/src/main/java/org/genesys2/server/mvc/HtmlController.java @@ -88,6 +88,7 @@ public class HtmlController extends BaseController { model.addAttribute("numberOfAccessions", statisticsService.numberOfAccessions()); model.addAttribute("numberOfActiveAccessions", statisticsService.numberOfActiveAccessions()); model.addAttribute("numberOfHistoricAccessions", statisticsService.numberOfHistoricAccessions()); + model.addAttribute("numberOfPublishedDatasets", statisticsService.numberOfPublishedDatasets()); model.addAttribute("organizations", organizationService.list(new PageRequest(0, 5))); diff --git a/src/main/java/org/genesys2/server/service/StatisticsService.java b/src/main/java/org/genesys2/server/service/StatisticsService.java index fdd5633fa..320d436c6 100644 --- a/src/main/java/org/genesys2/server/service/StatisticsService.java +++ b/src/main/java/org/genesys2/server/service/StatisticsService.java @@ -1,5 +1,5 @@ -/** - * Copyright 2014 Global Crop Diversity Trust +/* + * Copyright 2018 Global Crop Diversity Trust * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -12,7 +12,7 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - **/ + */ package org.genesys2.server.service; @@ -28,14 +28,17 @@ public interface StatisticsService { long numberOfInstitutes(); long numberOfAccessions(); + long numberOfActiveAccessions(); + long numberOfHistoricAccessions(); + long numberOfPublishedDatasets(); + PDCIStatistics statisticsPDCI(FaoInstitute faoInstitute); PDCIStatistics statisticsPDCI(Organization organization); PhenoStatistics statisticsPheno(FaoInstitute faoInstitute); - } diff --git a/src/main/java/org/genesys2/server/service/impl/StatisticsServiceImpl.java b/src/main/java/org/genesys2/server/service/impl/StatisticsServiceImpl.java index 314067561..db4bac28c 100644 --- a/src/main/java/org/genesys2/server/service/impl/StatisticsServiceImpl.java +++ b/src/main/java/org/genesys2/server/service/impl/StatisticsServiceImpl.java @@ -1,5 +1,5 @@ -/** - * Copyright 2014 Global Crop Diversity Trust +/* + * Copyright 2018 Global Crop Diversity Trust * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -12,7 +12,7 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - **/ + */ package org.genesys2.server.service.impl; @@ -20,6 +20,7 @@ import org.genesys2.server.model.genesys.PDCIStatistics; import org.genesys2.server.model.genesys.PhenoStatistics; import org.genesys2.server.model.impl.FaoInstitute; import org.genesys2.server.model.impl.Organization; +import org.genesys.catalog.service.DatasetService; import org.genesys2.server.service.GenesysService; import org.genesys2.server.service.GeoService; import org.genesys2.server.service.InstituteService; @@ -45,6 +46,9 @@ public class StatisticsServiceImpl implements StatisticsService { @Autowired private GenesysService genesysService; + @Autowired + private DatasetService datasetService; + @Override @Cacheable(value = "statistics", key = "'stats.' + #root.methodName") public long numberOfCountries() { @@ -75,6 +79,12 @@ public class StatisticsServiceImpl implements StatisticsService { return genesysService.countAllHistoric(); } + @Override + @Cacheable(value = "statistics", key = "'stats.' + #root.methodName") + public long numberOfPublishedDatasets() { + return datasetService.countPublished(); + } + @Override @Cacheable(unless = "#result == null", value = "statistics", key = "'stats.' + #root.methodName + '-' + #faoInstitute.id") public PDCIStatistics statisticsPDCI(FaoInstitute faoInstitute) { diff --git a/src/main/java/org/genesys2/spring/AddStuffInterceptor.java b/src/main/java/org/genesys2/spring/AddStuffInterceptor.java index 1aa3c8481..d0af10c16 100644 --- a/src/main/java/org/genesys2/spring/AddStuffInterceptor.java +++ b/src/main/java/org/genesys2/spring/AddStuffInterceptor.java @@ -51,6 +51,9 @@ public class AddStuffInterceptor implements HandlerInterceptor, InitializingBean @Value("${google.analytics.account}") private String googleAnalyticsAccount; + @Value("${genesys.catalog.url}") + private String genesysCatalogUrl; + public abstract interface RandomString { /// Get a random CDN server public String getNext(); @@ -108,6 +111,7 @@ public class AddStuffInterceptor implements HandlerInterceptor, InitializingBean request.setAttribute("cdnServers", randomCdnServer); request.setAttribute("baseUrl", baseUrl); request.setAttribute("currentYear", LocalDate.now().getYear()); + request.setAttribute("genesysCatalogUrl", genesysCatalogUrl); if (googleAnalyticsAccount != null) { request.setAttribute("googleAnalyticsAccount", googleAnalyticsAccount); diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 21a53e840..3bc6f256f 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -209,3 +209,5 @@ itpgrfa.glis.ratelimit=20 partner.primary.uuid=39d3022b-dfca-45d8-98f1-3eeaa6c3e605 default.jwt.signingKey=genesys-signing-key-changeme +# Genesys Catalog URL +genesys.catalog.url=http://localhost:3000 diff --git a/src/main/resources/content/language.properties b/src/main/resources/content/language.properties index b5865521c..9731bdbc7 100644 --- a/src/main/resources/content/language.properties +++ b/src/main/resources/content/language.properties @@ -95,7 +95,7 @@ footer.copyright-statement=© 2013 - {0} Data Providers and the Crop Trust menu.home=Home menu.browse=Browse -menu.datasets=C&E Data +menu.datasets=Datasets menu.descriptors=Descriptors menu.countries=Countries menu.institutes=Institutes @@ -830,6 +830,7 @@ share.link.placeholder=Please wait... share.link.text=Please use the shortened version of the full URL to this page: welcome.read-more=Read more about Genesys +welcome.quick-overview=Quick overview twitter.latest-on-twitter=Latest on Twitter video.play-video=Play video diff --git a/src/main/resources/content/language_ar.properties b/src/main/resources/content/language_ar.properties index daa84503f..1c041e729 100644 --- a/src/main/resources/content/language_ar.properties +++ b/src/main/resources/content/language_ar.properties @@ -89,7 +89,6 @@ footer.copyright-statement=© 2013 - {0} مقدمو البيانات وشر menu.home=الرئيسية menu.browse=تصفح -menu.datasets=بيانات التوصيف والتقييم menu.descriptors=الواصفات menu.countries=الدول menu.institutes=المنشآت diff --git a/src/main/resources/content/language_de.properties b/src/main/resources/content/language_de.properties index f7ffe688b..07467d111 100644 --- a/src/main/resources/content/language_de.properties +++ b/src/main/resources/content/language_de.properties @@ -89,7 +89,6 @@ footer.copyright-statement=© 2013 - {0} Datenanbieter und der Crop Trust menu.home=Home menu.browse=Browsen -menu.datasets=C&E-Daten menu.descriptors=Deskriptoren menu.countries=Länder menu.institutes=Institute diff --git a/src/main/resources/content/language_es.properties b/src/main/resources/content/language_es.properties index 1ce48e03a..4ba1f4071 100644 --- a/src/main/resources/content/language_es.properties +++ b/src/main/resources/content/language_es.properties @@ -89,7 +89,6 @@ footer.copyright-statement=© 2013 - {0} Proveedores de datos y el Crop Trus menu.home=Página de inicio menu.browse=Navegar -menu.datasets=Datos de C&E menu.descriptors=Descriptores menu.countries=Países menu.institutes=Instituciones diff --git a/src/main/resources/content/language_fa.properties b/src/main/resources/content/language_fa.properties index f0f4f9583..0013fd63e 100644 --- a/src/main/resources/content/language_fa.properties +++ b/src/main/resources/content/language_fa.properties @@ -89,7 +89,6 @@ footer.copyright-statement=‎© 2013 - {0} Data Providers and the Crop Trus menu.home=صفحه اصلی menu.browse=مرور -menu.datasets=داده‌های C&E menu.descriptors=توصیف‌گرها menu.countries=کشورها menu.institutes=مؤسسات diff --git a/src/main/resources/content/language_fr.properties b/src/main/resources/content/language_fr.properties index f2191083b..cb8489d8a 100644 --- a/src/main/resources/content/language_fr.properties +++ b/src/main/resources/content/language_fr.properties @@ -89,7 +89,6 @@ footer.copyright-statement=© 2013 - {0} Les fournisseurs de données et le menu.home=Accueil menu.browse=Naviguer -menu.datasets=Données C&E menu.descriptors=Descripteurs menu.countries=Pays menu.institutes=Instituts diff --git a/src/main/resources/content/language_pt.properties b/src/main/resources/content/language_pt.properties index 1593c88f2..85654e0bf 100644 --- a/src/main/resources/content/language_pt.properties +++ b/src/main/resources/content/language_pt.properties @@ -89,7 +89,6 @@ footer.copyright-statement=© 2013 - {0} Provedores de dados e Crop Trust menu.home=Início menu.browse=Navegar -menu.datasets=Dados de caracterização e avaliação menu.descriptors=Descritores menu.countries=Países menu.institutes=Institutos diff --git a/src/main/resources/content/language_ru.properties b/src/main/resources/content/language_ru.properties index 16d008ac9..1b8942480 100644 --- a/src/main/resources/content/language_ru.properties +++ b/src/main/resources/content/language_ru.properties @@ -89,7 +89,6 @@ footer.copyright-statement=© 2013 - {0} Провайдеры данных menu.home=На главную menu.browse=Просмотреть -menu.datasets=Данные по характеристике и оценке menu.descriptors=Дескрипторы menu.countries=Страны menu.institutes=Институты diff --git a/src/main/resources/content/language_zh.properties b/src/main/resources/content/language_zh.properties index f522aac5e..e0b1fa1d1 100644 --- a/src/main/resources/content/language_zh.properties +++ b/src/main/resources/content/language_zh.properties @@ -89,7 +89,6 @@ footer.copyright-statement=© 2013 - {0} 数据提供者与 Crop Trust menu.home=首页 menu.browse=浏览 -menu.datasets=评价鉴定数据 menu.descriptors=描述符 menu.countries=国家 menu.institutes=机构 diff --git a/src/main/webapp/WEB-INF/decorator/1/menu.jsp b/src/main/webapp/WEB-INF/decorator/1/menu.jsp index 178980dfd..40af92965 100644 --- a/src/main/webapp/WEB-INF/decorator/1/menu.jsp +++ b/src/main/webapp/WEB-INF/decorator/1/menu.jsp @@ -25,10 +25,6 @@