1. Modify project structure

2. Nedds bug fix for emails
This commit is contained in:
Panagiotis Kanakakis 2019-02-04 12:47:04 +00:00
parent 130d06aa35
commit 09409528d3
29 changed files with 392 additions and 200 deletions

View File

@ -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 {

View File

@ -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<BrowseEntry> 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<String, List<SimpleSubscriptionDesc>> 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<Object> 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<String, Term> 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<String, List<Subscription>> getSubscriptionsOfUser(String userEmail) throws BrokerException{
return brokerApi.getSubscriptionsOfUser(userEmail);
return brokerService.getSubscriptionsOfUser(userEmail);
}

View File

@ -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);
}
}

View File

@ -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<PiwikInfo> 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<Object> 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<Object> 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);
}

View File

@ -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<RepositorySnippet> 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<Repository> 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<AggregationDetails> 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<String, List<AggregationDetails>> 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<Repository> 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<RepositoryInterface> 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<String> getDnetCountries(){
return repositoryApi.getDnetCountries();
return repositoryService.getDnetCountries();
}
@RequestMapping(value = "/getTypologies", method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
List<String> getTypologies(){
return repositoryApi.getTypologies();
return repositoryService.getTypologies();
}
@RequestMapping(value = "/getTimezones", method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
List<Timezone> 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<String> 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<String> 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<String, String> 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<String, String> 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<String, String> 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);
}
}

View File

@ -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<String, Object> getStatistics() throws JSONException {
return statsApi.getStatistics();
return statsService.getStatistics();
}
}

View File

@ -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);
}
}

View File

@ -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<Object> login() {
return userApi.login();
return userService.login();
}
}

View File

@ -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<Object> 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<RuleSet> 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<String> 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);
}

View File

@ -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;

View File

@ -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;

View File

@ -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,

View File

@ -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<ValidatorService> 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,

View File

