Change parent to uoa-global-parent and add new configuration for log4j2. Extend export managers to check communities from production.
This commit is contained in:
parent
a3a86c6fdb
commit
a9e7ea5d2c
10
pom.xml
10
pom.xml
|
@ -3,8 +3,8 @@
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>eu.dnetlib</groupId>
|
<groupId>eu.dnetlib</groupId>
|
||||||
<artifactId>dnet45-parent</artifactId>
|
<artifactId>uoa-global-parent</artifactId>
|
||||||
<version>1.0.0</version>
|
<version>1.0.1</version>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>dnet-role-management</artifactId>
|
<artifactId>dnet-role-management</artifactId>
|
||||||
<version>1.0.3-SNAPSHOT</version>
|
<version>1.0.3-SNAPSHOT</version>
|
||||||
|
@ -36,6 +36,12 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-starter-web</artifactId>
|
<artifactId>spring-boot-starter-web</artifactId>
|
||||||
|
<exclusions>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-logging</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
</exclusions>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
package eu.dnetlib.dnetrolemanagement.config.security;
|
package eu.dnetlib.dnetrolemanagement.config.security;
|
||||||
|
|
||||||
import eu.dnetlib.dnetrolemanagement.config.properties.RedisProperties;
|
import eu.dnetlib.dnetrolemanagement.config.properties.RedisProperties;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.logging.log4j.LogManager;
|
||||||
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
@ -14,7 +15,7 @@ import org.springframework.session.web.http.HttpSessionStrategy;
|
||||||
@Configuration
|
@Configuration
|
||||||
public class RedisConfig {
|
public class RedisConfig {
|
||||||
|
|
||||||
private static final Logger logger = Logger.getLogger(RedisConfig.class);
|
private static final Logger logger = LogManager.getLogger(RedisConfig.class);
|
||||||
private final RedisProperties redisProperties;
|
private final RedisProperties redisProperties;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
package eu.dnetlib.dnetrolemanagement.config.security;
|
package eu.dnetlib.dnetrolemanagement.config.security;
|
||||||
|
|
||||||
import eu.dnetlib.dnetrolemanagement.config.properties.APIProperties;
|
import eu.dnetlib.dnetrolemanagement.config.properties.APIProperties;
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
@ -29,7 +27,6 @@ import java.util.List;
|
||||||
@EnableSwagger2
|
@EnableSwagger2
|
||||||
public class SwaggerConfig {
|
public class SwaggerConfig {
|
||||||
|
|
||||||
private final Logger logger = LoggerFactory.getLogger(SwaggerConfig.class);
|
|
||||||
private final APIProperties apiProperties;
|
private final APIProperties apiProperties;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
|
|
@ -3,7 +3,8 @@ package eu.dnetlib.dnetrolemanagement.controllers;
|
||||||
import eu.dnetlib.dnetrolemanagement.config.properties.APIProperties;
|
import eu.dnetlib.dnetrolemanagement.config.properties.APIProperties;
|
||||||
import eu.dnetlib.dnetrolemanagement.config.properties.RedisProperties;
|
import eu.dnetlib.dnetrolemanagement.config.properties.RedisProperties;
|
||||||
import eu.dnetlib.dnetrolemanagement.config.properties.RegistryProperties;
|
import eu.dnetlib.dnetrolemanagement.config.properties.RegistryProperties;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.logging.log4j.LogManager;
|
||||||
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
@ -15,7 +16,7 @@ import java.util.Map;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
public class HealthController {
|
public class HealthController {
|
||||||
private final Logger log = Logger.getLogger(this.getClass());
|
private final Logger log = LogManager.getLogger(this.getClass());
|
||||||
private final APIProperties apiProperties;
|
private final APIProperties apiProperties;
|
||||||
private final RedisProperties redisProperties;
|
private final RedisProperties redisProperties;
|
||||||
private final RegistryProperties registryProperties;
|
private final RegistryProperties registryProperties;
|
||||||
|
|
|
@ -4,15 +4,19 @@ import com.google.gson.Gson;
|
||||||
import com.google.gson.JsonArray;
|
import com.google.gson.JsonArray;
|
||||||
import eu.dnetlib.dnetrolemanagement.entities.User;
|
import eu.dnetlib.dnetrolemanagement.entities.User;
|
||||||
import eu.dnetlib.dnetrolemanagement.services.RegistryService;
|
import eu.dnetlib.dnetrolemanagement.services.RegistryService;
|
||||||
|
import org.apache.logging.log4j.LogManager;
|
||||||
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.CommandLineRunner;
|
import org.springframework.boot.CommandLineRunner;
|
||||||
import org.springframework.context.annotation.Profile;
|
import org.springframework.context.annotation.Profile;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.web.client.RestTemplate;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
|
@ -33,28 +37,51 @@ public class TypeManagersExport implements CommandLineRunner {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static class Community {
|
||||||
|
String id;
|
||||||
|
|
||||||
|
public Community(String id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(String id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
RegistryService registryService;
|
RegistryService registryService;
|
||||||
|
private final Logger logger = LogManager.getLogger(TypeManagersExport.class);
|
||||||
private final static String TYPE = "community";
|
private final static String TYPE = "community";
|
||||||
|
private final static String COMMUNITIES_API = "https://services.openaire.eu/openaire/community/communities";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run(String... args) throws Exception {
|
public void run(String... args) throws Exception {
|
||||||
|
RestTemplate restTemplate = new RestTemplate();
|
||||||
File file = new File(TYPE + "-managers.csv");
|
File file = new File(TYPE + "-managers.csv");
|
||||||
List<Manager> managers = new ArrayList<>();
|
List<Manager> managers = new ArrayList<>();
|
||||||
JsonArray cous = registryService.getCous(TYPE + ".");
|
JsonArray cous = registryService.getCous(TYPE + ".");
|
||||||
|
Community[] communities = new Gson().fromJson(restTemplate.getForEntity(COMMUNITIES_API, String.class).getBody(), Community[].class);
|
||||||
cous.forEach(cou -> {
|
cous.forEach(cou -> {
|
||||||
String entity = cou.getAsJsonObject().get("Name").getAsString().replace(TYPE + ".", "");
|
String entity = cou.getAsJsonObject().get("Name").getAsString().replace(TYPE + ".", "");
|
||||||
|
if(Arrays.stream(communities).anyMatch(community -> community.getId().equals(entity))) {
|
||||||
Integer couId = cou.getAsJsonObject().get("Id").getAsInt();
|
Integer couId = cou.getAsJsonObject().get("Id").getAsInt();
|
||||||
User[] emails = new Gson().fromJson(registryService.getUserEmailByCouId(couId, true), User[].class);
|
User[] emails = new Gson().fromJson(registryService.getUserEmailByCouId(couId, true), User[].class);
|
||||||
for(User email:emails) {
|
for(User email:emails) {
|
||||||
managers.add(new Manager(entity, email.getEmail()));
|
managers.add(new Manager(entity, email.getEmail()));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
try (PrintWriter pw = new PrintWriter(file)) {
|
try (PrintWriter pw = new PrintWriter(file)) {
|
||||||
pw.println(TYPE + ",email");
|
pw.println(TYPE + ",email");
|
||||||
managers.stream()
|
managers.stream()
|
||||||
.map(Manager::toCSV)
|
.map(Manager::toCSV)
|
||||||
.forEach(pw::println);
|
.forEach(pw::println);
|
||||||
|
logger.info("Export has been finished");
|
||||||
} catch (FileNotFoundException e) {
|
} catch (FileNotFoundException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,8 @@ import com.google.gson.JsonObject;
|
||||||
import eu.dnetlib.dnetrolemanagement.config.properties.RegistryProperties;
|
import eu.dnetlib.dnetrolemanagement.config.properties.RegistryProperties;
|
||||||
import eu.dnetlib.dnetrolemanagement.utils.HttpUtils;
|
import eu.dnetlib.dnetrolemanagement.utils.HttpUtils;
|
||||||
import eu.dnetlib.dnetrolemanagement.utils.JsonUtils;
|
import eu.dnetlib.dnetrolemanagement.utils.JsonUtils;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.logging.log4j.LogManager;
|
||||||
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.mitre.openid.connect.model.OIDCAuthenticationToken;
|
import org.mitre.openid.connect.model.OIDCAuthenticationToken;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.security.core.context.SecurityContextHolder;
|
import org.springframework.security.core.context.SecurityContextHolder;
|
||||||
|
@ -17,7 +18,7 @@ import java.util.*;
|
||||||
@Service
|
@Service
|
||||||
public class RegistryService {
|
public class RegistryService {
|
||||||
|
|
||||||
private static final Logger logger = Logger.getLogger(RegistryService.class);
|
private static final Logger logger = LogManager.getLogger(RegistryService.class);
|
||||||
|
|
||||||
private final String coid;
|
private final String coid;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package eu.dnetlib.dnetrolemanagement.utils;
|
package eu.dnetlib.dnetrolemanagement.utils;
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.logging.log4j.LogManager;
|
||||||
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.mitre.openid.connect.model.OIDCAuthenticationToken;
|
import org.mitre.openid.connect.model.OIDCAuthenticationToken;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.security.core.Authentication;
|
import org.springframework.security.core.Authentication;
|
||||||
|
@ -21,7 +22,7 @@ import java.util.Map;
|
||||||
@Service
|
@Service
|
||||||
public class AuthoritiesUpdater extends HttpSessionSecurityContextRepository {
|
public class AuthoritiesUpdater extends HttpSessionSecurityContextRepository {
|
||||||
|
|
||||||
private static final Logger logger = Logger.getLogger(AuthoritiesUpdater.class);
|
private final Logger logger = LogManager.getLogger(AuthoritiesUpdater.class);
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
FindByIndexNameSessionRepository sessions;
|
FindByIndexNameSessionRepository sessions;
|
||||||
|
|
|
@ -4,7 +4,6 @@ import com.google.gson.JsonElement;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import com.google.gson.JsonParser;
|
import com.google.gson.JsonParser;
|
||||||
import eu.dnetlib.dnetrolemanagement.config.properties.RegistryProperties;
|
import eu.dnetlib.dnetrolemanagement.config.properties.RegistryProperties;
|
||||||
import org.apache.log4j.Logger;
|
|
||||||
import org.apache.tomcat.util.codec.binary.Base64;
|
import org.apache.tomcat.util.codec.binary.Base64;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.http.*;
|
import org.springframework.http.*;
|
||||||
|
@ -17,8 +16,6 @@ import java.util.Map;
|
||||||
@Component
|
@Component
|
||||||
public class HttpUtils {
|
public class HttpUtils {
|
||||||
|
|
||||||
private static final Logger logger = Logger.getLogger(HttpUtils.class);
|
|
||||||
|
|
||||||
private final RegistryProperties registryProperties;
|
private final RegistryProperties registryProperties;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
log4j.rootLogger = DEBUG, R
|
|
||||||
|
|
||||||
log4j.logger.eu.dnetlib = DEBUG
|
|
||||||
log4j.logger.org.springframework = DEBUG, S
|
|
||||||
|
|
||||||
log4j.additivity.org.springframework = false
|
|
||||||
|
|
||||||
log4j.appender.R=org.apache.log4j.RollingFileAppender
|
|
||||||
log4j.appender.R.File=/var/log/dnet/dnet-role-management/dnet-role-management.log
|
|
||||||
log4j.appender.R.MaxFileSize=10MB
|
|
||||||
log4j.appender.R.MaxBackupIndex=10
|
|
||||||
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/dnet-role-management/dnet-role-management-spring.log
|
|
||||||
log4j.appender.S.MaxFileSize=10MB
|
|
||||||
log4j.appender.S.MaxBackupIndex=10
|
|
||||||
log4j.appender.S.layout=org.apache.log4j.PatternLayout
|
|
||||||
log4j.appender.S.layout.ConversionPattern= %d %p %t [%c] - %m%n
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Configuration status="WARN" monitorInterval="30">
|
||||||
|
<Properties>
|
||||||
|
<Property name="LOG_PATTERN">
|
||||||
|
%d %p %t [%c] - %m%n
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
<Appenders>
|
||||||
|
<!-- Rolling File Appender -->
|
||||||
|
<RollingFile name="R" fileName="/var/log/dnet/dnet-role-management/dnet-role-management.log"
|
||||||
|
filePattern="/var/log/dnet/dnet-role-management/dnet-role-management-%d{yyyy-MM-dd}-%i.log">
|
||||||
|
<PatternLayout>
|
||||||
|
<Pattern>${LOG_PATTERN}</Pattern>
|
||||||
|
</PatternLayout>
|
||||||
|
<Policies>
|
||||||
|
<SizeBasedTriggeringPolicy size="10MB" />
|
||||||
|
</Policies>
|
||||||
|
<DefaultRolloverStrategy max="10"/>
|
||||||
|
</RollingFile>
|
||||||
|
<RollingFile name="S" fileName="/var/log/dnet/dnet-role-management/dnet-role-management-spring.log"
|
||||||
|
filePattern="/var/log/dnet/dnet-role-management/dnet-role-management-spring-%d{yyyy-MM-dd}-%i.log">
|
||||||
|
<PatternLayout>
|
||||||
|
<Pattern>${LOG_PATTERN}</Pattern>
|
||||||
|
</PatternLayout>
|
||||||
|
<Policies>
|
||||||
|
<SizeBasedTriggeringPolicy size="10MB" />
|
||||||
|
</Policies>
|
||||||
|
<DefaultRolloverStrategy max="10"/>
|
||||||
|
</RollingFile>
|
||||||
|
</Appenders>
|
||||||
|
<Loggers>
|
||||||
|
<Logger name="org.springframework" level="debug" additivity="false">
|
||||||
|
<AppenderRef ref="S"/>
|
||||||
|
</Logger>
|
||||||
|
<Root level="debug">
|
||||||
|
<AppenderRef ref="R"/>
|
||||||
|
</Root>
|
||||||
|
</Loggers>
|
||||||
|
</Configuration>
|
Loading…
Reference in New Issue