1. Bug fix on spring setup

2. Bug fix on converter class
This commit is contained in:
Panagiotis Kanakakis 2019-02-06 00:09:13 +00:00
parent 09409528d3
commit 99d834dc0e
11 changed files with 127 additions and 184 deletions

View File

@ -234,6 +234,12 @@
<version>2.6.2</version>
</dependency>
<dependency>
<groupId>com.thetransactioncompany</groupId>
<artifactId>cors-filter</artifactId>
<version>2.5</version>
</dependency>
</dependencies>
<build>

View File

@ -7,6 +7,7 @@ import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;
import org.springframework.session.web.http.CookieSerializer;
import org.springframework.session.web.http.DefaultCookieSerializer;
@ -16,8 +17,7 @@ import javax.annotation.PostConstruct;
@Configuration
@EnableRedisHttpSession
@PropertySource(value = {"classpath:application.properties"} )
@ComponentScan(basePackages = "eu.dnetlib.repo.manager.controllers")
@ComponentScan(basePackages = "eu.dnetlib.repo.manager.*")
public class Config {
private static Logger LOGGER = Logger.getLogger(Config.class);

View File

@ -1,5 +1,6 @@
package eu.dnetlib.repo.manager.config;
import eu.dnetlib.repo.manager.controllers.*;
import eu.dnetlib.repo.manager.service.MonitorService;
import eu.dnetlib.repo.manager.service.PiWikService;
import eu.dnetlib.repo.manager.service.RepositoryService;
@ -27,11 +28,15 @@ import java.util.ArrayList;
@EnableSwagger2
@EnableWebMvc
@ComponentScan(basePackageClasses = {
RepositoryService.class,
MonitorService.class,
ValidatorService.class,
PiWikService.class
})
RepositoryController.class,
MonitorController.class,
ValidatorController.class,
PiWikController.class,
BrokerController.class,
StatsController.class,
UserController.class,
SushiliteController.class
},basePackages = "eu.dnetlib.repo.manager.*")
public class SwaggerConfig {
@Bean

View File

@ -197,7 +197,7 @@ public class RepositoryController {
@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 {
@RequestBody RepositoryInterface repositoryInterface) throws Exception {
return repositoryService.updateRepositoryInterface(repoId, registeredBy, repositoryInterface);
}
}

View File

@ -1,60 +0,0 @@
package eu.dnetlib.repo.manager.service;
import eu.dnetlib.api.functionality.ValidatorServiceException;
import eu.dnetlib.repo.manager.exception.ResourceNotFoundException;
import eu.dnetlib.repo.manager.exception.ServerError;
import eu.dnetlib.repo.manager.shared.BrokerException;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.json.JSONException;
import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;
import org.springframework.http.HttpStatus;
import org.springframework.security.access.AccessDeniedException;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.ResponseStatus;
import javax.servlet.http.HttpServletRequest;
import java.net.UnknownHostException;
@ControllerAdvice
@Order(Ordered.HIGHEST_PRECEDENCE)
public class GenericControllerAdvice {
private Logger logger = LogManager.getLogger(GenericControllerAdvice.class);
@ResponseStatus(HttpStatus.NOT_FOUND)
@ExceptionHandler(ResourceNotFoundException.class)
@ResponseBody
ServerError securityException(HttpServletRequest req, Exception ex) {
return new ServerError(req.getRequestURL().toString(),ex);
}
@ResponseStatus(HttpStatus.FORBIDDEN)
@ExceptionHandler(AccessDeniedException.class)
@ResponseBody
ServerError accessDeniedException(HttpServletRequest req, Exception ex) {
return new ServerError(req.getRequestURL().toString(),ex);
}
@ResponseStatus(HttpStatus.NOT_FOUND)
@ExceptionHandler(UnknownHostException.class)
@ResponseBody
ServerError unknownHostException(HttpServletRequest req, Exception ex) {
return new ServerError(req.getRequestURL().toString(),ex);
}
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
@ExceptionHandler({JSONException.class,BrokerException.class,ValidatorServiceException.class})
@ResponseBody
ServerError internalException(HttpServletRequest req, Exception ex) {
return new ServerError(req.getRequestURL().toString(),ex);
}
}

View File

@ -67,6 +67,6 @@ public interface RepositoryService {
Map<String, String> getListLatestUpdate(String mode) throws RepositoryServiceException, JSONException;
RepositoryInterface updateRepositoryInterface(String repositoryId, String registeredBy, RepositoryInterface repositoryInterface) throws JSONException;
RepositoryInterface updateRepositoryInterface(String repositoryId, String registeredBy, RepositoryInterface repositoryInterface) throws Exception;
}

View File

@ -9,8 +9,8 @@ import eu.dnetlib.domain.enabling.Vocabulary;
import eu.dnetlib.repo.manager.domain.RepositorySnippet;
import eu.dnetlib.repo.manager.domain.RequestFilter;
import eu.dnetlib.repo.manager.exception.ResourceNotFoundException;
import eu.dnetlib.repo.manager.utils.Converter;
import eu.dnetlib.repo.manager.shared.*;
import eu.dnetlib.repo.manager.utils.Converter;
import gr.uoa.di.driver.enabling.vocabulary.VocabularyLoader;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.log4j.Logger;
@ -22,7 +22,6 @@ 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.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Service;
@ -70,6 +69,7 @@ public class RepositoryServiceImpl implements RepositoryService {
@Autowired
private EmailUtils emailUtils;
private Map<String, Vocabulary> vocabularyMap = new ConcurrentHashMap<String, Vocabulary>();
private Map<String, String> countriesMap = new HashMap<>();
@ -489,18 +489,7 @@ public class RepositoryServiceImpl implements RepositoryService {
.fromHttpUrl(baseAddress + "/ds/add/")
.build()
.encode();
String json_repository = Converter.repositoryObjectToJson(repository);
ObjectMapper mapper = new ObjectMapper();
mapper.enable(SerializationFeature.INDENT_OUTPUT);
try {
LOGGER.debug(mapper.writeValueAsString(json_repository));
} catch (JsonProcessingException e) {
e.printStackTrace();
}
HttpEntity<String> httpEntity = new HttpEntity <String> (json_repository,httpHeaders);
ResponseEntity responseEntity = restTemplate.exchange(uriComponents.toUri(),HttpMethod.POST, httpEntity, ResponseEntity.class);
@ -751,7 +740,7 @@ public class RepositoryServiceImpl implements RepositoryService {
@Override
public RepositoryInterface updateRepositoryInterface(@RequestParam("repoId") String repoId,
@RequestParam("registeredBy") String registeredBy,
@RequestBody RepositoryInterface repositoryInterface) throws JSONException {
@RequestBody RepositoryInterface repositoryInterface) throws Exception {
this.updateBaseUrl(repoId,repositoryInterface.getId(),repositoryInterface.getBaseUrl());
this.updateCompliance(repoId,repositoryInterface.getId(),repositoryInterface.getCompliance());
@ -759,14 +748,15 @@ public class RepositoryServiceImpl implements RepositoryService {
return repositoryInterface;
}
private void updateValidationSet(String repositoryId, String repositoryInterfaceId, String validationSet) {
private void updateValidationSet(String repositoryId, String repositoryInterfaceId, String validationSet) throws Exception {
UriComponents uriComponents = UriComponentsBuilder
.fromHttpUrl(baseAddress + "/ds/api/oaiset")
.queryParam("dsId",repositoryId)
.queryParam("apiId",repositoryInterfaceId)
.queryParam("oaiSet",validationSet)
.build().encode();
restTemplate.postForObject(uriComponents.toUri(),null,String.class);
restTemplate.exchange(uriComponents.toUri(),HttpMethod.POST, null, ResponseEntity.class);
}

View File

@ -2,6 +2,7 @@ package eu.dnetlib.repo.manager.utils;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import eu.dnetlib.domain.data.Repository;
import eu.dnetlib.domain.data.RepositoryInterface;
import eu.dnetlib.repo.manager.domain.RepositorySnippet;
@ -225,65 +226,65 @@ public class Converter {
public static String repositoryObjectToJson(Repository repository) throws JSONException, JsonProcessingException {
JSONObject jsonObject = new JSONObject();
HashMap<String,Object> repositoryMap = new HashMap<>();
ObjectMapper mapper = new ObjectMapper();
jsonObject.put("id",repository.getId());
jsonObject.put("openaireId",getOpenaireId(repository.getId()));
jsonObject.put("officialname",repository.getOfficialName());
jsonObject.put("englishname",repository.getEnglishName());
jsonObject.put("websiteurl",repository.getWebsiteUrl());
jsonObject.put("logourl",repository.getLogoUrl());
jsonObject.put("contactemail",repository.getContactEmail());
jsonObject.put("longitude",repository.getLongitude().toString());
jsonObject.put("latitude",repository.getLatitude().toString());
jsonObject.put("timezone",repository.getTimezone());
repositoryMap.put("id",repository.getId());
repositoryMap.put("openaireId",getOpenaireId(repository.getId()));
repositoryMap.put("officialname",repository.getOfficialName());
repositoryMap.put("englishname",repository.getEnglishName());
repositoryMap.put("websiteurl",repository.getWebsiteUrl());
repositoryMap.put("logourl",repository.getLogoUrl());
repositoryMap.put("contactemail",repository.getContactEmail());
repositoryMap.put("longitude",repository.getLongitude().toString());
repositoryMap.put("latitude",repository.getLatitude().toString());
repositoryMap.put("timezone",repository.getTimezone());
jsonObject.put("namespaceprefix",repository.getNamespacePrefix()!=null?repository.getNamespacePrefix():"");
jsonObject.put("languages",repository.getOdLanguages()!=null?repository.getOdLanguages():"");
repositoryMap.put("namespaceprefix",repository.getNamespacePrefix()!=null?repository.getNamespacePrefix():"");
repositoryMap.put("languages",repository.getOdLanguages()!=null?repository.getOdLanguages():"");
jsonObject.put("dateofcollection",repository.getDateOfCollection()!=null?convertDateToString(repository.getDateOfCollection()):"");
repositoryMap.put("dateofcollection",repository.getDateOfCollection()!=null?convertDateToString(repository.getDateOfCollection()):"");
/*
* typology -> platform
* datasource class -> typology
* */
jsonObject.put("typology",repository.getDatasourceClass());
jsonObject.put("platform",repository.getTypology());
repositoryMap.put("typology",repository.getDatasourceClass());
repositoryMap.put("platform",repository.getTypology());
jsonObject.put("dateofvalidation",repository.getDateOfCollection()!=null?convertDateToString(repository.getDateOfCollection()):"");
jsonObject.put("activationId",repository.getActivationId()!=null?repository.getActivationId():"");
repositoryMap.put("dateofvalidation",repository.getDateOfCollection()!=null?convertDateToString(repository.getDateOfCollection()):"");
repositoryMap.put("activationId",repository.getActivationId()!=null?repository.getActivationId():"");
jsonObject.put("description",repository.getDescription());
repositoryMap.put("description",repository.getDescription());
jsonObject.put("eissn",repository.getEissn()!=null?repository.getEissn():"");
jsonObject.put("issn",repository.getIssn()!=null?repository.getIssn():"");
jsonObject.put("lissn",repository.getLissn()!=null?repository.getLissn():"");
repositoryMap.put("eissn",repository.getEissn()!=null?repository.getEissn():"");
repositoryMap.put("issn",repository.getIssn()!=null?repository.getIssn():"");
repositoryMap.put("lissn",repository.getLissn()!=null?repository.getLissn():"");
jsonObject.put("registeredby",repository.getRegisteredBy());
repositoryMap.put("registeredby",repository.getRegisteredBy());
jsonObject.put("aggregator",repository.getAggregator()!=null?repository.getAggregator():"");
jsonObject.put("collectedfrom",repository.getCollectedFrom()!=null?repository.getCollectedFrom():"");
repositoryMap.put("aggregator",repository.getAggregator()!=null?repository.getAggregator():"");
repositoryMap.put("collectedfrom",repository.getCollectedFrom()!=null?repository.getCollectedFrom():"");
jsonObject.put("managed",repository.isRegistered());
repositoryMap.put("managed",repository.isRegistered());
JSONObject organization = new JSONObject();
Map<String,String> organization = new HashMap<>();
organization.put("legalname",repository.getOrganization());
organization.put("country",repository.getCountryCode());
organization.put("legalshortname","");
organization.put("websiteurl","");
organization.put("logourl","");
JSONArray organizations = new JSONArray();
organizations.put(organization);
jsonObject.put("organizations",organizations);
List organizations = new ArrayList();
organizations.add(organization);
repositoryMap.put("organizations",organizations);
//TODO check identitites
JSONArray identities = new JSONArray();
identities.put(identities);
jsonObject.put("identities",identities);
jsonObject.put("subjects","");
//Map<String,String> identity = new HashMap<>();
List identities = new ArrayList();
// identities.add(identities);
repositoryMap.put("identities",identities);
repositoryMap.put("subjects","");
//TODO check fields
/* jsonObject.put("certificates",repository.getCertificates());
@ -305,8 +306,7 @@ public class Converter {
//datasource.get("platform");
//datasource.get("subjects");*/
ObjectMapper mapper = new ObjectMapper();
return mapper.writeValueAsString(jsonObject);
return mapper.writeValueAsString(repositoryMap);
}
public static String repositoryInterfaceObjectToJson(Repository repository,RepositoryInterface repositoryInterface) throws JSONException {

View File

@ -11,7 +11,8 @@ 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://beta.services.openaire.eu/validator-service/services/validatorWebService
#ValidatorService.url=http://beta.services.openaire.eu/validator-service/services/validatorWebService
ValidatorService.url=http://88.197.53.69:8080/validator-service/
## Broker Service
services.broker.url = http://broker1-dev-dnet.d4science.org
@ -60,8 +61,8 @@ oidc.issuer = https://aai.openaire.eu/oidc/
oidc.id = 767422b9-5461-4807-a80a-f9a2072d3a7d
oidc.secret = AMQtGlbTXNjwjhF0st28LmM6V0XypMdaVS7tJmGuYFlmH36iIv4t7tVqYuLYrNPkhnZ_GPUJvhymBhFupdgb6aU
oidc.dev.home = http://localhost:4200/uoa-repository-manager-service/openid_connect_login
webapp.dev.front = http://localhost:4200/landing
oidc.dev.home = http://aleka.athenarc.gr:8480/uoa-repository-manager-service/openid_connect_login
webapp.dev.front = http://aleka.athenarc.gr:4200/landing
##REDIS-AAI

View File

@ -1,31 +1,31 @@
package unitest;
import eu.dnetlib.repo.manager.config.RepoManagerContextLoaderListener;
import eu.dnetlib.repo.manager.utils.OaiTools;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = RepoManagerContextLoaderListener.class)
//@WebAppConfiguration
public class ValidatorTest {
@Test
public void identiFy(){
String url = "https://repozitorij.srce.unizg.hr/oai";
System.out.println("Identify repository with url : " + url);
try {
System.out.println(OaiTools.identifyRepository(url));
} catch (Exception e) {
System.out.println(e);
}
}
}
//package unitest;
//
//import eu.dnetlib.repo.manager.config.RepoManagerContextLoaderListener;
//import eu.dnetlib.repo.manager.utils.OaiTools;
//import org.junit.Test;
//import org.junit.runner.RunWith;
//import org.springframework.test.context.ContextConfiguration;
//import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
//
//@RunWith(SpringJUnit4ClassRunner.class)
//@ContextConfiguration(classes = RepoManagerContextLoaderListener.class)
////@WebAppConfiguration
//public class ValidatorTest {
//
//
// @Test
// public void identiFy(){
//
// String url = "https://repozitorij.srce.unizg.hr/oai";
//
//
// System.out.println("Identify repository with url : " + url);
// try {
// System.out.println(OaiTools.identifyRepository(url));
// } catch (Exception e) {
// System.out.println(e);
// }
// }
//
//
//}

View File

@ -3,15 +3,13 @@
<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>
<fileset id="fileset" name="Spring Servlet" removed="false">
<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>
<file>file://$MODULE_DIR$/src/main/webapp/WEB-INF/aai-security.xml</file>
<file>file://$MODULE_DIR$/src/main/webapp/WEB-INF/applicationContext.xml</file>
<file>file://$MODULE_DIR$/src/main/resources/application-context.xml</file>
<file>file://$MODULE_DIR$/src/main/java/eu/dnetlib/repo/manager/config/Config.java</file>
<file>file://$MODULE_DIR$/src/main/java/eu/dnetlib/repo/manager/config/SwaggerConfig.java</file>
</fileset>
</configuration>
</facet>
@ -89,7 +87,7 @@
<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: junit:junit:4.13-beta-2" 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" />
@ -129,21 +127,22 @@
<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: eu.dnetlib:dnet-index-client:2.3.3-solr75-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.solr:solr-solrj:7.5.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.apache.zookeeper:zookeeper:3.4.11" 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: eu.dnetlib:dnet-index-solr-common:2.3.2-solr75" level="project" />
<orderEntry type="library" name="Maven: eu.dnetlib:cnr-cql-utils:2.1.3-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: joda-time:joda-time:2.10.1" 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" />
@ -188,19 +187,19 @@
<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.apache.tomcat:tomcat-catalina:9.0.14" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-servlet-api:9.0.14" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-jsp-api:9.0.14" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-el-api:9.0.14" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-juli:9.0.14" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-annotations-api:9.0.14" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-api:9.0.14" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-jni:9.0.14" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-coyote:9.0.14" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-util:9.0.14" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-util-scan:9.0.14" level="project" />
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-jaspic-api:9.0.14" level="project" />
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.4" 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" />
@ -224,5 +223,7 @@
<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" />
<orderEntry type="library" name="Maven: com.thetransactioncompany:cors-filter:2.5" level="project" />
<orderEntry type="library" name="Maven: com.thetransactioncompany:java-property-utils:1.9.1" level="project" />
</component>
</module>