From 09409528d3bdd9d082cf0d8e609165aa0f703338 Mon Sep 17 00:00:00 2001 From: "panagiotis.kanakakis" Date: Mon, 4 Feb 2019 12:47:04 +0000 Subject: [PATCH] 1. Modify project structure 2. Nedds bug fix for emails --- .../repo/manager/config/SwaggerConfig.java | 16 +- .../manager/controllers/BrokerController.java | 26 +- .../controllers/MonitorController.java | 10 +- .../manager/controllers/PiWikController.java | 35 +-- .../controllers/RepositoryController.java | 50 ++-- .../manager/controllers/StatsController.java | 6 +- .../controllers/SushiliteController.java | 19 +- .../manager/controllers/UserController.java | 6 +- .../controllers/ValidatorController.java | 35 +-- .../{BrokerApi.java => BrokerService.java} | 2 +- ...kerApiImpl.java => BrokerServiceImpl.java} | 12 +- .../{MonitorApi.java => MonitorService.java} | 2 +- ...orApiImpl.java => MonitorServiceImpl.java} | 8 +- .../{PiWikApi.java => PiWikService.java} | 2 +- ...iWikApiImpl.java => PiWikServiceImpl.java} | 4 +- ...ositoryApi.java => RepositoryService.java} | 2 +- ...piImpl.java => RepositoryServiceImpl.java} | 81 ++++--- .../{StatsApi.java => StatsService.java} | 2 +- ...tatsApiImpl.java => StatsServiceImpl.java} | 6 +- ...ushiliteApi.java => SushiliteService.java} | 2 +- ...ApiImpl.java => SushiliteServiceImpl.java} | 4 +- .../{UserApi.java => UserService.java} | 2 +- ...{UserApiImpl.java => UserServiceImpl.java} | 6 +- ...alidatorApi.java => ValidatorService.java} | 2 +- ...ApiImpl.java => ValidatorServiceImpl.java} | 16 +- .../dnetlib/repo/manager/utils/Converter.java | 1 + src/main/resources/application.properties | 3 +- src/main/webapp/WEB-INF/log4j.properties | 4 +- uoa-repository-manager-service.iml | 228 ++++++++++++++++++ 29 files changed, 392 insertions(+), 200 deletions(-) rename src/main/java/eu/dnetlib/repo/manager/service/{BrokerApi.java => BrokerService.java} (98%) rename src/main/java/eu/dnetlib/repo/manager/service/{BrokerApiImpl.java => BrokerServiceImpl.java} (96%) rename src/main/java/eu/dnetlib/repo/manager/service/{MonitorApi.java => MonitorService.java} (97%) rename src/main/java/eu/dnetlib/repo/manager/service/{MonitorApiImpl.java => MonitorServiceImpl.java} (94%) rename src/main/java/eu/dnetlib/repo/manager/service/{PiWikApi.java => PiWikService.java} (95%) rename src/main/java/eu/dnetlib/repo/manager/service/{PiWikApiImpl.java => PiWikServiceImpl.java} (98%) rename src/main/java/eu/dnetlib/repo/manager/service/{RepositoryApi.java => RepositoryService.java} (98%) rename src/main/java/eu/dnetlib/repo/manager/service/{RepositoryApiImpl.java => RepositoryServiceImpl.java} (95%) rename src/main/java/eu/dnetlib/repo/manager/service/{StatsApi.java => StatsService.java} (88%) rename src/main/java/eu/dnetlib/repo/manager/service/{StatsApiImpl.java => StatsServiceImpl.java} (98%) rename src/main/java/eu/dnetlib/repo/manager/service/{SushiliteApi.java => SushiliteService.java} (96%) rename src/main/java/eu/dnetlib/repo/manager/service/{SushiliteApiImpl.java => SushiliteServiceImpl.java} (98%) rename src/main/java/eu/dnetlib/repo/manager/service/{UserApi.java => UserService.java} (80%) rename src/main/java/eu/dnetlib/repo/manager/service/{UserApiImpl.java => UserServiceImpl.java} (89%) rename src/main/java/eu/dnetlib/repo/manager/service/{ValidatorApi.java => ValidatorService.java} (97%) rename src/main/java/eu/dnetlib/repo/manager/service/{ValidatorApiImpl.java => ValidatorServiceImpl.java} (94%) create mode 100644 uoa-repository-manager-service.iml diff --git a/src/main/java/eu/dnetlib/repo/manager/config/SwaggerConfig.java b/src/main/java/eu/dnetlib/repo/manager/config/SwaggerConfig.java index 0078c4f..84556fe 100644 --- a/src/main/java/eu/dnetlib/repo/manager/config/SwaggerConfig.java +++ b/src/main/java/eu/dnetlib/repo/manager/config/SwaggerConfig.java @@ -1,9 +1,9 @@ package eu.dnetlib.repo.manager.config; -import eu.dnetlib.repo.manager.service.MonitorApi; -import eu.dnetlib.repo.manager.service.PiWikApi; -import eu.dnetlib.repo.manager.service.RepositoryApi; -import eu.dnetlib.repo.manager.service.ValidatorApi; +import eu.dnetlib.repo.manager.service.MonitorService; +import eu.dnetlib.repo.manager.service.PiWikService; +import eu.dnetlib.repo.manager.service.RepositoryService; +import eu.dnetlib.repo.manager.service.ValidatorService; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @@ -27,10 +27,10 @@ import java.util.ArrayList; @EnableSwagger2 @EnableWebMvc @ComponentScan(basePackageClasses = { - RepositoryApi.class, - MonitorApi.class, - ValidatorApi.class, - PiWikApi.class + RepositoryService.class, + MonitorService.class, + ValidatorService.class, + PiWikService.class }) public class SwaggerConfig { diff --git a/src/main/java/eu/dnetlib/repo/manager/controllers/BrokerController.java b/src/main/java/eu/dnetlib/repo/manager/controllers/BrokerController.java index a2806c3..d630bc8 100644 --- a/src/main/java/eu/dnetlib/repo/manager/controllers/BrokerController.java +++ b/src/main/java/eu/dnetlib/repo/manager/controllers/BrokerController.java @@ -1,6 +1,6 @@ package eu.dnetlib.repo.manager.controllers; -import eu.dnetlib.repo.manager.service.BrokerApiImpl; +import eu.dnetlib.repo.manager.service.BrokerServiceImpl; import eu.dnetlib.repo.manager.shared.BrokerException; import eu.dnetlib.repo.manager.shared.Term; import eu.dnetlib.repo.manager.shared.broker.*; @@ -23,7 +23,7 @@ import java.util.Map; public class BrokerController{ @Autowired - BrokerApiImpl brokerApi; + BrokerServiceImpl brokerService; @RequestMapping(value = "/getDatasourcesOfUser" , method = RequestMethod.GET, @@ -36,7 +36,7 @@ public class BrokerController{ @ApiParam(value = "Include shared datasources", required = true , defaultValue = "false") String includeShared, @RequestParam("includeByOthers") @ApiParam(value = "Include datasources of other", required = true,defaultValue = "false") String includeByOthers) throws JSONException { - return brokerApi.getDatasourcesOfUser(user, includeShared, includeByOthers); + return brokerService.getDatasourcesOfUser(user, includeShared, includeByOthers); } @RequestMapping(value = "/getTopicsForDatasource/{datasourceName:.+}" , @@ -44,7 +44,7 @@ public class BrokerController{ produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody List getTopicsForDatasource(@PathVariable("datasourceName") String datasourceName) throws BrokerException{ - return brokerApi.getTopicsForDatasource(datasourceName); + return brokerService.getTopicsForDatasource(datasourceName); } @RequestMapping(value = "/advancedShowEvents/{page}/{size}" , @@ -55,7 +55,7 @@ public class BrokerController{ EventsPage advancedShowEvents(@PathVariable("page") String page, @PathVariable("size") String size, @RequestBody AdvQueryObject advQueryObject) throws BrokerException, JSONException ,IOException{ - return brokerApi.advancedShowEvents(page, size, advQueryObject); + return brokerService.advancedShowEvents(page, size, advQueryObject); } @RequestMapping(value = "/showEvents/{datasourceName:.+}/{topic}/{page}" , @@ -67,7 +67,7 @@ public class BrokerController{ @RequestParam("topic") String topic, @RequestParam("page") String page, @RequestParam("size") String size) throws BrokerException, JSONException{ - return brokerApi.showEvents(datasourceName, topic, page, size); + return brokerService.showEvents(datasourceName, topic, page, size); } @RequestMapping(value = "/getSimpleSubscriptionsOfUser/{userEmail}" , @@ -76,7 +76,7 @@ public class BrokerController{ @ResponseBody @PreAuthorize("hasRole('ROLE_USER')") Map> getSimpleSubscriptionsOfUser(@PathVariable("userEmail") String userEmail) throws BrokerException{ - return brokerApi.getSimpleSubscriptionsOfUser(userEmail); + return brokerService.getSimpleSubscriptionsOfUser(userEmail); } @RequestMapping(value = "/subscribe" , method = RequestMethod.POST, @@ -85,7 +85,7 @@ public class BrokerController{ @ResponseBody @PreAuthorize("hasRole('ROLE_USER') ") Subscription subscribe(@RequestBody OpenaireSubscription obj) throws BrokerException{ - return brokerApi.subscribe(obj); + return brokerService.subscribe(obj); } @RequestMapping(value = "/unsubscribe/{subscriptionId}" , method = RequestMethod.POST, @@ -94,7 +94,7 @@ public class BrokerController{ @ResponseBody @PreAuthorize("hasRole('ROLE_USER')") ResponseEntity unsubscribe(@PathVariable("subscriptionId") String subscriptionId) throws BrokerException{ - return brokerApi.unsubscribe(subscriptionId); + return brokerService.unsubscribe(subscriptionId); } @RequestMapping(value = "/getSubscription/{subscriptionId}" , method = RequestMethod.GET, @@ -102,7 +102,7 @@ public class BrokerController{ @ResponseBody @PreAuthorize("hasRole('ROLE_USER')") Subscription getSubscription(@PathVariable("subscriptionId") String subscriptionId) throws BrokerException{ - return brokerApi.getSubscription(subscriptionId); + return brokerService.getSubscription(subscriptionId); } @@ -110,7 +110,7 @@ public class BrokerController{ produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody Map getDnetTopics() throws BrokerException{ - return brokerApi.getDnetTopics(); + return brokerService.getDnetTopics(); } @RequestMapping(value = "/getNotificationsBySubscriptionId/{subscriptionId}/{page}/{size}" , method = RequestMethod.GET @@ -120,14 +120,14 @@ public class BrokerController{ EventsPage getNotificationsBySubscriptionId(@PathVariable("subscriptionId") String subscriptionId, @PathVariable("page") String page, @PathVariable("size") String size) throws BrokerException{ - return brokerApi.getNotificationsBySubscriptionId(subscriptionId, page, size); + return brokerService.getNotificationsBySubscriptionId(subscriptionId, page, size); } /*@RequestMapping(value = "/getSubscriptionsOfUser/{userEmail}" , method = RequestMethod.GET ,produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody*/ Map> getSubscriptionsOfUser(String userEmail) throws BrokerException{ - return brokerApi.getSubscriptionsOfUser(userEmail); + return brokerService.getSubscriptionsOfUser(userEmail); } diff --git a/src/main/java/eu/dnetlib/repo/manager/controllers/MonitorController.java b/src/main/java/eu/dnetlib/repo/manager/controllers/MonitorController.java index 1f88493..2427abf 100644 --- a/src/main/java/eu/dnetlib/repo/manager/controllers/MonitorController.java +++ b/src/main/java/eu/dnetlib/repo/manager/controllers/MonitorController.java @@ -2,7 +2,7 @@ package eu.dnetlib.repo.manager.controllers; import eu.dnetlib.api.functionality.ValidatorServiceException; import eu.dnetlib.domain.functionality.validator.StoredJob; -import eu.dnetlib.repo.manager.service.MonitorApiImpl; +import eu.dnetlib.repo.manager.service.MonitorServiceImpl; import eu.dnetlib.repo.manager.shared.JobsOfUser; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; @@ -22,7 +22,7 @@ public class MonitorController { .getLogger(MonitorController.class); @Autowired - MonitorApiImpl monitorApi; + MonitorServiceImpl monitorService; @RequestMapping(value = "/getJobsOfUser" , method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @@ -38,7 +38,7 @@ public class MonitorController { @RequestParam("validationStatus") @ApiParam(value = "Equals to filter validation jobs", required = false) String validationStatus, @RequestParam("includeJobsTotal") @ApiParam(value = "Always true", required = true) String includeJobsTotal) throws JSONException, ValidatorServiceException { - return monitorApi.getJobsOfUser(user, jobType, offset, limit, dateFrom, dateTo, validationStatus, includeJobsTotal); + return monitorService.getJobsOfUser(user, jobType, offset, limit, dateFrom, dateTo, validationStatus, includeJobsTotal); } @RequestMapping(value = "/getJobsOfUserPerValidationStatus" , method = RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE) @@ -47,14 +47,14 @@ public class MonitorController { public int getJobsOfUserPerValidationStatus(@RequestBody String user, @RequestBody String jobType, @RequestBody String validationStatus) throws JSONException { - return monitorApi.getJobsOfUserPerValidationStatus(user, jobType, validationStatus); + return monitorService.getJobsOfUserPerValidationStatus(user, jobType, validationStatus); } @RequestMapping(value = "/getJobSummary" , method = RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public StoredJob getJobSummary(@RequestBody String jobId, @RequestBody String groupBy) throws JSONException { - return monitorApi.getJobSummary(jobId, groupBy); + return monitorService.getJobSummary(jobId, groupBy); } } diff --git a/src/main/java/eu/dnetlib/repo/manager/controllers/PiWikController.java b/src/main/java/eu/dnetlib/repo/manager/controllers/PiWikController.java index e2a5600..a6c0dbb 100644 --- a/src/main/java/eu/dnetlib/repo/manager/controllers/PiWikController.java +++ b/src/main/java/eu/dnetlib/repo/manager/controllers/PiWikController.java @@ -1,33 +1,16 @@ package eu.dnetlib.repo.manager.controllers; -import com.fasterxml.jackson.databind.ObjectMapper; import eu.dnetlib.domain.data.PiwikInfo; -import eu.dnetlib.repo.manager.service.PiWikApiImpl; +import eu.dnetlib.repo.manager.service.PiWikServiceImpl; import eu.dnetlib.repo.manager.shared.RepositoryServiceException; import io.swagger.annotations.Api; -import org.apache.commons.codec.digest.DigestUtils; -import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.dao.EmptyResultDataAccessException; -import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; -import org.springframework.jdbc.core.JdbcTemplate; -import org.springframework.jdbc.core.RowMapper; import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.*; -import javax.sql.DataSource; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.net.URL; -import java.net.URLEncoder; -import java.sql.Types; import java.util.List; -import java.util.Map; @RestController @RequestMapping(value = "/piwik") @@ -35,38 +18,38 @@ import java.util.Map; public class PiWikController { @Autowired - PiWikApiImpl piWikApi; + PiWikServiceImpl piWikService; @RequestMapping(value = "/getPiwikSiteForRepo/{repositoryId}" , method = RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public PiwikInfo getPiwikSiteForRepo(@PathVariable("repositoryId") String repositoryId) { - return piWikApi.getPiwikSiteForRepo(repositoryId); + return piWikService.getPiwikSiteForRepo(repositoryId); } @RequestMapping(value = "/savePiwikInfo" , method = RequestMethod.POST,produces = MediaType.APPLICATION_JSON_VALUE) @PreAuthorize("hasRole('ROLE_ADMIN') or hasRole('ROLE_PORTAL_ADMIN') or (hasRole('ROLE_USER') " + "and #piwikInfo.requestorEmail == authentication.userInfo.email)") public PiwikInfo savePiwikInfo(@RequestBody PiwikInfo piwikInfo) { - return piWikApi.savePiwikInfo(piwikInfo); + return piWikService.savePiwikInfo(piwikInfo); } @RequestMapping(value = "/getPiwikSitesForRepos" , method = RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE) List getPiwikSitesForRepos(){ - return piWikApi.getPiwikSitesForRepos(); + return piWikService.getPiwikSitesForRepos(); } @RequestMapping(value = "/approvePiwikSite/{repositoryId}" , method = RequestMethod.GET) @ResponseBody @PreAuthorize("hasRole('ROLE_ADMIN') or hasRole('ROLE_PORTAL_ADMIN')") public ResponseEntity approvePiwikSite(@PathVariable("repositoryId") String repositoryId) { - return piWikApi.approvePiwikSite(repositoryId); + return piWikService.approvePiwikSite(repositoryId); } @RequestMapping(value = "/getOpenaireId/{repositoryId}" , method = RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody String getOpenaireId(String repositoryid){ - return piWikApi.getOpenaireId(repositoryid); + return piWikService.getOpenaireId(repositoryid); } @RequestMapping(value = "/markPiwikSiteAsValidated/{repositoryId}" , method = RequestMethod.POST, @@ -74,7 +57,7 @@ public class PiWikController { @ResponseBody @PreAuthorize("hasRole('ROLE_ADMIN') or hasRole('ROLE_PORTAL_ADMIN')") public ResponseEntity markPiwikSiteAsValidated(@PathVariable("repositoryId") String repositoryId) throws RepositoryServiceException { - return piWikApi.markPiwikSiteAsValidated(repositoryId); + return piWikService.markPiwikSiteAsValidated(repositoryId); } @RequestMapping(value = "/enableMetricsForRepository", method = RequestMethod.POST, @@ -83,7 +66,7 @@ public class PiWikController { public PiwikInfo enableMetricsForRepository(@RequestParam("officialName") String officialName, @RequestParam("repoWebsite") String repoWebsite, @RequestBody PiwikInfo piwikInfo) throws RepositoryServiceException { - return piWikApi.enableMetricsForRepository(officialName, repoWebsite, piwikInfo); + return piWikService.enableMetricsForRepository(officialName, repoWebsite, piwikInfo); } diff --git a/src/main/java/eu/dnetlib/repo/manager/controllers/RepositoryController.java b/src/main/java/eu/dnetlib/repo/manager/controllers/RepositoryController.java index 5fdc0f8..ed26ae1 100644 --- a/src/main/java/eu/dnetlib/repo/manager/controllers/RepositoryController.java +++ b/src/main/java/eu/dnetlib/repo/manager/controllers/RepositoryController.java @@ -4,7 +4,7 @@ import eu.dnetlib.domain.data.Repository; import eu.dnetlib.domain.data.RepositoryInterface; import eu.dnetlib.repo.manager.domain.RepositorySnippet; import eu.dnetlib.repo.manager.exception.ResourceNotFoundException; -import eu.dnetlib.repo.manager.service.RepositoryApiImpl; +import eu.dnetlib.repo.manager.service.RepositoryServiceImpl; import eu.dnetlib.repo.manager.shared.*; import io.swagger.annotations.Api; import org.json.JSONException; @@ -24,12 +24,12 @@ import java.util.Map; public class RepositoryController { @Autowired - RepositoryApiImpl repositoryApi; + RepositoryServiceImpl repositoryService; @RequestMapping(value = "/getCountries", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public Country[] getCountries() { - return repositoryApi.getCountries(); + return repositoryService.getCountries(); } @RequestMapping(value = "/getRepositoriesByCountry/{country}/{mode}", method = RequestMethod.GET, @@ -38,7 +38,7 @@ public class RepositoryController { public List getRepositoriesByCountry(@PathVariable("country") String country, @PathVariable("mode") String mode, @RequestParam(value = "managed",required=false) Boolean managed) throws JSONException, IOException { - return repositoryApi.getRepositoriesByCountry(country, mode, managed); + return repositoryService.getRepositoriesByCountry(country, mode, managed); } @RequestMapping(value = "/getRepositoriesOfUser/{userEmail}/{page}/{size}",method = RequestMethod.GET, @@ -48,28 +48,28 @@ public class RepositoryController { public List getRepositoriesOfUser(@PathVariable("userEmail") String userEmail, @PathVariable("page") String page, @PathVariable("size") String size) throws JSONException { - return repositoryApi.getRepositoriesOfUser(userEmail, page, size); + return repositoryService.getRepositoriesOfUser(userEmail, page, size); } @RequestMapping(value = "/getRepositoryById/{id}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public Repository getRepositoryById(@PathVariable("id") String id) throws JSONException,ResourceNotFoundException { - return repositoryApi.getRepositoryById(id); + return repositoryService.getRepositoryById(id); } @RequestMapping(value = "/getRepositoryAggregations/{id}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public List getRepositoryAggregations(@PathVariable("id") String id) throws JSONException { - return repositoryApi.getRepositoryAggregations(id); + return repositoryService.getRepositoryAggregations(id); } @RequestMapping(value = "/getRepositoryAggregationsByYear/{id}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public Map> getRepositoryAggregationsByYear(@PathVariable("id") String id) throws JSONException { - return repositoryApi.getRepositoryAggregationsByYear(id); + return repositoryService.getRepositoryAggregationsByYear(id); } @RequestMapping(value = "/getRepositoriesByName/{name:.+}/{page}/{size}/", method = RequestMethod.GET, @@ -78,45 +78,45 @@ public class RepositoryController { public List getRepositoriesByName(@PathVariable("name") String name, @PathVariable("page") String page, @PathVariable("size") String size) throws JSONException { - return repositoryApi.getRepositoriesByName(name, page, size); + return repositoryService.getRepositoriesByName(name, page, size); } @RequestMapping(value = "/getRepositoryInterface/{id}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public List getRepositoryInterface(@PathVariable("id") String id) throws JSONException { - return repositoryApi.getRepositoryInterface(id); + return repositoryService.getRepositoryInterface(id); } @RequestMapping(value = "/addRepository", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE) @ResponseBody - @PreAuthorize("hasRole('ROLE_USER') and #repository.registeredBy == authentication.userInfo.email") +// @PreAuthorize("hasRole('ROLE_USER') and #repository.registeredBy == authentication.userInfo.email") public Repository addRepository(@RequestParam("datatype") String datatype, @RequestBody Repository repository) throws Exception { - return repositoryApi.addRepository(datatype, repository); + return repositoryService.addRepository(datatype, repository); } @RequestMapping(value = "/getDnetCountries", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody List getDnetCountries(){ - return repositoryApi.getDnetCountries(); + return repositoryService.getDnetCountries(); } @RequestMapping(value = "/getTypologies", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody List getTypologies(){ - return repositoryApi.getTypologies(); + return repositoryService.getTypologies(); } @RequestMapping(value = "/getTimezones", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody List getTimezones(){ - return repositoryApi.getTimezones(); + return repositoryService.getTimezones(); } @RequestMapping(value = "/updateRepository", method = RequestMethod.POST, @@ -124,14 +124,14 @@ public class RepositoryController { @ResponseBody //@PreAuthorize("hasRole('ROLE_USER') and #repository.registeredBy == authentication.userInfo.email") public Repository updateRepository(@RequestBody Repository repository,Authentication authentication) throws Exception { - return repositoryApi.updateRepository(repository, authentication); + return repositoryService.updateRepository(repository, authentication); } @RequestMapping(value = "/deleteInterface/", method = RequestMethod.DELETE) @PreAuthorize("hasRole('ROLE_USER') and #registeredBy == authentication.userInfo.email") public void deleteRepositoryInterface(@RequestParam("id") String id , @RequestParam("registeredBy") String registeredBy){ - repositoryApi.deleteRepositoryInterface(id, registeredBy); + repositoryService.deleteRepositoryInterface(id, registeredBy); } @RequestMapping(value = "/addInterface", method = RequestMethod.POST, @@ -142,7 +142,7 @@ public class RepositoryController { @RequestParam("repoId") String repoId, @RequestParam("registeredBy") String registeredBy, @RequestBody RepositoryInterface repositoryInterface) throws JSONException,ResourceNotFoundException { - return repositoryApi.addRepositoryInterface(datatype, repoId, registeredBy, repositoryInterface); + return repositoryService.addRepositoryInterface(datatype, repoId, registeredBy, repositoryInterface); } @RequestMapping(value = "/getUrlsOfUserRepos/{user_email}/{page}/{size}/",method = RequestMethod.GET, @@ -152,14 +152,14 @@ public class RepositoryController { public List getUrlsOfUserRepos(@PathVariable("user_email") String userEmail, @PathVariable("page") String page, @PathVariable("size") String size) throws JSONException { - return repositoryApi.getUrlsOfUserRepos(userEmail, page, size); + return repositoryService.getUrlsOfUserRepos(userEmail, page, size); } @RequestMapping(value = "/getDatasourceVocabularies/{mode}",method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public List getDatasourceVocabularies(@PathVariable("mode") String mode) { - return repositoryApi.getDatasourceVocabularies(mode); + return repositoryService.getDatasourceVocabularies(mode); } @RequestMapping(value = "/getCompatibilityClasses/{mode}",method = RequestMethod.GET, @@ -167,28 +167,28 @@ public class RepositoryController { @ResponseBody public Map getCompatibilityClasses(@PathVariable("mode") String mode) { - return repositoryApi.getCompatibilityClasses(mode); + return repositoryService.getCompatibilityClasses(mode); } @RequestMapping(value = "/getDatasourceClasses/{mode}",method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public Map getDatasourceClasses(@PathVariable("mode") String mode) { - return repositoryApi.getDatasourceClasses(mode); + return repositoryService.getDatasourceClasses(mode); } @RequestMapping(value = "/getMetricsInfoForRepository/{repoId}",method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public MetricsInfo getMetricsInfoForRepository(@PathVariable("repoId") String repoId) throws RepositoryServiceException { - return repositoryApi.getMetricsInfoForRepository(repoId); + return repositoryService.getMetricsInfoForRepository(repoId); } @RequestMapping(value = "/getListLatestUpdate/{mode}",method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public Map getListLatestUpdate(@PathVariable("mode") String mode) throws JSONException { - return repositoryApi.getListLatestUpdate(mode); + return repositoryService.getListLatestUpdate(mode); } @RequestMapping(value = "/updateRepositoryInterface", method = RequestMethod.POST, @@ -198,6 +198,6 @@ public class RepositoryController { public RepositoryInterface updateRepositoryInterface(@RequestParam("repoId") String repoId, @RequestParam("registeredBy") String registeredBy, @RequestBody RepositoryInterface repositoryInterface) throws JSONException { - return repositoryApi.updateRepositoryInterface(repoId, registeredBy, repositoryInterface); + return repositoryService.updateRepositoryInterface(repoId, registeredBy, repositoryInterface); } } diff --git a/src/main/java/eu/dnetlib/repo/manager/controllers/StatsController.java b/src/main/java/eu/dnetlib/repo/manager/controllers/StatsController.java index 65da3ae..58fab46 100644 --- a/src/main/java/eu/dnetlib/repo/manager/controllers/StatsController.java +++ b/src/main/java/eu/dnetlib/repo/manager/controllers/StatsController.java @@ -1,6 +1,6 @@ package eu.dnetlib.repo.manager.controllers; -import eu.dnetlib.repo.manager.service.StatsApiImpl; +import eu.dnetlib.repo.manager.service.StatsServiceImpl; import io.swagger.annotations.Api; import org.json.JSONException; import org.springframework.beans.factory.annotation.Autowired; @@ -18,12 +18,12 @@ import java.util.Map; public class StatsController { @Autowired - StatsApiImpl statsApi; + StatsServiceImpl statsService; @RequestMapping(value = "/getStatistics" , method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public Map getStatistics() throws JSONException { - return statsApi.getStatistics(); + return statsService.getStatistics(); } } diff --git a/src/main/java/eu/dnetlib/repo/manager/controllers/SushiliteController.java b/src/main/java/eu/dnetlib/repo/manager/controllers/SushiliteController.java index 7450237..1ed4967 100644 --- a/src/main/java/eu/dnetlib/repo/manager/controllers/SushiliteController.java +++ b/src/main/java/eu/dnetlib/repo/manager/controllers/SushiliteController.java @@ -1,25 +1,12 @@ package eu.dnetlib.repo.manager.controllers; -import eu.dnetlib.repo.manager.service.SushiliteApiImpl; -import eu.dnetlib.usagestats.sushilite.domain.ReportItem; +import eu.dnetlib.repo.manager.service.SushiliteServiceImpl; import eu.dnetlib.usagestats.sushilite.domain.ReportResponseWrapper; import io.swagger.annotations.Api; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.core.ParameterizedTypeReference; -import org.springframework.http.HttpMethod; import org.springframework.http.MediaType; -import org.springframework.http.ResponseEntity; -import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.*; -import org.springframework.web.client.RestClientException; -import org.springframework.web.client.RestTemplate; -import org.springframework.web.util.UriComponentsBuilder; - -import java.util.ArrayList; -import java.util.List; @RestController @RequestMapping(value = "/sushilite") @@ -28,7 +15,7 @@ public class SushiliteController { @Autowired - SushiliteApiImpl sushiliteApi; + SushiliteServiceImpl sushiliteService; @RequestMapping(value = "/getReportResults/{page}/{pageSize}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody @@ -46,7 +33,7 @@ public class SushiliteController { @RequestParam(value = "Granularity") String Granularity, @RequestParam(value = "Pretty",required=false,defaultValue="") String Pretty) { - return sushiliteApi.getReportResults(page, pageSize, Report, Release, RequestorID, BeginDate, EndDate, RepositoryIdentifier, ItemIdentifier, ItemDataType, Granularity, Pretty); + return sushiliteService.getReportResults(page, pageSize, Report, Release, RequestorID, BeginDate, EndDate, RepositoryIdentifier, ItemIdentifier, ItemDataType, Granularity, Pretty); } } diff --git a/src/main/java/eu/dnetlib/repo/manager/controllers/UserController.java b/src/main/java/eu/dnetlib/repo/manager/controllers/UserController.java index 2b1b42f..c45831f 100644 --- a/src/main/java/eu/dnetlib/repo/manager/controllers/UserController.java +++ b/src/main/java/eu/dnetlib/repo/manager/controllers/UserController.java @@ -1,6 +1,6 @@ package eu.dnetlib.repo.manager.controllers; -import eu.dnetlib.repo.manager.service.UserApiImpl; +import eu.dnetlib.repo.manager.service.UserServiceImpl; import io.swagger.annotations.Api; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; @@ -15,11 +15,11 @@ import org.springframework.web.bind.annotation.RestController; public class UserController { @Autowired - UserApiImpl userApi; + UserServiceImpl userService; @RequestMapping(value = "/login" , method = RequestMethod.GET) @PreAuthorize("hasRole('ROLE_USER')") public ResponseEntity login() { - return userApi.login(); + return userService.login(); } } diff --git a/src/main/java/eu/dnetlib/repo/manager/controllers/ValidatorController.java b/src/main/java/eu/dnetlib/repo/manager/controllers/ValidatorController.java index 0a8c1ec..2b9c8cc 100644 --- a/src/main/java/eu/dnetlib/repo/manager/controllers/ValidatorController.java +++ b/src/main/java/eu/dnetlib/repo/manager/controllers/ValidatorController.java @@ -2,34 +2,23 @@ package eu.dnetlib.repo.manager.controllers; import eu.dnetlib.api.functionality.ValidatorServiceException; import eu.dnetlib.domain.functionality.validator.StoredJob; -import eu.dnetlib.repo.manager.service.ValidatorApiImpl; -import eu.dnetlib.repo.manager.utils.OaiTools; +import eu.dnetlib.repo.manager.service.ValidatorServiceImpl; import eu.dnetlib.repo.manager.shared.InterfaceInformation; import eu.dnetlib.repo.manager.shared.ValidationServiceException; -import gr.uoa.di.driver.util.ServiceLocator; import eu.dnetlib.domain.functionality.validator.JobForValidation; import eu.dnetlib.domain.functionality.validator.RuleSet; -import eu.dnetlib.repo.manager.shared.Constants; import java.util.*; -import java.util.concurrent.ConcurrentHashMap; -import eu.dnetlib.api.functionality.ValidatorService; + import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; -import org.apache.log4j.Logger; import org.json.JSONException; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.security.core.context.SecurityContextHolder; -import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.*; -import javax.annotation.PostConstruct; -import javax.annotation.Resource; - @RestController @RequestMapping(value = "/validator") @@ -37,7 +26,7 @@ import javax.annotation.Resource; public class ValidatorController { @Autowired - ValidatorApiImpl validatorApi; + ValidatorServiceImpl validatorService; @RequestMapping(value = "/submitJobForValidation",method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE, @@ -45,7 +34,7 @@ public class ValidatorController { @ResponseBody @PreAuthorize("hasRole('ROLE_USER') and #jobForValidation.userEmail == authentication.userInfo.email") public JobForValidation submitJobForValidation(@RequestBody JobForValidation jobForValidation) throws ValidatorServiceException { - return validatorApi.submitJobForValidation(jobForValidation); + return validatorService.submitJobForValidation(jobForValidation); } @RequestMapping(value = "/reSubmitJobForValidation/{email}/{jobId}",method = RequestMethod.POST, @@ -55,31 +44,31 @@ public class ValidatorController { @PreAuthorize("hasRole('ROLE_USER') and #email == authentication.userInfo.email") public ResponseEntity reSubmitJobForValidation(@PathVariable("email") String email, @PathVariable("jobId") String jobId) throws JSONException, ValidatorServiceException { - return validatorApi.reSubmitJobForValidation(email, jobId); + return validatorService.reSubmitJobForValidation(email, jobId); } @RequestMapping(value = "/getRuleSets/{mode}" , method = RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public List getRuleSets(@PathVariable("mode") String mode) { - return validatorApi.getRuleSets(mode); + return validatorService.getRuleSets(mode); } @RequestMapping(value = "/getSetsOfRepository" , method = RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public List getSetsOfRepository(@RequestParam(value = "url", required = true) String url) { - return validatorApi.getSetsOfRepository(url); + return validatorService.getSetsOfRepository(url); } @RequestMapping(value = "/identifyRepository" , method = RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public boolean identifyRepo(@RequestParam(value = "url", required = true) String url) { - return validatorApi.identifyRepo(url); + return validatorService.identifyRepo(url); } @RequestMapping(value = "/getRuleSet/{acronym}" , method = RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public RuleSet getRuleSet(@PathVariable("acronym") String acronym) { - return validatorApi.getRuleSet(acronym); + return validatorService.getRuleSet(acronym); } @RequestMapping(value = "/getStoredJobsNew" , method = RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE) @@ -94,19 +83,19 @@ public class ValidatorController { @RequestParam(value = "dateTo", required = false) @ApiParam(value = "Null value") String dateTo, @RequestParam("validationStatus") @ApiParam(value = "Equals to filter validation jobs", required = true) String validationStatus ) throws ValidatorServiceException { - return validatorApi.getStoredJobsNew(user, jobType, offset, limit, dateFrom, dateTo, validationStatus); + return validatorService.getStoredJobsNew(user, jobType, offset, limit, dateFrom, dateTo, validationStatus); } @RequestMapping(value = "/getStoredJobsTotalNumberNew" , method = RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public int getStoredJobsTotalNumberNew(String user, String jobType, String validationStatus) throws ValidatorServiceException { - return validatorApi.getStoredJobsTotalNumberNew(user, jobType, validationStatus); + return validatorService.getStoredJobsTotalNumberNew(user, jobType, validationStatus); } @RequestMapping(value = "/getInterfaceInformation" , method = RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public InterfaceInformation getInterfaceInformation(@RequestParam(value = "baseUrl", required = true) String baseUrl) throws ValidationServiceException { - return validatorApi.getInterfaceInformation(baseUrl); + return validatorService.getInterfaceInformation(baseUrl); } diff --git a/src/main/java/eu/dnetlib/repo/manager/service/BrokerApi.java b/src/main/java/eu/dnetlib/repo/manager/service/BrokerService.java similarity index 98% rename from src/main/java/eu/dnetlib/repo/manager/service/BrokerApi.java rename to src/main/java/eu/dnetlib/repo/manager/service/BrokerService.java index 65d85b7..3a8c236 100644 --- a/src/main/java/eu/dnetlib/repo/manager/service/BrokerApi.java +++ b/src/main/java/eu/dnetlib/repo/manager/service/BrokerService.java @@ -17,7 +17,7 @@ import java.util.List; import java.util.Map; -public interface BrokerApi { +public interface BrokerService { DatasourcesBroker getDatasourcesOfUser(String user, String includeShared, String includeByOthers) throws BrokerException, JSONException; diff --git a/src/main/java/eu/dnetlib/repo/manager/service/BrokerApiImpl.java b/src/main/java/eu/dnetlib/repo/manager/service/BrokerServiceImpl.java similarity index 96% rename from src/main/java/eu/dnetlib/repo/manager/service/BrokerApiImpl.java rename to src/main/java/eu/dnetlib/repo/manager/service/BrokerServiceImpl.java index 377a7ae..f87f6e2 100644 --- a/src/main/java/eu/dnetlib/repo/manager/service/BrokerApiImpl.java +++ b/src/main/java/eu/dnetlib/repo/manager/service/BrokerServiceImpl.java @@ -7,21 +7,15 @@ import eu.dnetlib.repo.manager.shared.BrokerException; import eu.dnetlib.repo.manager.shared.Term; import eu.dnetlib.repo.manager.shared.Tuple; import eu.dnetlib.repo.manager.shared.broker.*; -import io.swagger.annotations.ApiParam; import org.json.JSONException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.ParameterizedTypeReference; import org.springframework.http.*; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.stereotype.Component; import org.springframework.stereotype.Service; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.client.RestClientException; import org.springframework.web.client.RestTemplate; import org.springframework.web.util.UriComponents; @@ -34,10 +28,10 @@ import java.net.URL; import java.util.*; @Service("brokerService") -public class BrokerApiImpl implements BrokerApi { +public class BrokerServiceImpl implements BrokerService { @Autowired - private RepositoryApiImpl repoAPI; + private RepositoryServiceImpl repoAPI; @Value("${services.broker.url}:${services.broker.port}/${services.broker.api}${services.broker.openaire}") private String openairePath; @Value("${services.broker.url}:${services.broker.port}/${services.broker.api}") @@ -46,7 +40,7 @@ public class BrokerApiImpl implements BrokerApi { private String topicsURL; private static final org.apache.log4j.Logger LOGGER = org.apache.log4j.Logger - .getLogger(BrokerApiImpl.class); + .getLogger(BrokerServiceImpl.class); private RestTemplate restTemplate = null; diff --git a/src/main/java/eu/dnetlib/repo/manager/service/MonitorApi.java b/src/main/java/eu/dnetlib/repo/manager/service/MonitorService.java similarity index 97% rename from src/main/java/eu/dnetlib/repo/manager/service/MonitorApi.java rename to src/main/java/eu/dnetlib/repo/manager/service/MonitorService.java index 052aeb5..a9832a0 100644 --- a/src/main/java/eu/dnetlib/repo/manager/service/MonitorApi.java +++ b/src/main/java/eu/dnetlib/repo/manager/service/MonitorService.java @@ -9,7 +9,7 @@ import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; -public interface MonitorApi { +public interface MonitorService { JobsOfUser getJobsOfUser(String user, diff --git a/src/main/java/eu/dnetlib/repo/manager/service/MonitorApiImpl.java b/src/main/java/eu/dnetlib/repo/manager/service/MonitorServiceImpl.java similarity index 94% rename from src/main/java/eu/dnetlib/repo/manager/service/MonitorApiImpl.java rename to src/main/java/eu/dnetlib/repo/manager/service/MonitorServiceImpl.java index 0e1ae3e..5bd69e8 100644 --- a/src/main/java/eu/dnetlib/repo/manager/service/MonitorApiImpl.java +++ b/src/main/java/eu/dnetlib/repo/manager/service/MonitorServiceImpl.java @@ -6,18 +6,14 @@ import eu.dnetlib.domain.functionality.validator.StoredJob; import eu.dnetlib.repo.manager.shared.Constants; import eu.dnetlib.repo.manager.shared.JobsOfUser; import gr.uoa.di.driver.util.ServiceLocator; -import io.swagger.annotations.ApiParam; import org.apache.log4j.Logger; import org.json.JSONException; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.stereotype.Component; import org.springframework.stereotype.Service; -import org.springframework.web.bind.annotation.RequestParam; import javax.annotation.Resource; @Service("monitorService") -public class MonitorApiImpl implements MonitorApi { +public class MonitorServiceImpl implements MonitorService { @Resource(name = "validatorServiceLocator") private ServiceLocator validatorServiceLocator; @@ -36,7 +32,7 @@ public class MonitorApiImpl implements MonitorApi { private static final Logger LOGGER = Logger - .getLogger(MonitorApiImpl.class); + .getLogger(MonitorServiceImpl.class); @Override public JobsOfUser getJobsOfUser(String user, diff --git a/src/main/java/eu/dnetlib/repo/manager/service/PiWikApi.java b/src/main/java/eu/dnetlib/repo/manager/service/PiWikService.java similarity index 95% rename from src/main/java/eu/dnetlib/repo/manager/service/PiWikApi.java rename to src/main/java/eu/dnetlib/repo/manager/service/PiWikService.java index 968945e..5916aa4 100644 --- a/src/main/java/eu/dnetlib/repo/manager/service/PiWikApi.java +++ b/src/main/java/eu/dnetlib/repo/manager/service/PiWikService.java @@ -8,7 +8,7 @@ import org.springframework.http.ResponseEntity; import java.util.List; -public interface PiWikApi { +public interface PiWikService { PiwikInfo getPiwikSiteForRepo(String repositoryId); diff --git a/src/main/java/eu/dnetlib/repo/manager/service/PiWikApiImpl.java b/src/main/java/eu/dnetlib/repo/manager/service/PiWikServiceImpl.java similarity index 98% rename from src/main/java/eu/dnetlib/repo/manager/service/PiWikApiImpl.java rename to src/main/java/eu/dnetlib/repo/manager/service/PiWikServiceImpl.java index bc13828..17a6745 100644 --- a/src/main/java/eu/dnetlib/repo/manager/service/PiWikApiImpl.java +++ b/src/main/java/eu/dnetlib/repo/manager/service/PiWikServiceImpl.java @@ -29,7 +29,7 @@ import java.util.List; import java.util.Map; @Service("piwikService") -public class PiWikApiImpl implements PiWikApi { +public class PiWikServiceImpl implements PiWikService { @Qualifier("repomanager.dataSource") @Autowired @@ -45,7 +45,7 @@ public class PiWikApiImpl implements PiWikApi { EmailUtils emailUtils; private static final Logger LOGGER = Logger - .getLogger(PiWikApiImpl.class); + .getLogger(PiWikServiceImpl.class); private final static String GET_PIWIK_SITE = "select repositoryid, siteid, authenticationtoken, creationdate, requestorname, requestoremail, validated, validationdate, comment, repositoryname, country from piwik_site where repositoryid = ?;"; diff --git a/src/main/java/eu/dnetlib/repo/manager/service/RepositoryApi.java b/src/main/java/eu/dnetlib/repo/manager/service/RepositoryService.java similarity index 98% rename from src/main/java/eu/dnetlib/repo/manager/service/RepositoryApi.java rename to src/main/java/eu/dnetlib/repo/manager/service/RepositoryService.java index bc9c10c..52b4428 100644 --- a/src/main/java/eu/dnetlib/repo/manager/service/RepositoryApi.java +++ b/src/main/java/eu/dnetlib/repo/manager/service/RepositoryService.java @@ -11,7 +11,7 @@ import java.io.IOException; import java.util.List; import java.util.Map; -public interface RepositoryApi { +public interface RepositoryService { Country[] getCountries() ; diff --git a/src/main/java/eu/dnetlib/repo/manager/service/RepositoryApiImpl.java b/src/main/java/eu/dnetlib/repo/manager/service/RepositoryServiceImpl.java similarity index 95% rename from src/main/java/eu/dnetlib/repo/manager/service/RepositoryApiImpl.java rename to src/main/java/eu/dnetlib/repo/manager/service/RepositoryServiceImpl.java index 9a7f2e4..513cc0e 100644 --- a/src/main/java/eu/dnetlib/repo/manager/service/RepositoryApiImpl.java +++ b/src/main/java/eu/dnetlib/repo/manager/service/RepositoryServiceImpl.java @@ -42,7 +42,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Collectors; @Service("repositoryService") -public class RepositoryApiImpl implements RepositoryApi { +public class RepositoryServiceImpl implements RepositoryService { @Value("${api.baseAddress}") private String baseAddress; @@ -53,7 +53,7 @@ public class RepositoryApiImpl implements RepositoryApi { private final String[] vocabularyNames = {"dnet:countries", "dnet:datasource_typologies", "dnet:compatibilityLevel"}; - private static final Logger LOGGER = Logger.getLogger(RepositoryApiImpl.class); + private static final Logger LOGGER = Logger.getLogger(RepositoryServiceImpl.class); @Value("${services.repomanager.usageStatisticsDiagramsBaseURL}") private String usageStatisticsDiagramsBaseURL; @@ -65,7 +65,7 @@ public class RepositoryApiImpl implements RepositoryApi { private VocabularyLoader vocabularyLoader; @Autowired - private PiWikApi piWikApi; + private PiWikService piWikService; @Autowired private EmailUtils emailUtils; @@ -199,7 +199,7 @@ public class RepositoryApiImpl implements RepositoryApi { * */ r.setDatasourceType(getRepositoryType(r.getDatasourceClass())); r.setInterfaces(this.getRepositoryInterface(r.getId())); - r.setPiwikInfo(piWikApi.getPiwikSiteForRepo(r.getId())); + r.setPiwikInfo(piWikService.getPiwikSiteForRepo(r.getId())); r.setCountryName(getCountryName(r.getCountryCode())); return r; } @@ -217,7 +217,6 @@ public class RepositoryApiImpl implements RepositoryApi { } @Override - @PreAuthorize("hasRole('ROLE_USER')") public List getRepositoriesOfUser(@PathVariable("userEmail") String userEmail, @PathVariable("page") String page, @PathVariable("size") String size) throws JSONException { @@ -372,18 +371,60 @@ public class RepositoryApiImpl implements RepositoryApi { } @Override - @PreAuthorize("hasRole('ROLE_USER') and #repository.registeredBy == authentication.userInfo.email") public Repository addRepository(@RequestParam("datatype") String datatype, @RequestBody Repository repository) throws Exception { - repository = this.setRepositoryFeatures(datatype,repository); LOGGER.debug("storing " + datatype + " repository with id: " + repository.getId()); - this.storeRepository(repository, SecurityContextHolder.getContext().getAuthentication()); + + repository.setCountryCode(countriesMap.get(repository.getCountryName())); + repository.setActivationId(UUID.randomUUID().toString()); + repository.setCollectedFrom("infrastruct_::openaire"); + + if (datatype.equals("journal")) { + repository.setId("openaire____::issn" + repository.getIssn()); + repository.setNamespacePrefix("issn" + repository.getIssn()); + this.storeRepository(repository, SecurityContextHolder.getContext().getAuthentication()); + }else if (datatype.equals("aggregator")) { + repository.setId("openaire____::" + com.unboundid.util.Base64.encode(repository.getOfficialName())); + repository.setNamespacePrefix(DigestUtils.md5Hex(repository.getOfficialName()).substring(0,12)); + this.storeRepository(repository, SecurityContextHolder.getContext().getAuthentication()); + }else { + this.latentUpdate(repository, SecurityContextHolder.getContext().getAuthentication()); + } + return repository; } + /* update method acting as add -> send email with registration topic/body*/ + private Repository latentUpdate(Repository repository, Authentication authentication) throws Exception { + UriComponents uriComponents = UriComponentsBuilder + .fromHttpUrl(baseAddress + "/ds/update/") + .build() + .encode(); + + try { + String json_repository = Converter.repositoryObjectToJson(repository); + LOGGER.debug("JSON to add(update) -> " + json_repository); + + HttpEntity httpEntity = new HttpEntity(json_repository, httpHeaders); + ResponseEntity responseEntity = restTemplate.exchange(uriComponents.toUri(),HttpMethod.POST, httpEntity, ResponseEntity.class); + + if (responseEntity.getStatusCode().equals(HttpStatus.OK)) + emailUtils.sendUserRegistrationEmail(repository, authentication); + else + LOGGER.debug(responseEntity.getBody().toString()); + + return repository; + } catch (Exception e) { + LOGGER.debug("Exception on updateRepository" , e); + emailUtils.reportException(e); + throw e; + } + + + } + @Override - //@PreAuthorize("hasRole('ROLE_USER') and #repository.registeredBy == authentication.userInfo.email") public Repository updateRepository(@RequestBody Repository repository,Authentication authentication) throws Exception { UriComponents uriComponents = UriComponentsBuilder .fromHttpUrl(baseAddress + "/ds/update/") @@ -411,24 +452,6 @@ public class RepositoryApiImpl implements RepositoryApi { } } - private Repository setRepositoryFeatures(String datatype, Repository repository) { - - //TODO update map - repository.setCountryCode(countriesMap.get(repository.getCountryName())); - repository.setActivationId(UUID.randomUUID().toString()); - repository.setCollectedFrom("infrastruct_::openaire"); - - if (datatype.equals("journal")) { - repository.setId("openaire____::issn" + repository.getIssn()); - repository.setNamespacePrefix("issn" + repository.getIssn()); - }else if (datatype.equals("aggregator")) { - repository.setId("openaire____::" + com.unboundid.util.Base64.encode(repository.getOfficialName())); - repository.setNamespacePrefix(DigestUtils.md5Hex(repository.getOfficialName()).substring(0,12)); - } - - return repository; - } - private void updateInterface(String datatype,RepositoryInterface iFace) { //TODO call update base url //((DatasourceManagerService) this.dmService.getService()).updateBaseUrl(repo.getId(), iFace.getId(), iFace.getBaseUrl()); @@ -489,7 +512,6 @@ public class RepositoryApiImpl implements RepositoryApi { } @Override - @PreAuthorize("hasRole('ROLE_USER') and #registeredBy == authentication.userInfo.email") public void deleteRepositoryInterface(@RequestParam("id") String id , @RequestParam("registeredBy") String registeredBy){ UriComponents uriComponents = UriComponentsBuilder @@ -501,7 +523,6 @@ public class RepositoryApiImpl implements RepositoryApi { } @Override - @PreAuthorize("hasRole('ROLE_USER') and #registeredBy == authentication.userInfo.email") public RepositoryInterface addRepositoryInterface(@RequestParam("datatype") String datatype, @RequestParam("repoId") String repoId, @RequestParam("registeredBy") String registeredBy, @@ -578,7 +599,6 @@ public class RepositoryApiImpl implements RepositoryApi { } @Override - @PreAuthorize("hasRole('ROLE_USER')") public List getUrlsOfUserRepos(@PathVariable("user_email") String userEmail, @PathVariable("page") String page, @PathVariable("size") String size) throws JSONException { @@ -729,7 +749,6 @@ public class RepositoryApiImpl implements RepositoryApi { } @Override - @PreAuthorize("hasRole('ROLE_USER') and #registeredBy == authentication.userInfo.email") public RepositoryInterface updateRepositoryInterface(@RequestParam("repoId") String repoId, @RequestParam("registeredBy") String registeredBy, @RequestBody RepositoryInterface repositoryInterface) throws JSONException { diff --git a/src/main/java/eu/dnetlib/repo/manager/service/StatsApi.java b/src/main/java/eu/dnetlib/repo/manager/service/StatsService.java similarity index 88% rename from src/main/java/eu/dnetlib/repo/manager/service/StatsApi.java rename to src/main/java/eu/dnetlib/repo/manager/service/StatsService.java index 5aeb50e..a0ed25e 100644 --- a/src/main/java/eu/dnetlib/repo/manager/service/StatsApi.java +++ b/src/main/java/eu/dnetlib/repo/manager/service/StatsService.java @@ -6,7 +6,7 @@ import org.json.JSONException; import java.util.Map; -public interface StatsApi { +public interface StatsService { Map getStatistics() throws JSONException, EndPointException; } diff --git a/src/main/java/eu/dnetlib/repo/manager/service/StatsApiImpl.java b/src/main/java/eu/dnetlib/repo/manager/service/StatsServiceImpl.java similarity index 98% rename from src/main/java/eu/dnetlib/repo/manager/service/StatsApiImpl.java rename to src/main/java/eu/dnetlib/repo/manager/service/StatsServiceImpl.java index d9a4d6a..717dfa5 100644 --- a/src/main/java/eu/dnetlib/repo/manager/service/StatsApiImpl.java +++ b/src/main/java/eu/dnetlib/repo/manager/service/StatsServiceImpl.java @@ -10,25 +10,23 @@ import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; -import org.springframework.stereotype.Component; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; import org.springframework.web.util.UriComponents; import org.springframework.web.util.UriComponentsBuilder; import javax.annotation.PostConstruct; -import java.rmi.ServerError; import java.util.HashMap; import java.util.Map; @Service("statsService") -public class StatsApiImpl implements StatsApi { +public class StatsServiceImpl implements StatsService { private RestTemplate restTemplate = null; private HttpHeaders httpHeaders; - private static final Logger LOGGER = Logger.getLogger(RepositoryApiImpl.class); + private static final Logger LOGGER = Logger.getLogger(RepositoryServiceImpl.class); @Value("${search.api.baseAddress}") private String baseAddress; diff --git a/src/main/java/eu/dnetlib/repo/manager/service/SushiliteApi.java b/src/main/java/eu/dnetlib/repo/manager/service/SushiliteService.java similarity index 96% rename from src/main/java/eu/dnetlib/repo/manager/service/SushiliteApi.java rename to src/main/java/eu/dnetlib/repo/manager/service/SushiliteService.java index e8dd136..15ea811 100644 --- a/src/main/java/eu/dnetlib/repo/manager/service/SushiliteApi.java +++ b/src/main/java/eu/dnetlib/repo/manager/service/SushiliteService.java @@ -4,7 +4,7 @@ import eu.dnetlib.usagestats.sushilite.domain.ReportResponseWrapper; import org.json.JSONException; -public interface SushiliteApi { +public interface SushiliteService { ReportResponseWrapper getReportResults(String page, diff --git a/src/main/java/eu/dnetlib/repo/manager/service/SushiliteApiImpl.java b/src/main/java/eu/dnetlib/repo/manager/service/SushiliteServiceImpl.java similarity index 98% rename from src/main/java/eu/dnetlib/repo/manager/service/SushiliteApiImpl.java rename to src/main/java/eu/dnetlib/repo/manager/service/SushiliteServiceImpl.java index ffb1e91..a7d6d97 100644 --- a/src/main/java/eu/dnetlib/repo/manager/service/SushiliteApiImpl.java +++ b/src/main/java/eu/dnetlib/repo/manager/service/SushiliteServiceImpl.java @@ -20,7 +20,7 @@ import java.util.ArrayList; import java.util.List; @Service("sushiliteService") -public class SushiliteApiImpl implements SushiliteApi { +public class SushiliteServiceImpl implements SushiliteService { @Value("${services.repomanager.usagestats.sushiliteEndpoint}") @@ -29,7 +29,7 @@ public class SushiliteApiImpl implements SushiliteApi { @Autowired private EmailUtils emailUtils; - private static final org.apache.log4j.Logger LOGGER = org.apache.log4j.Logger.getLogger(SushiliteApiImpl.class); + private static final org.apache.log4j.Logger LOGGER = org.apache.log4j.Logger.getLogger(SushiliteServiceImpl.class); @Override diff --git a/src/main/java/eu/dnetlib/repo/manager/service/UserApi.java b/src/main/java/eu/dnetlib/repo/manager/service/UserService.java similarity index 80% rename from src/main/java/eu/dnetlib/repo/manager/service/UserApi.java rename to src/main/java/eu/dnetlib/repo/manager/service/UserService.java index 386eadc..5b345c9 100644 --- a/src/main/java/eu/dnetlib/repo/manager/service/UserApi.java +++ b/src/main/java/eu/dnetlib/repo/manager/service/UserService.java @@ -3,7 +3,7 @@ package eu.dnetlib.repo.manager.service; import org.springframework.http.ResponseEntity; -public interface UserApi { +public interface UserService { ResponseEntity login(); } diff --git a/src/main/java/eu/dnetlib/repo/manager/service/UserApiImpl.java b/src/main/java/eu/dnetlib/repo/manager/service/UserServiceImpl.java similarity index 89% rename from src/main/java/eu/dnetlib/repo/manager/service/UserApiImpl.java rename to src/main/java/eu/dnetlib/repo/manager/service/UserServiceImpl.java index e4ae18c..8e736ab 100644 --- a/src/main/java/eu/dnetlib/repo/manager/service/UserApiImpl.java +++ b/src/main/java/eu/dnetlib/repo/manager/service/UserServiceImpl.java @@ -4,10 +4,8 @@ import org.mitre.openid.connect.model.OIDCAuthenticationToken; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; -import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.context.SecurityContextHolder; -import org.springframework.stereotype.Component; import org.springframework.stereotype.Service; import java.util.HashMap; @@ -16,10 +14,10 @@ import java.util.Map; import java.util.stream.Collectors; @Service("userService") -public class UserApiImpl implements UserApi { +public class UserServiceImpl implements UserService { private static final org.apache.log4j.Logger LOGGER = org.apache.log4j.Logger - .getLogger(UserApiImpl.class); + .getLogger(UserServiceImpl.class); @Value("${oidc.issuer}") private String oidc_issuer; diff --git a/src/main/java/eu/dnetlib/repo/manager/service/ValidatorApi.java b/src/main/java/eu/dnetlib/repo/manager/service/ValidatorService.java similarity index 97% rename from src/main/java/eu/dnetlib/repo/manager/service/ValidatorApi.java rename to src/main/java/eu/dnetlib/repo/manager/service/ValidatorService.java index bc0580f..78db9ab 100644 --- a/src/main/java/eu/dnetlib/repo/manager/service/ValidatorApi.java +++ b/src/main/java/eu/dnetlib/repo/manager/service/ValidatorService.java @@ -13,7 +13,7 @@ import java.util.List; -public interface ValidatorApi { +public interface ValidatorService { JobForValidation submitJobForValidation(JobForValidation jobForValidation) throws ValidatorServiceException; diff --git a/src/main/java/eu/dnetlib/repo/manager/service/ValidatorApiImpl.java b/src/main/java/eu/dnetlib/repo/manager/service/ValidatorServiceImpl.java similarity index 94% rename from src/main/java/eu/dnetlib/repo/manager/service/ValidatorApiImpl.java rename to src/main/java/eu/dnetlib/repo/manager/service/ValidatorServiceImpl.java index 7a92f87..6edb48d 100644 --- a/src/main/java/eu/dnetlib/repo/manager/service/ValidatorApiImpl.java +++ b/src/main/java/eu/dnetlib/repo/manager/service/ValidatorServiceImpl.java @@ -1,6 +1,5 @@ package eu.dnetlib.repo.manager.service; -import eu.dnetlib.api.functionality.ValidatorService; import eu.dnetlib.api.functionality.ValidatorServiceException; import eu.dnetlib.domain.functionality.validator.JobForValidation; import eu.dnetlib.domain.functionality.validator.RuleSet; @@ -18,7 +17,6 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.core.context.SecurityContextHolder; -import org.springframework.stereotype.Component; import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; @@ -31,30 +29,30 @@ import java.util.concurrent.ConcurrentHashMap; @Service("validatorService") -public class ValidatorApiImpl implements ValidatorApi { +public class ValidatorServiceImpl implements ValidatorService { @Autowired - private MonitorApiImpl monitorApi; + private MonitorServiceImpl monitorApi; @Resource(name = "validatorServiceLocator") - private ServiceLocator validatorServiceLocator; + private ServiceLocator validatorServiceLocator; - private ValidatorService getValidationService() { + private eu.dnetlib.api.functionality.ValidatorService getValidationService() { return this.validatorServiceLocator.getService(); } - public ServiceLocator getValidatorServiceLocator() { + public ServiceLocator getValidatorServiceLocator() { return validatorServiceLocator; } - public void setValidatorServiceLocator(ServiceLocator validatorServiceLocator) { + public void setValidatorServiceLocator(ServiceLocator validatorServiceLocator) { this.validatorServiceLocator = validatorServiceLocator; } private Map> rulesetMap = new ConcurrentHashMap>(); private static final Logger LOGGER = Logger - .getLogger(ValidatorApiImpl.class); + .getLogger(ValidatorServiceImpl.class); @Autowired private EmailUtils emailUtils; diff --git a/src/main/java/eu/dnetlib/repo/manager/utils/Converter.java b/src/main/java/eu/dnetlib/repo/manager/utils/Converter.java index 209dd78..fa41161 100644 --- a/src/main/java/eu/dnetlib/repo/manager/utils/Converter.java +++ b/src/main/java/eu/dnetlib/repo/manager/utils/Converter.java @@ -283,6 +283,7 @@ public class Converter { jsonObject.put("identities",identities); + jsonObject.put("subjects",""); //TODO check fields /* jsonObject.put("certificates",repository.getCertificates()); diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index f2b600d..bd2f749 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -10,7 +10,8 @@ ISLookUpService.url = ${IS.url}/isLookUp ISRegistryService.url = ${IS.url}/isRegistry ISSNService.url = ${IS.url}/services/isSN -ValidatorService.url=http://adonis.athenarc.gr:8080/validator-service/services/validatorWebService +#ValidatorService.url=http://adonis.athenarc.gr:8080/validator-service/services/validatorWebService +ValidatorService.url=http://beta.services.openaire.eu/validator-service/services/validatorWebService ## Broker Service services.broker.url = http://broker1-dev-dnet.d4science.org diff --git a/src/main/webapp/WEB-INF/log4j.properties b/src/main/webapp/WEB-INF/log4j.properties index 9ee8580..ed40c67 100644 --- a/src/main/webapp/WEB-INF/log4j.properties +++ b/src/main/webapp/WEB-INF/log4j.properties @@ -11,7 +11,7 @@ log4j.logger.com.opensymphony.xwork2.ObjectFactory = FATAL log4j.logger.eu.dnetlib.repo.manager=DEBUG log4j.appender.R=org.apache.log4j.RollingFileAppender -#log4j.appender.R.File=/var/log/dnet/repo-manager/repo-manager-gui.log +log4j.appender.R.File=/tmp/repository-service.log #log4j.appender.R.File=/var/log/tomcat_dnet/8780/repository-service.log log4j.appender.R.MaxFileSize=10MB log4j.appender.R.MaxBackupIndex=10 @@ -19,7 +19,7 @@ log4j.appender.R.layout=org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern= %d %p %t [%c] - %m%n log4j.appender.S=org.apache.log4j.RollingFileAppender -#log4j.appender.S.File=/var/log/dnet/repo-manager/repo-manager-gui-spring.log +log4j.appender.S.File=/tmp/repository-service-spring.log #log4j.appender.S.File=/var/log/tomcat_dnet/8780/repository-service-spring.log log4j.appender.S.MaxFileSize=10MB log4j.appender.S.MaxBackupIndex=10 diff --git a/uoa-repository-manager-service.iml b/uoa-repository-manager-service.iml new file mode 100644 index 0000000..989e8bf --- /dev/null +++ b/uoa-repository-manager-service.iml @@ -0,0 +1,228 @@ + + + + + + + file://$MODULE_DIR$/src/main/webapp/WEB-INF/applicationContext.xml + file://$MODULE_DIR$/src/main/webapp/WEB-INF/aai-security.xml + file://$MODULE_DIR$/src/main/resources/application-context.xml + file://$MODULE_DIR$/src/main/webapp/WEB-INF/spring-servlet.xml + file://$MODULE_DIR$/src/main/java/eu/dnetlib/repo/manager/service/config/Config.java + file://$MODULE_DIR$/src/main/java/eu/dnetlib/repo/manager/service/config/JdbcConfig.java + file://$MODULE_DIR$/src/main/java/eu/dnetlib/repo/manager/service/config/PropertyPlaceHolder.java + file://$MODULE_DIR$/src/main/java/eu/dnetlib/repo/manager/service/config/SwaggerConfig.java + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file