diff --git a/pom.xml b/pom.xml
index 7a85d23..141da51 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2,27 +2,21 @@
4.0.0
- eu.dnetlib
uoa-admin-tools
2.0.5-SNAPSHOT
war
uoa-admin-tools
-
- scm:git:gitea@code-repo.d4science.org:MaDgIK/uoa-admin-tools.git
- scm:git:gitea@code-repo.d4science.org:MaDgIK/uoa-admin-tools.git
- https://code-repo.d4science.org/MaDgIK/uoa-admin-tools/
-
-
+
+ scm:git:gitea@code-repo.d4science.org:MaDgIK/uoa-admin-tools.git
+
- org.springframework.boot
- spring-boot-starter-parent
- 1.5.8.RELEASE
-
+ eu.dnetlib
+ uoa-spring-boot-parent
+ 1.0.0
UTF-8
UTF-8
- 1.8
${maven.build.timestamp}
E MMM dd HH:mm:ss z yyyy
@@ -31,77 +25,51 @@
org.springframework.boot
spring-boot-starter-data-mongodb
-
- org.springframework.boot
- spring-boot-starter-web
-
-
- org.springframework.boot
- spring-boot-starter-logging
-
-
-
-
-
- org.springframework.boot
- spring-boot-starter-tomcat
- provided
-
-
- org.springframework.boot
- spring-boot-starter-test
- test
-
-
-
- org.springframework.boot
- spring-boot-starter-security
-
-
-
- log4j
- log4j
- 1.2.17
-
-
- com.google.code.gson
- gson
- 2.8.2
-
javax.mail
mail
1.5.0-b01
-
- commons-io
- commons-io
- 20030203.000550
-
+
+
+
+
+
eu.dnetlib
uoa-admin-tools-library
- 1.0.5
+ 1.0.6
+
+
+
+ io.springfox
+ springfox-swagger2
+ ${swagger-version}
+
+
+
+ io.springfox
+ springfox-swagger-ui
+ ${swagger-version}
-
- org.springframework.boot
- spring-boot-maven-plugin
-
-
-
-
-
-
-
-
-
-
-
-
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+ eu.dnetlib.uoaadmintools.UoaAdminToolsApplication
+ true
+
+
+
+
+ repackage
+
+
+
+
org.apache.maven.plugins
maven-war-plugin
@@ -112,27 +80,5 @@
uoa-admin-tools
-
-
- src/main/resources
- true
-
-
-
-
-
- dnet45-releases
- D-Net 45 Releases
- http://maven.research-infrastructures.eu/nexus/content/repositories/dnet45-releases
-
- true
-
-
- false
-
- default
-
-
-
diff --git a/src/main/java/eu/dnetlib/uoaadmintools/UoaAdminToolsApplication.java b/src/main/java/eu/dnetlib/uoaadmintools/UoaAdminToolsApplication.java
index c9e5dee..808e13e 100644
--- a/src/main/java/eu/dnetlib/uoaadmintools/UoaAdminToolsApplication.java
+++ b/src/main/java/eu/dnetlib/uoaadmintools/UoaAdminToolsApplication.java
@@ -2,6 +2,7 @@ package eu.dnetlib.uoaadmintools;
import com.fasterxml.jackson.databind.ObjectMapper;
import eu.dnetlib.uoaadmintools.configuration.GlobalVars;
+import eu.dnetlib.uoaadmintools.configuration.properties.APIProperties;
import eu.dnetlib.uoaadmintools.configuration.properties.BrowserCacheConfig;
import eu.dnetlib.uoaadmintools.configuration.properties.ManagersApiConfig;
import eu.dnetlib.uoaadmintools.configuration.properties.MongoConfig;
@@ -24,7 +25,7 @@ import org.springframework.web.client.RestTemplate;
@PropertySource("classpath:admintools.properties"),
@PropertySource(value = "classpath:dnet-override.properties", ignoreResourceNotFound = true)
})
-@EnableConfigurationProperties({MongoConfig.class, ManagersApiConfig.class, BrowserCacheConfig.class, GlobalVars.class})
+@EnableConfigurationProperties({MongoConfig.class, ManagersApiConfig.class, BrowserCacheConfig.class, GlobalVars.class, APIProperties.class})
@Import({AuthorizationConfiguration.class, UoaAdminToolsLibraryConfiguration.class})
public class UoaAdminToolsApplication {
diff --git a/src/main/java/eu/dnetlib/uoaadmintools/configuration/SwaggerConfig.java b/src/main/java/eu/dnetlib/uoaadmintools/configuration/SwaggerConfig.java
new file mode 100644
index 0000000..a9091bb
--- /dev/null
+++ b/src/main/java/eu/dnetlib/uoaadmintools/configuration/SwaggerConfig.java
@@ -0,0 +1,108 @@
+package eu.dnetlib.uoaadmintools.configuration;
+
+import eu.dnetlib.uoaadmintools.configuration.properties.APIProperties;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Profile;
+import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
+import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
+import springfox.documentation.builders.ApiInfoBuilder;
+import springfox.documentation.builders.ParameterBuilder;
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.schema.ModelRef;
+import springfox.documentation.service.ApiInfo;
+import springfox.documentation.service.Parameter;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * Swagger configuration class
+ */
+@Configuration
+@Profile({"swagger"})
+@EnableSwagger2
+public class SwaggerConfig extends WebMvcConfigurerAdapter {
+
+ private final APIProperties apiProperties;
+
+ @Autowired
+ public SwaggerConfig(APIProperties apiProperties) {
+ this.apiProperties = apiProperties;
+ }
+
+ @Bean
+ public Docket createRestApi() {
+ return new Docket(DocumentationType.SWAGGER_2)
+// .globalOperationParameters(globalParameterList())
+ .apiInfo(apiInfo())
+ .select()
+ .apis(RequestHandlerSelectors.basePackage("eu.dnetlib.uoaadmintools.controllers"))
+ .paths(PathSelectors.any())
+ .build();
+ }
+
+ @Bean
+ public Docket createRestApiLibrary() {
+ return new Docket(DocumentationType.SWAGGER_2)
+// .globalOperationParameters(globalParameterList())
+ .apiInfo(apiInfo())
+ .groupName("Library")
+ .select()
+ .apis(RequestHandlerSelectors.basePackage("eu.dnetlib.uoaadmintoolslibrary.controllers"))
+ .paths(PathSelectors.any())
+ .build();
+ }
+
+ @Bean
+ public Docket createRestApiAuthorizationLibrary() {
+ return new Docket(DocumentationType.SWAGGER_2)
+ .apiInfo(apiInfo())
+ .groupName("Authorization Library")
+ .select()
+ .apis(RequestHandlerSelectors.basePackage("eu.dnetlib.uoaauthorizationlibrary.controllers"))
+ .paths(PathSelectors.any())
+ .build();
+ }
+
+ private ApiInfo apiInfo() {
+ return new ApiInfoBuilder()
+ .title(this.apiProperties.getTitle())
+ .description(this.apiProperties.getDescription())
+ .version(this.apiProperties.getVersion())
+ .build();
+ }
+
+ private List globalParameterList() {
+ Parameter authTokenHeader = new ParameterBuilder()
+ .name("Session") // name of the header
+ .modelRef(new ModelRef("string")) // data-type of the header
+ .required(false)
+ .parameterType("header")
+ .description("Session ID")
+ .build();
+ return Collections.singletonList(authTokenHeader);
+ }
+
+ @Override
+ public void addViewControllers(ViewControllerRegistry registry) {
+ registry.addRedirectViewController("/v2/api-docs", "/v2/api-docs");
+ registry.addRedirectViewController("/swagger-resources/configuration/ui", "/swagger-resources/configuration/ui");
+ registry.addRedirectViewController("/swagger-resources/configuration/security", "/swagger-resources/configuration/security");
+ registry.addRedirectViewController("/swagger-resources", "/swagger-resources");
+ }
+
+ @Override
+ public void addResourceHandlers(ResourceHandlerRegistry registry) {
+ registry.addResourceHandler("/swagger-ui.html**").addResourceLocations("classpath:/META-INF/resources/swagger-ui.html");
+ registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
+ }
+
+}
+
diff --git a/src/main/java/eu/dnetlib/uoaadmintools/configuration/properties/APIProperties.java b/src/main/java/eu/dnetlib/uoaadmintools/configuration/properties/APIProperties.java
new file mode 100644
index 0000000..41c16dd
--- /dev/null
+++ b/src/main/java/eu/dnetlib/uoaadmintools/configuration/properties/APIProperties.java
@@ -0,0 +1,38 @@
+package eu.dnetlib.uoaadmintools.configuration.properties;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+@ConfigurationProperties("api")
+public class APIProperties {
+
+ private String title;
+ private String description;
+ private String version;
+
+ public APIProperties() {
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public String getVersion() {
+ return version;
+ }
+
+ public void setVersion(String version) {
+ this.version = version;
+ }
+}
diff --git a/src/main/java/eu/dnetlib/uoaadmintools/controllers/AdminToolsCheckDeployController.java b/src/main/java/eu/dnetlib/uoaadmintools/controllers/AdminToolsCheckDeployController.java
index cd91dd8..6a0efba 100644
--- a/src/main/java/eu/dnetlib/uoaadmintools/controllers/AdminToolsCheckDeployController.java
+++ b/src/main/java/eu/dnetlib/uoaadmintools/controllers/AdminToolsCheckDeployController.java
@@ -5,9 +5,11 @@ import com.mongodb.CommandResult;
import com.mongodb.DBObject;
import eu.dnetlib.uoaadmintools.configuration.GlobalVars;
import eu.dnetlib.uoaadmintools.configuration.mongo.MongoConnection;
+import eu.dnetlib.uoaadmintools.configuration.properties.BrowserCacheConfig;
import eu.dnetlib.uoaadmintools.configuration.properties.ManagersApiConfig;
import eu.dnetlib.uoaadmintools.configuration.properties.MongoConfig;
-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.data.mongodb.core.MongoTemplate;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -23,7 +25,7 @@ import java.util.Map;
@RestController
@CrossOrigin(origins = "*")
public class AdminToolsCheckDeployController {
- private final Logger log = Logger.getLogger(this.getClass());
+ private final Logger log = LogManager.getLogger(this.getClass());
@Autowired
private MongoConnection mongoConnection;
@@ -34,6 +36,9 @@ public class AdminToolsCheckDeployController {
@Autowired
private ManagersApiConfig managersApiConfig;
+ @Autowired
+ private BrowserCacheConfig browserCacheConfig;
+
@Autowired
private GlobalVars globalVars;
@@ -67,6 +72,8 @@ public class AdminToolsCheckDeployController {
response.put("admintool.managers.api.id", managersApiConfig.getId());
response.put("admintool.managers.api.email", managersApiConfig.getEmail());
+ response.put("admintool.cache.url", browserCacheConfig.getUrl());
+
if(globalVars.date != null) {
response.put("Date of deploy", globalVars.date.toString());
}
diff --git a/src/main/java/eu/dnetlib/uoaadmintools/controllers/BrowserCacheController.java b/src/main/java/eu/dnetlib/uoaadmintools/controllers/BrowserCacheController.java
index 6b78e6f..dc4bb3a 100644
--- a/src/main/java/eu/dnetlib/uoaadmintools/controllers/BrowserCacheController.java
+++ b/src/main/java/eu/dnetlib/uoaadmintools/controllers/BrowserCacheController.java
@@ -1,19 +1,18 @@
package eu.dnetlib.uoaadmintools.controllers;
import eu.dnetlib.uoaadmintools.configuration.properties.BrowserCacheConfig;
-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.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
-import org.springframework.web.client.HttpClientErrorException;
-import org.springframework.web.client.ResourceAccessException;
import org.springframework.web.client.RestTemplate;
@RestController
@RequestMapping("/cache")
@CrossOrigin(origins = "*")
public class BrowserCacheController {
- private final Logger log = Logger.getLogger(this.getClass());
+ private final Logger log = LogManager.getLogger(this.getClass());
@Autowired
private RestTemplate restTemplate;
diff --git a/src/main/java/eu/dnetlib/uoaadmintools/controllers/CommunityController.java b/src/main/java/eu/dnetlib/uoaadmintools/controllers/CommunityController.java
index 2e1ef8b..f09979c 100644
--- a/src/main/java/eu/dnetlib/uoaadmintools/controllers/CommunityController.java
+++ b/src/main/java/eu/dnetlib/uoaadmintools/controllers/CommunityController.java
@@ -8,7 +8,8 @@ import eu.dnetlib.uoaadmintoolslibrary.handlers.ContentNotFoundException;
import eu.dnetlib.uoaadmintoolslibrary.handlers.MismatchingContentException;
import eu.dnetlib.uoaadmintoolslibrary.handlers.utils.RolesUtils;
import eu.dnetlib.uoaadmintoolslibrary.services.PortalService;
-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.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
@@ -19,7 +20,7 @@ import java.util.List;
@RequestMapping("/community")
@CrossOrigin(origins = "*")
public class CommunityController {
- private final Logger log = Logger.getLogger(this.getClass());
+ private final Logger log = LogManager.getLogger(this.getClass());
@Autowired
private RolesUtils rolesUtils;
diff --git a/src/main/java/eu/dnetlib/uoaadmintools/controllers/ConnectController.java b/src/main/java/eu/dnetlib/uoaadmintools/controllers/ConnectController.java
index 9420b5b..3da4d68 100644
--- a/src/main/java/eu/dnetlib/uoaadmintools/controllers/ConnectController.java
+++ b/src/main/java/eu/dnetlib/uoaadmintools/controllers/ConnectController.java
@@ -7,7 +7,8 @@ import eu.dnetlib.uoaadmintoolslibrary.entities.fullEntities.PortalResponse;
import eu.dnetlib.uoaadmintoolslibrary.handlers.ContentNotFoundException;
import eu.dnetlib.uoaadmintoolslibrary.handlers.MismatchingContentException;
import eu.dnetlib.uoaadmintoolslibrary.services.PortalService;
-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.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
@@ -18,7 +19,7 @@ import java.util.List;
@RequestMapping("/connect")
@CrossOrigin(origins = "*")
public class ConnectController {
- private final Logger log = Logger.getLogger(this.getClass());
+ private final Logger log = LogManager.getLogger(this.getClass());
@Autowired
private LayoutService layoutService;
diff --git a/src/main/java/eu/dnetlib/uoaadmintools/controllers/CuratorController.java b/src/main/java/eu/dnetlib/uoaadmintools/controllers/CuratorController.java
index 6a46990..02bac7e 100644
--- a/src/main/java/eu/dnetlib/uoaadmintools/controllers/CuratorController.java
+++ b/src/main/java/eu/dnetlib/uoaadmintools/controllers/CuratorController.java
@@ -5,7 +5,8 @@ import eu.dnetlib.uoaadmintools.entities.curator.CuratorResponse;
import eu.dnetlib.uoaadmintools.services.CuratorService;
import eu.dnetlib.uoaadmintoolslibrary.handlers.ContentNotFoundException;
import eu.dnetlib.uoaadmintoolslibrary.handlers.utils.RolesUtils;
-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.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
@@ -15,7 +16,7 @@ import java.util.List;
@RestController
@CrossOrigin(origins = "*")
public class CuratorController {
- private final Logger log = Logger.getLogger(this.getClass());
+ private final Logger log = LogManager.getLogger(this.getClass());
@Autowired
private CuratorService curatorService;
diff --git a/src/main/java/eu/dnetlib/uoaadmintools/controllers/EmailController.java b/src/main/java/eu/dnetlib/uoaadmintools/controllers/EmailController.java
index 6153771..291e839 100644
--- a/src/main/java/eu/dnetlib/uoaadmintools/controllers/EmailController.java
+++ b/src/main/java/eu/dnetlib/uoaadmintools/controllers/EmailController.java
@@ -12,7 +12,8 @@ import eu.dnetlib.uoaadmintoolslibrary.handlers.ContentNotFoundException;
import eu.dnetlib.uoaadmintoolslibrary.handlers.InvalidReCaptchaException;
import eu.dnetlib.uoaadmintoolslibrary.handlers.utils.RolesUtils;
import eu.dnetlib.uoaadmintoolslibrary.recaptcha.VerifyRecaptcha;
-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.web.bind.annotation.*;
@@ -21,7 +22,7 @@ import java.util.*;
@RestController
@CrossOrigin(origins = "*")
public class EmailController {
- private final Logger log = Logger.getLogger(this.getClass());
+ private final Logger log = LogManager.getLogger(this.getClass());
@Autowired
private EmailSender emailSender;
diff --git a/src/main/java/eu/dnetlib/uoaadmintools/controllers/ExploreController.java b/src/main/java/eu/dnetlib/uoaadmintools/controllers/ExploreController.java
index 9b8ac06..a9b06c0 100644
--- a/src/main/java/eu/dnetlib/uoaadmintools/controllers/ExploreController.java
+++ b/src/main/java/eu/dnetlib/uoaadmintools/controllers/ExploreController.java
@@ -5,7 +5,8 @@ import eu.dnetlib.uoaadmintoolslibrary.entities.fullEntities.PortalResponse;
import eu.dnetlib.uoaadmintoolslibrary.handlers.ContentNotFoundException;
import eu.dnetlib.uoaadmintoolslibrary.handlers.MismatchingContentException;
import eu.dnetlib.uoaadmintoolslibrary.services.PortalService;
-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.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
@@ -17,7 +18,7 @@ import java.util.List;
@CrossOrigin(origins = "*")
@PreAuthorize("hasAnyAuthority(@AuthorizationService.PORTAL_ADMIN)")
public class ExploreController {
- private final Logger log = Logger.getLogger(this.getClass());
+ private final Logger log = LogManager.getLogger(this.getClass());
@Autowired
private PortalService portalService;
diff --git a/src/main/java/eu/dnetlib/uoaadmintools/controllers/MenuController.java b/src/main/java/eu/dnetlib/uoaadmintools/controllers/MenuController.java
index 7110434..2120169 100644
--- a/src/main/java/eu/dnetlib/uoaadmintools/controllers/MenuController.java
+++ b/src/main/java/eu/dnetlib/uoaadmintools/controllers/MenuController.java
@@ -1,16 +1,14 @@
package eu.dnetlib.uoaadmintools.controllers;
-import eu.dnetlib.uoaadmintools.entities.menu.Menu;
-import eu.dnetlib.uoaadmintools.entities.menu.MenuFull;
-import eu.dnetlib.uoaadmintools.entities.menu.MenuItem;
-import eu.dnetlib.uoaadmintools.entities.menu.MenuItemFull;
+import eu.dnetlib.uoaadmintools.entities.menu.*;
import eu.dnetlib.uoaadmintools.services.MenuService;
import eu.dnetlib.uoaadmintoolslibrary.dao.PortalDAO;
import eu.dnetlib.uoaadmintoolslibrary.entities.Portal;
import eu.dnetlib.uoaadmintoolslibrary.handlers.ContentNotFoundException;
import eu.dnetlib.uoaadmintoolslibrary.handlers.MismatchingContentException;
import eu.dnetlib.uoaadmintoolslibrary.handlers.utils.RolesUtils;
-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.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
@@ -20,7 +18,7 @@ import java.util.List;
@RestController
@CrossOrigin(origins = "*")
public class MenuController {
- private final Logger log = Logger.getLogger(this.getClass());
+ private final Logger log = LogManager.getLogger(this.getClass());
@Autowired
private MenuService menuService;
@@ -208,4 +206,13 @@ public class MenuController {
public Menu toggleMenu(@PathVariable(value = "pid") String pid, @RequestParam String status, @RequestParam(value="featured", required=false) String isFeatured) throws Exception {
return menuService.toggleMenu(pid, status, isFeatured);
}
+
+ @PreAuthorize("hasAnyAuthority(" +
+ "@AuthorizationService.PORTAL_ADMIN, " +
+ "@AuthorizationService.curator('community')," +
+ "@AuthorizationService.manager('community', #pid))")
+ @RequestMapping(value = {"/community/{pid}/menu/align"}, method = RequestMethod.POST)
+ public Menu alignMenu(@PathVariable(value = "pid") String pid, @RequestParam String alignment) throws Exception {
+ return menuService.alignMenu(pid, alignment);
+ }
}
diff --git a/src/main/java/eu/dnetlib/uoaadmintools/controllers/NotificationsController.java b/src/main/java/eu/dnetlib/uoaadmintools/controllers/NotificationsController.java
index 75fac21..ddf021c 100644
--- a/src/main/java/eu/dnetlib/uoaadmintools/controllers/NotificationsController.java
+++ b/src/main/java/eu/dnetlib/uoaadmintools/controllers/NotificationsController.java
@@ -7,7 +7,8 @@ import eu.dnetlib.uoaadmintoolslibrary.entities.Portal;
import eu.dnetlib.uoaadmintoolslibrary.handlers.ContentNotFoundException;
import eu.dnetlib.uoaadmintoolslibrary.handlers.MismatchingContentException;
import eu.dnetlib.uoaadmintoolslibrary.handlers.utils.RolesUtils;
-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.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
@@ -20,7 +21,7 @@ import java.util.List;
@RestController
@CrossOrigin(origins = "*")
public class NotificationsController {
- private final Logger log = Logger.getLogger(this.getClass());
+ private final Logger log = LogManager.getLogger(this.getClass());
@Autowired
private NotificationsDAO notificationsDAO;
diff --git a/src/main/java/eu/dnetlib/uoaadmintools/controllers/PortalSubscribersController.java b/src/main/java/eu/dnetlib/uoaadmintools/controllers/PortalSubscribersController.java
index 05ce988..86356ae 100644
--- a/src/main/java/eu/dnetlib/uoaadmintools/controllers/PortalSubscribersController.java
+++ b/src/main/java/eu/dnetlib/uoaadmintools/controllers/PortalSubscribersController.java
@@ -5,7 +5,8 @@ import eu.dnetlib.uoaadmintools.entities.subscriber.PortalSubscribers;
import eu.dnetlib.uoaadmintoolslibrary.dao.PortalDAO;
import eu.dnetlib.uoaadmintoolslibrary.handlers.ContentNotFoundException;
import eu.dnetlib.uoaadmintoolslibrary.responses.SingleValueWrapperResponse;
-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.web.bind.annotation.*;
import java.util.List;
@@ -26,7 +27,7 @@ public class PortalSubscribersController {
// @Autowired
// private SecurityConfig securityConfig;
- private final Logger log = Logger.getLogger(this.getClass());
+ private final Logger log = LogManager.getLogger(this.getClass());
@RequestMapping(value = "/community/{pid}/subscribers/count", method = RequestMethod.GET)
public SingleValueWrapperResponse getNumberOfSubscribersPerPortal(@PathVariable(value="pid", required = true) String pid) throws ContentNotFoundException {
diff --git a/src/main/java/eu/dnetlib/uoaadmintools/controllers/SubscriberController.java b/src/main/java/eu/dnetlib/uoaadmintools/controllers/SubscriberController.java
index 9510a55..f42a32b 100644
--- a/src/main/java/eu/dnetlib/uoaadmintools/controllers/SubscriberController.java
+++ b/src/main/java/eu/dnetlib/uoaadmintools/controllers/SubscriberController.java
@@ -3,7 +3,8 @@ package eu.dnetlib.uoaadmintools.controllers;
import eu.dnetlib.uoaadmintools.dao.SubscriberDAO;
import eu.dnetlib.uoaadmintools.entities.subscriber.Subscriber;
import eu.dnetlib.uoaadmintoolslibrary.handlers.ContentNotFoundException;
-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.web.bind.annotation.*;
@@ -15,7 +16,7 @@ import java.util.List;
@RestController
@CrossOrigin(origins = "*")
public class SubscriberController {
- private final Logger log = Logger.getLogger(this.getClass());
+ private final Logger log = LogManager.getLogger(this.getClass());
@Autowired
private SubscriberDAO subscriberDAO;
@RequestMapping(value = "/subscriber", method = RequestMethod.GET)
diff --git a/src/main/java/eu/dnetlib/uoaadmintools/entities/curator/Curator.java b/src/main/java/eu/dnetlib/uoaadmintools/entities/curator/Curator.java
index 41cbe28..c7a9423 100644
--- a/src/main/java/eu/dnetlib/uoaadmintools/entities/curator/Curator.java
+++ b/src/main/java/eu/dnetlib/uoaadmintools/entities/curator/Curator.java
@@ -16,6 +16,7 @@ public class Curator {
private List affiliations;
private String photo;
private String bio;
+ private boolean visible = true;
public Curator() {}
@@ -66,4 +67,12 @@ public class Curator {
public void setBio(String bio) {
this.bio = bio;
}
+
+ public boolean isVisible() {
+ return visible;
+ }
+
+ public void setVisible(boolean visible) {
+ this.visible = visible;
+ }
}
diff --git a/src/main/java/eu/dnetlib/uoaadmintools/entities/curator/CuratorResponse.java b/src/main/java/eu/dnetlib/uoaadmintools/entities/curator/CuratorResponse.java
index 8ddbfd7..08c1278 100644
--- a/src/main/java/eu/dnetlib/uoaadmintools/entities/curator/CuratorResponse.java
+++ b/src/main/java/eu/dnetlib/uoaadmintools/entities/curator/CuratorResponse.java
@@ -10,6 +10,7 @@ public class CuratorResponse {
private List affiliations;
private String photo;
private String bio;
+ private boolean visible = true;
public CuratorResponse() {
}
@@ -52,4 +53,12 @@ public class CuratorResponse {
public void setBio(String bio) {
this.bio = bio;
}
+
+ public boolean isVisible() {
+ return visible;
+ }
+
+ public void setVisible(boolean visible) {
+ this.visible = visible;
+ }
}
diff --git a/src/main/java/eu/dnetlib/uoaadmintools/entities/menu/Menu.java b/src/main/java/eu/dnetlib/uoaadmintools/entities/menu/Menu.java
index d1d2c4d..696c044 100644
--- a/src/main/java/eu/dnetlib/uoaadmintools/entities/menu/Menu.java
+++ b/src/main/java/eu/dnetlib/uoaadmintools/entities/menu/Menu.java
@@ -14,6 +14,7 @@ public class Menu {
public boolean isMenuEnabled;
public List featuredMenuItems;
public List menuItems;
+ public MenuAlignment featuredAlignment = MenuAlignment.CENTER;
public Menu(String portalPid) {
this.setPortalPid(portalPid);
@@ -21,6 +22,7 @@ public class Menu {
this.setFeaturedMenuEnabled(true);
this.setMenuItems(new ArrayList<>());
this.setFeaturedMenuItems(new ArrayList<>());
+ this.setFeaturedAlignment(MenuAlignment.CENTER.name());
}
public String getPortalPid() {
@@ -62,4 +64,20 @@ public class Menu {
public void setMenuItems(List menuItems) {
this.menuItems = menuItems;
}
+
+ public String getFeaturedAlignment() {
+ if(featuredAlignment == null) {
+ return null;
+ }
+ return featuredAlignment.name();
+ }
+
+ public void setFeaturedAlignment(String featuredAlignment) {
+ if(featuredAlignment == null) {
+ this.featuredAlignment = null;
+ } else {
+ MenuAlignment alignment = MenuAlignment.valueOf(featuredAlignment);
+ this.featuredAlignment = alignment;
+ }
+ }
}
diff --git a/src/main/java/eu/dnetlib/uoaadmintools/entities/menu/MenuAlignment.java b/src/main/java/eu/dnetlib/uoaadmintools/entities/menu/MenuAlignment.java
new file mode 100644
index 0000000..c976cca
--- /dev/null
+++ b/src/main/java/eu/dnetlib/uoaadmintools/entities/menu/MenuAlignment.java
@@ -0,0 +1,5 @@
+package eu.dnetlib.uoaadmintools.entities.menu;
+
+public enum MenuAlignment {
+ LEFT, CENTER, RIGHT
+}
diff --git a/src/main/java/eu/dnetlib/uoaadmintools/entities/menu/MenuFull.java b/src/main/java/eu/dnetlib/uoaadmintools/entities/menu/MenuFull.java
index 501d4b0..90a7bbd 100644
--- a/src/main/java/eu/dnetlib/uoaadmintools/entities/menu/MenuFull.java
+++ b/src/main/java/eu/dnetlib/uoaadmintools/entities/menu/MenuFull.java
@@ -8,6 +8,7 @@ public class MenuFull {
public boolean isMenuEnabled;
public List featuredMenuItems;
public List menuItems;
+ public MenuAlignment featuredAlignment = MenuAlignment.CENTER;
public String getPortalPid() {
return portalPid;
@@ -48,4 +49,20 @@ public class MenuFull {
public void setMenuItems(List menuItems) {
this.menuItems = menuItems;
}
+
+ public String getFeaturedAlignment() {
+ if(featuredAlignment == null) {
+ return null;
+ }
+ return featuredAlignment.name();
+ }
+
+ public void setFeaturedAlignment(String featuredAlignment) {
+ if(featuredAlignment == null) {
+ this.featuredAlignment = null;
+ } else {
+ MenuAlignment alignment = MenuAlignment.valueOf(featuredAlignment);
+ this.featuredAlignment = alignment;
+ }
+ }
}
diff --git a/src/main/java/eu/dnetlib/uoaadmintools/services/CuratorService.java b/src/main/java/eu/dnetlib/uoaadmintools/services/CuratorService.java
index 85e5247..a71d219 100644
--- a/src/main/java/eu/dnetlib/uoaadmintools/services/CuratorService.java
+++ b/src/main/java/eu/dnetlib/uoaadmintools/services/CuratorService.java
@@ -5,7 +5,8 @@ import eu.dnetlib.uoaadmintools.dao.CuratorDAO;
import eu.dnetlib.uoaadmintools.entities.Manager;
import eu.dnetlib.uoaadmintools.entities.curator.Curator;
import eu.dnetlib.uoaadmintools.entities.curator.CuratorResponse;
-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.stereotype.Service;
@@ -15,7 +16,7 @@ import java.util.List;
@Service
public class CuratorService {
- private final Logger log = Logger.getLogger(this.getClass());
+ private final Logger log = LogManager.getLogger(this.getClass());
@Autowired
private CuratorDAO curatorDAO;
@@ -28,7 +29,7 @@ public class CuratorService {
List curators = new ArrayList<>();
for (Manager manager : managerService.getManagers(pid, ManagerService.Type.ID)) {
Curator curator = curatorDAO.findById(parseId(manager.getId()));
- if (curator != null) {
+ if (curator != null && curator.isVisible()) {
curators.add(new CuratorResponse(curator));
}
}
diff --git a/src/main/java/eu/dnetlib/uoaadmintools/services/LayoutService.java b/src/main/java/eu/dnetlib/uoaadmintools/services/LayoutService.java
index 429acb7..a110d14 100644
--- a/src/main/java/eu/dnetlib/uoaadmintools/services/LayoutService.java
+++ b/src/main/java/eu/dnetlib/uoaadmintools/services/LayoutService.java
@@ -3,15 +3,16 @@ package eu.dnetlib.uoaadmintools.services;
import eu.dnetlib.uoaadmintools.dao.LayoutDAO;
import eu.dnetlib.uoaadmintools.entities.Layout;
import eu.dnetlib.uoaadmintoolslibrary.handlers.MismatchingContentException;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.apache.logging.log4j.LogManager;
import java.util.List;
@Service
public class LayoutService {
- private final Logger log = Logger.getLogger(this.getClass());
+ private final Logger log = LogManager.getLogger(this.getClass());
@Autowired
private LayoutDAO layoutDAO;
diff --git a/src/main/java/eu/dnetlib/uoaadmintools/services/MenuService.java b/src/main/java/eu/dnetlib/uoaadmintools/services/MenuService.java
index fbec4ed..bd0c83b 100644
--- a/src/main/java/eu/dnetlib/uoaadmintools/services/MenuService.java
+++ b/src/main/java/eu/dnetlib/uoaadmintools/services/MenuService.java
@@ -2,13 +2,11 @@ package eu.dnetlib.uoaadmintools.services;
import eu.dnetlib.uoaadmintools.dao.MenuDAO;
import eu.dnetlib.uoaadmintools.dao.MenuItemDAO;
-import eu.dnetlib.uoaadmintools.entities.menu.Menu;
-import eu.dnetlib.uoaadmintools.entities.menu.MenuFull;
-import eu.dnetlib.uoaadmintools.entities.menu.MenuItem;
-import eu.dnetlib.uoaadmintools.entities.menu.MenuItemFull;
+import eu.dnetlib.uoaadmintools.entities.menu.*;
import eu.dnetlib.uoaadmintoolslibrary.handlers.ContentNotFoundException;
import eu.dnetlib.uoaadmintoolslibrary.handlers.MismatchingContentException;
-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.stereotype.Service;
@@ -17,7 +15,7 @@ import java.util.List;
@Service
public class MenuService {
- private final Logger log = Logger.getLogger(this.getClass());
+ private final Logger log = LogManager.getLogger(this.getClass());
@Autowired
private MenuDAO menuDAO;
@@ -85,6 +83,7 @@ public class MenuService {
if(menu == null) {
menuFull.setFeaturedMenuEnabled(true);
menuFull.setMenuEnabled(true);
+ menuFull.setFeaturedAlignment(MenuAlignment.CENTER.name());
} else {
for (String menuItemId : menu.getFeaturedMenuItems()) {
featuredMenuItems.add(getFullRootMenuItemById(menuItemId, portalPid, true));
@@ -96,6 +95,7 @@ public class MenuService {
menuFull.setFeaturedMenuEnabled(menu.getIsFeaturedMenuEnabled());
menuFull.setMenuEnabled(menu.getIsMenuEnabled());
+ menuFull.setFeaturedAlignment(menu.getFeaturedAlignment());
}
menuFull.setPortalPid(portalPid);
@@ -365,4 +365,11 @@ public class MenuService {
}
return menuDAO.save(menu);
}
+
+ public Menu alignMenu(String pid, String alignment) {
+ Menu menu = menuDAO.findByPortalPid(pid);
+ menu.setFeaturedAlignment(alignment);
+
+ return menuDAO.save(menu);
+ }
}
diff --git a/src/main/java/eu/dnetlib/uoaadmintools/services/NotificationsService.java b/src/main/java/eu/dnetlib/uoaadmintools/services/NotificationsService.java
index 81ec8db..7442679 100644
--- a/src/main/java/eu/dnetlib/uoaadmintools/services/NotificationsService.java
+++ b/src/main/java/eu/dnetlib/uoaadmintools/services/NotificationsService.java
@@ -2,7 +2,8 @@ package eu.dnetlib.uoaadmintools.services;
import eu.dnetlib.uoaadmintools.dao.NotificationsDAO;
import eu.dnetlib.uoaadmintools.entities.Notifications;
-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.stereotype.Service;
@@ -10,7 +11,7 @@ import java.util.List;
@Service
public class NotificationsService {
- private final Logger log = Logger.getLogger(this.getClass());
+ private final Logger log = LogManager.getLogger(this.getClass());
@Autowired
private NotificationsDAO notificationsDAO;
diff --git a/src/main/java/eu/dnetlib/uoaadmintools/services/StatisticsService.java b/src/main/java/eu/dnetlib/uoaadmintools/services/StatisticsService.java
index afccd59..001445e 100644
--- a/src/main/java/eu/dnetlib/uoaadmintools/services/StatisticsService.java
+++ b/src/main/java/eu/dnetlib/uoaadmintools/services/StatisticsService.java
@@ -2,13 +2,14 @@ package eu.dnetlib.uoaadmintools.services;
import eu.dnetlib.uoaadmintools.dao.StatisticsDAO;
import eu.dnetlib.uoaadmintools.entities.statistics.Statistics;
-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.stereotype.Service;
@Service
public class StatisticsService {
- private final Logger log = Logger.getLogger(this.getClass());
+ private final Logger log = LogManager.getLogger(this.getClass());
@Autowired
private StatisticsDAO statisticsDAO;
diff --git a/src/main/java/eu/dnetlib/uoaadmintools/services/SubscriberService.java b/src/main/java/eu/dnetlib/uoaadmintools/services/SubscriberService.java
index 798a032..235e4a5 100644
--- a/src/main/java/eu/dnetlib/uoaadmintools/services/SubscriberService.java
+++ b/src/main/java/eu/dnetlib/uoaadmintools/services/SubscriberService.java
@@ -2,13 +2,14 @@ package eu.dnetlib.uoaadmintools.services;
import eu.dnetlib.uoaadmintools.dao.PortalSubscribersDAO;
import eu.dnetlib.uoaadmintools.entities.subscriber.PortalSubscribers;
-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.stereotype.Service;
@Service
public class SubscriberService {
- private final Logger log = Logger.getLogger(this.getClass());
+ private final Logger log = LogManager.getLogger(this.getClass());
@Autowired
private PortalSubscribersDAO portalSubscribersDAO;
diff --git a/src/main/resources/admintools.properties b/src/main/resources/admintools.properties
index 01e6a0b..fee81cb 100644
--- a/src/main/resources/admintools.properties
+++ b/src/main/resources/admintools.properties
@@ -50,3 +50,8 @@ admintool.cache.url = https://beta.{community}.openaire.eu/purge/
#admintool.mongodb.database=openaireconnect
#admintool.mongodb.username=dnet8480
#admintool.mongodb.password=
+
+#static properties
+api.title = Uoa Admin Tools Documentation Swagger
+api.description = Uoa Admin Tools is a service which is saving and serving helptexts and dynamic content
+api.version = ${project.version}
\ No newline at end of file
diff --git a/src/main/resources/log4j.properties b/src/main/resources/log4j.properties
deleted file mode 100644
index de1e5d7..0000000
--- a/src/main/resources/log4j.properties
+++ /dev/null
@@ -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/uoa-admin-tools/uoa-admin-tools.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/uoa-admin-tools/uoa-admin-tools-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
\ No newline at end of file
diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml
new file mode 100644
index 0000000..ad623b7
--- /dev/null
+++ b/src/main/resources/log4j2.xml
@@ -0,0 +1,39 @@
+
+
+
+
+ %d %p %t [%c] - %m%n
+
+
+
+
+
+
+ ${LOG_PATTERN}
+
+
+
+
+
+
+
+
+ ${LOG_PATTERN}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file