@ -8,7 +8,7 @@ import org.springframework.http.ResponseEntity;
import java.util.List;
public interface PiWikApi {
public interface PiWikService {
PiwikInfo getPiwikSiteForRepo(String repositoryId);

View File

@ -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 = ?;";

View File

@ -11,7 +11,7 @@ import java.io.IOException;
import java.util.List;
import java.util.Map;
public interface RepositoryApi {
public interface RepositoryService {
Country[] getCountries() ;

View File

@ -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<Repository> 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<String> httpEntity = new HttpEntity<String>(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<String> 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 {

View File

@ -6,7 +6,7 @@ import org.json.JSONException;
import java.util.Map;
public interface StatsApi {
public interface StatsService {
Map<String, Object> getStatistics() throws JSONException, EndPointException;
}

View File

@ -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;

View File

@ -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,

View File

@ -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

View File

@ -3,7 +3,7 @@ package eu.dnetlib.repo.manager.service;
import org.springframework.http.ResponseEntity;
public interface UserApi {
public interface UserService {
ResponseEntity<Object> login();
}

View File

@ -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;

View File

@ -13,7 +13,7 @@ import java.util.List;
public interface ValidatorApi {
public interface ValidatorService {
JobForValidation submitJobForValidation(JobForValidation jobForValidation) throws ValidatorServiceException;

View File

@ -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<ValidatorService> validatorServiceLocator;
private ServiceLocator<eu.dnetlib.api.functionality.ValidatorService> validatorServiceLocator;
private ValidatorService getValidationService() {
private eu.dnetlib.api.functionality.ValidatorService getValidationService() {
return this.validatorServiceLocator.getService();
}
public ServiceLocator<ValidatorService> getValidatorServiceLocator() {
public ServiceLocator<eu.dnetlib.api.functionality.ValidatorService> getValidatorServiceLocator() {
return validatorServiceLocator;
}
public void setValidatorServiceLocator(ServiceLocator<ValidatorService> validatorServiceLocator) {
public void setValidatorServiceLocator(ServiceLocator<eu.dnetlib.api.functionality.ValidatorService> validatorServiceLocator) {
this.validatorServiceLocator = validatorServiceLocator;
}
private Map<String, List<RuleSet>> rulesetMap = new ConcurrentHashMap<String, List<RuleSet>>();
private static final Logger LOGGER = Logger
.getLogger(ValidatorApiImpl.class);
.getLogger(ValidatorServiceImpl.class);
@Autowired
private EmailUtils emailUtils;

View File

@ -283,6 +283,7 @@ public class Converter {
jsonObject.put("identities",identities);
jsonObject.put("subjects","");
//TODO check fields
/* jsonObject.put("certificates",repository.getCertificates());

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,228 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="Spring" name="Spring">
<configuration>
<fileset id="fileset" name="ApplicationContext" removed="false">
<file>file://$MODULE_DIR$/src/main/webapp/WEB-INF/applicationContext.xml</file>
<file>file://$MODULE_DIR$/src/main/webapp/WEB-INF/aai-security.xml</file>
<file>file://$MODULE_DIR$/src/main/resources/application-context.xml</file>
<file>file://$MODULE_DIR$/src/main/webapp/WEB-INF/spring-servlet.xml</file>
<file>file://$MODULE_DIR$/src/main/java/eu/dnetlib/repo/manager/service/config/Config.java</file>
<file>file://$MODULE_DIR$/src/main/java/eu/dnetlib/repo/manager/service/config/JdbcConfig.java</file>
<file>file://$MODULE_DIR$/src/main/java/eu/dnetlib/repo/manager/service/config/PropertyPlaceHolder.java</file>
<file>file://$MODULE_DIR$/src/main/java/eu/dnetlib/repo/manager/service/config/SwaggerConfig.java</file>
</fileset>
</configuration>
</facet>
<facet type="web" name="Web">
<configuration>
<descriptors>
<deploymentDescriptor name="web.xml" url="file://$MODULE_DIR$/src/main/webapp/WEB-INF/web.xml" />
</descriptors>
<webroots>
<root url="file://$MODULE_DIR$/src/main/webapp" relative="/" />
</webroots>
<sourceRoots>
<root url="file://$MODULE_DIR$/src/main/java" />
<root url="file://$MODULE_DIR$/src/main/resources" />
</sourceRoots>
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/uoa-repository-manager-service/WEB-INF/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:4.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-beans:4.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-core:4.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:4.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-web:4.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.hibernate:hibernate-validator-annotation-processor:4.1.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.hibernate:hibernate-validator:4.1.0.Final" level="project" />
<orderEntry type="library" name="Maven: javax.validation:validation-api:1.0.0.GA" level="project" />
<orderEntry type="library" name="Maven: log4j:log4j:1.2.17" level="project" />
<orderEntry type="library" name="Maven: eu.dnetlib:dnet-runtime:1.0.2-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: org.apache.cxf:cxf-core:3.1.5" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.woodstox:woodstox-core-asl:4.4.1" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.woodstox:stax2-api:3.1.4" level="project" />
<orderEntry type="library" name="Maven: org.apache.ws.xmlschema:xmlschema-core:2.2.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-bindings-soap:3.1.5" level="project" />
<orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-wsdl:3.1.5" level="project" />
<orderEntry type="library" name="Maven: wsdl4j:wsdl4j:1.6.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-databinding-jaxb:3.1.5" level="project" />
<orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-transports-http:3.1.5" level="project" />
<orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-frontend-jaxws:3.1.5" level="project" />
<orderEntry type="library" name="Maven: xml-resolver:xml-resolver:1.2" level="project" />
<orderEntry type="library" name="Maven: org.ow2.asm:asm:5.0.4" level="project" />
<orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-bindings-xml:3.1.5" level="project" />
<orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-frontend-simple:3.1.5" level="project" />
<orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-ws-addr:3.1.5" level="project" />
<orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-ws-policy:3.1.5" level="project" />
<orderEntry type="library" name="Maven: org.apache.neethi:neethi:3.0.3" level="project" />
<orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" />
<orderEntry type="library" name="Maven: eu.dnetlib:uoa-utils:2.0.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: javax.servlet:javax.servlet-api:3.0.1" level="project" />
<orderEntry type="library" name="Maven: org.antlr:antlr-runtime:3.0.1" level="project" />
<orderEntry type="library" name="Maven: eu.dnetlib:cnr-service-utils:1.0.3-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: apache:oro:2.0.8" level="project" />
<orderEntry type="library" name="Maven: eu.dnetlib:cnr-service-common:2.1.8-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: org.antlr:stringtemplate:3.2" level="project" />
<orderEntry type="library" name="Maven: org.antlr:antlr:2.7.7" level="project" />
<orderEntry type="library" name="Maven: org.quartz-scheduler:quartz:2.2.2" level="project" />
<orderEntry type="library" name="Maven: c3p0:c3p0:0.9.1.1" level="project" />
<orderEntry type="library" name="Maven: eu.dnetlib:cnr-spring-utils:1.0.3-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: jparsec:jparsec:2.0" level="project" />
<orderEntry type="library" name="Maven: net.sf.ehcache:ehcache:2.8.0" level="project" />
<orderEntry type="library" name="Maven: runcc:runcc:0.7" level="project" />
<orderEntry type="library" name="Maven: eu.dnetlib:uoa-api:2.0.1-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: eu.dnetlib:dnet-actionmanager-api:4.0.4-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: javax.mail:javax.mail-api:1.5.6" level="project" />
<orderEntry type="library" name="Maven: eu.dnetlib:uoa-domain:2.0.1-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: junit:junit:4.12" level="project" />
<orderEntry type="library" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
<orderEntry type="library" name="Maven: org.hibernate:hibernate-entitymanager:3.5.6-Final" level="project" />
<orderEntry type="library" name="Maven: org.hibernate:hibernate-core:3.5.6-Final" level="project" />
<orderEntry type="library" name="Maven: antlr:antlr:2.7.6" level="project" />
<orderEntry type="library" name="Maven: commons-collections:commons-collections:3.1" level="project" />
<orderEntry type="library" name="Maven: javax.transaction:jta:1.1" level="project" />
<orderEntry type="library" name="Maven: javassist:javassist:3.9.0.GA" level="project" />
<orderEntry type="library" name="Maven: org.hibernate.javax.persistence:hibernate-jpa-2.0-api:1.0.0.Final" level="project" />
<orderEntry type="library" name="Maven: org.hibernate:hibernate-annotations:3.5.6-Final" level="project" />
<orderEntry type="library" name="Maven: org.hibernate:hibernate-commons-annotations:3.2.0.Final" level="project" />
<orderEntry type="library" name="Maven: com.google.gwt:gwt-user:2.7.0" level="project" />
<orderEntry type="library" name="Maven: javax.validation:validation-api:sources:1.0.0.GA" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: com.google.gwt:gwt-servlet:2.7.0" level="project" />
<orderEntry type="library" name="Maven: eu.dnetlib:dnet-openaire-usage-stats-sushilite:1.0.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.9.6" level="project" />
<orderEntry type="library" name="Maven: cglib:cglib-nodep:2.2" level="project" />
<orderEntry type="library" name="Maven: eu.dnetlib:uoa-commons:2.0.2-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-core:2.2.7" level="project" />
<orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.2.7" level="project" />
<orderEntry type="library" name="Maven: com.sun.istack:istack-commons-runtime:2.16" level="project" />
<orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-impl:2.2.7" level="project" />
<orderEntry type="library" name="Maven: com.sun.xml.fastinfoset:FastInfoset:1.2.12" level="project" />
<orderEntry type="library" name="Maven: javax.xml.bind:jsr173_api:1.0" level="project" />
<orderEntry type="library" name="Maven: com.unboundid:unboundid-ldapsdk:1.1.3" level="project" />
<orderEntry type="library" name="Maven: apache:commons-logging:1.1.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context-support:4.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: eu.dnetlib:cnr-misc-utils:1.0.6-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.5" level="project" />
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.9" level="project" />
<orderEntry type="library" name="Maven: saxonica:saxon:9.1.0.8" level="project" />
<orderEntry type="library" name="Maven: saxonica:saxon-dom:9.1.0.8" level="project" />
<orderEntry type="library" name="Maven: jgrapht:jgrapht:0.7.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-test:4.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: commons-dbcp:commons-dbcp:1.4" level="project" />
<orderEntry type="library" name="Maven: commons-pool:commons-pool:1.5.4" level="project" />
<orderEntry type="library" name="Maven: eu.dnetlib:uoa-clients:2.0.1-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: eu.dnetlib:cnr-rmi-api:2.6.2-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: eu.dnetlib:dnet-datasource-manager-rmi:4.0.2-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: eu.dnetlib:cnr-enabling-database-api:2.1.2-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: eu.dnetlib:dnet-index-client:2.3.2-solr7-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: com.mycila:xmltool:3.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.solr:solr-solrj:7.2.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-math3:3.6.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.6" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpmime:4.5.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.zookeeper:zookeeper:3.4.10" level="project" />
<orderEntry type="library" name="Maven: org.noggit:noggit:0.8" level="project" />
<orderEntry type="library" name="Maven: eu.dnetlib:cnr-cql-utils:2.1.2-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: org.apache.lucene:lucene-queryparser:4.9.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.lucene:lucene-core:4.9.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.lucene:lucene-queries:4.9.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.lucene:lucene-sandbox:4.9.0" level="project" />
<orderEntry type="library" name="Maven: org.mongodb:mongo-java-driver:3.4.2" level="project" />
<orderEntry type="library" name="Maven: joda-time:joda-time:2.10" level="project" />
<orderEntry type="library" name="Maven: org.z3950.zing:cql-java:1.7" level="project" />
<orderEntry type="library" name="Maven: eu.dnetlib:dnet-data-provision-rmi:1.0.2-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: eu.dnetlib:uoa-hcm:2.0.1-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: commons-io:commons-io:2.4" level="project" />
<orderEntry type="library" name="Maven: se.kb:oai4j:0.6b1" level="project" />
<orderEntry type="library" name="Maven: dom4j:dom4j:1.6.1" level="project" />
<orderEntry type="library" name="Maven: jaxen:jaxen:1.1.1" level="project" />
<orderEntry type="library" name="Maven: xalan:xalan:2.7.2" level="project" />
<orderEntry type="library" name="Maven: xalan:serializer:2.7.2" level="project" />
<orderEntry type="library" name="Maven: xerces:xercesImpl:2.11.0" level="project" />
<orderEntry type="library" name="Maven: xml-apis:xml-apis:1.4.01" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.5.1" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.5.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:4.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aop:4.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: aopalliance:aopalliance:1.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:4.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-tx:4.2.5.RELEASE" level="project" />
<orderEntry type="library" name="Maven: com.sun.jersey:jersey-client:1.19.3" level="project" />
<orderEntry type="library" name="Maven: com.sun.jersey:jersey-core:1.19.3" level="project" />
<orderEntry type="library" name="Maven: javax.ws.rs:jsr311-api:1.1.1" level="project" />
<orderEntry type="library" name="Maven: org.aksw.gson:gson-utils-core:1.0.0" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava:19.0-rc2" level="project" />
<orderEntry type="library" name="Maven: org.json:json:20080701" level="project" />
<orderEntry type="library" name="Maven: com.sun.mail:javax.mail:1.6.0" level="project" />
<orderEntry type="library" name="Maven: javax.activation:activation:1.1" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.7.0" level="project" />
<orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.13" level="project" />
<orderEntry type="library" name="Maven: io.swagger:swagger-models:1.5.13" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-spi:2.7.0" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-core:2.7.0" level="project" />
<orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.6.14" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-schema:2.7.0" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:2.7.0" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:2.7.0" level="project" />
<orderEntry type="library" name="Maven: org.reflections:reflections:0.9.11" level="project" />
<orderEntry type="library" name="Maven: org.javassist:javassist:3.21.0-GA" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml:classmate:1.3.3" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.24" level="project" />
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:1.2.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:1.2.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.mapstruct:mapstruct:1.1.0.Final" level="project" />
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger-ui:2.7.0" level="project" />
<orderEntry type="library" name="Maven: postgresql:postgresql:9.1-901.jdbc3" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-catalina:9.0.12" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-servlet-api:9.0.12" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-jsp-api:9.0.12" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-el-api:9.0.12" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-juli:9.0.12" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-annotations-api:9.0.12" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-api:9.0.12" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-jni:9.0.12" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-coyote:9.0.12" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-util:9.0.12" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-util-scan:9.0.12" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-jaspic-api:9.0.12" level="project" />
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.3.3" level="project" />
<orderEntry type="library" name="Maven: org.mitre:openid-connect-client:1.3.0" level="project" />
<orderEntry type="library" name="Maven: org.mitre:openid-connect-common:1.3.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-core:4.2.2.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.3" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security.oauth:spring-security-oauth2:2.1.0.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-config:3.2.10.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-web:3.2.10.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-mapper-asl:1.9.13" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-core-asl:1.9.13" level="project" />
<orderEntry type="library" name="Maven: com.nimbusds:nimbus-jose-jwt:4.34.2" level="project" />
<orderEntry type="library" name="Maven: com.github.stephenc.jcip:jcip-annotations:1.0-1" level="project" />
<orderEntry type="library" name="Maven: net.minidev:json-smart:1.3.1" level="project" />
<orderEntry type="library" name="Maven: org.bouncycastle:bcpkix-jdk15on:1.55" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.persistence:javax.persistence:2.1.1" level="project" />
<orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk15on:1.60" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-pool2:2.4.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-redis:1.7.10.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-keyvalue:1.1.10.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:1.12.10.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-oxm:4.2.9.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.session:spring-session:1.3.1.RELEASE" level="project" />
<orderEntry type="library" name="Maven: redis.clients:jedis:2.9.0" level="project" />
<orderEntry type="library" name="Maven: com.google.code.gson:gson:2.6.2" level="project" />
</component>
</module>