[Admin Tools | log4j2]: Added swagger | log4j2.xml: Updated log4j settings - default file is spring log file | pom.xml: Added scm & updated version of libraries and parent.
This commit is contained in:
parent
5af0f6a841
commit
031192b9fb
20
pom.xml
20
pom.xml
|
@ -2,15 +2,17 @@
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>eu.dnetlib</groupId>
|
|
||||||
<artifactId>uoa-admin-tools</artifactId>
|
<artifactId>uoa-admin-tools</artifactId>
|
||||||
<version>2.0.5-SNAPSHOT</version>
|
<version>2.0.5-SNAPSHOT</version>
|
||||||
<packaging>war</packaging>
|
<packaging>war</packaging>
|
||||||
<name>uoa-admin-tools</name>
|
<name>uoa-admin-tools</name>
|
||||||
|
<scm>
|
||||||
|
<developerConnection>scm:git:gitea@code-repo.d4science.org:MaDgIK/uoa-monitor-service.git</developerConnection>
|
||||||
|
</scm>
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>eu.dnetlib</groupId>
|
<groupId>eu.dnetlib</groupId>
|
||||||
<artifactId>uoa-spring-boot-parent</artifactId>
|
<artifactId>uoa-spring-boot-parent</artifactId>
|
||||||
<version>1.0.0-SNAPSHOT</version>
|
<version>1.0.0</version>
|
||||||
</parent>
|
</parent>
|
||||||
<properties>
|
<properties>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
@ -36,7 +38,19 @@
|
||||||
<dependency> <!-- this dependency includes dependency to uoa-authorization-library -->
|
<dependency> <!-- this dependency includes dependency to uoa-authorization-library -->
|
||||||
<groupId>eu.dnetlib</groupId>
|
<groupId>eu.dnetlib</groupId>
|
||||||
<artifactId>uoa-admin-tools-library</artifactId>
|
<artifactId>uoa-admin-tools-library</artifactId>
|
||||||
<version>1.0.6-SNAPSHOT</version>
|
<version>1.0.6</version>
|
||||||
|
</dependency>
|
||||||
|
<!--swagger-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.springfox</groupId>
|
||||||
|
<artifactId>springfox-swagger2</artifactId>
|
||||||
|
<version>${swagger-version}</version>
|
||||||
|
</dependency>
|
||||||
|
<!--swagger official ui-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.springfox</groupId>
|
||||||
|
<artifactId>springfox-swagger-ui</artifactId>
|
||||||
|
<version>${swagger-version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<build>
|
<build>
|
||||||
|
|
|
@ -2,6 +2,7 @@ package eu.dnetlib.uoaadmintools;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import eu.dnetlib.uoaadmintools.configuration.GlobalVars;
|
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.BrowserCacheConfig;
|
||||||
import eu.dnetlib.uoaadmintools.configuration.properties.ManagersApiConfig;
|
import eu.dnetlib.uoaadmintools.configuration.properties.ManagersApiConfig;
|
||||||
import eu.dnetlib.uoaadmintools.configuration.properties.MongoConfig;
|
import eu.dnetlib.uoaadmintools.configuration.properties.MongoConfig;
|
||||||
|
@ -24,7 +25,7 @@ import org.springframework.web.client.RestTemplate;
|
||||||
@PropertySource("classpath:admintools.properties"),
|
@PropertySource("classpath:admintools.properties"),
|
||||||
@PropertySource(value = "classpath:dnet-override.properties", ignoreResourceNotFound = true)
|
@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})
|
@Import({AuthorizationConfiguration.class, UoaAdminToolsLibraryConfiguration.class})
|
||||||
public class UoaAdminToolsApplication {
|
public class UoaAdminToolsApplication {
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,86 @@
|
||||||
|
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.any())
|
||||||
|
.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<Parameter> 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/");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
|
@ -50,3 +50,8 @@ admintool.cache.url = https://beta.{community}.openaire.eu/purge/
|
||||||
#admintool.mongodb.database=openaireconnect
|
#admintool.mongodb.database=openaireconnect
|
||||||
#admintool.mongodb.username=dnet8480
|
#admintool.mongodb.username=dnet8480
|
||||||
#admintool.mongodb.password=
|
#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}
|
|
@ -29,11 +29,11 @@
|
||||||
</RollingFile>
|
</RollingFile>
|
||||||
</Appenders>
|
</Appenders>
|
||||||
<Loggers>
|
<Loggers>
|
||||||
<Logger name="org.springframework" level="debug" additivity="false">
|
<Logger name="eu.dnetlib" level="debug" additivity="false">
|
||||||
<AppenderRef ref="S"/>
|
|
||||||
</Logger>
|
|
||||||
<Root level="debug">
|
|
||||||
<AppenderRef ref="R"/>
|
<AppenderRef ref="R"/>
|
||||||
|
</Logger>
|
||||||
|
<Root level="info">
|
||||||
|
<AppenderRef ref="S"/>
|
||||||
</Root>
|
</Root>
|
||||||
</Loggers>
|
</Loggers>
|
||||||
</Configuration>
|
</Configuration>
|
Loading…
Reference in New Issue