Merge remote-tracking branch 'origin/irish-monitor-service' into beta
This commit is contained in:
commit
c82a393e1e
39
pom.xml
39
pom.xml
|
@ -29,12 +29,12 @@
|
||||||
<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.9</version>
|
<version>1.0.10</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>eu.dnetlib</groupId>
|
<groupId>eu.dnetlib</groupId>
|
||||||
<artifactId>uoa-notification-service</artifactId>
|
<artifactId>uoa-notification-service</artifactId>
|
||||||
<version>1.0.6</version>
|
<version>1.0.7</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!--swagger-->
|
<!--swagger-->
|
||||||
|
@ -58,14 +58,26 @@
|
||||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||||
<version>${spring-boot-version}</version>
|
<version>${spring-boot-version}</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<mainClass>eu.dnetlib.uoamonitorservice.UoaMonitorServiceApplication</mainClass>
|
<mainClass>eu.dnetlib.uoamonitorservice.application.UoaMonitorServiceApplication</mainClass>
|
||||||
<executable>true</executable>
|
<executable>true</executable>
|
||||||
|
<excludes>
|
||||||
|
<!-- <packagingExcludes>**/eu/dnetlib/uoamonitorservice/controllers/MonitorLibraryCheckDeployController.class</packagingExcludes>-->
|
||||||
|
<!-- <exclude>**/eu/dnetlib/uoamonitorservice/controllers/MonitorLibraryCheckDeployController.class</exclude>-->
|
||||||
|
</excludes>
|
||||||
</configuration>
|
</configuration>
|
||||||
<executions>
|
<executions>
|
||||||
<execution>
|
<execution>
|
||||||
|
<id>default-war</id>
|
||||||
|
<phase>package</phase>
|
||||||
<goals>
|
<goals>
|
||||||
<goal>repackage</goal>
|
<goal>repackage</goal>
|
||||||
</goals>
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<excludes>
|
||||||
|
<!-- <packagingExcludes>**/eu/dnetlib/uoamonitorservice/controllers/MonitorLibraryCheckDeployController.class</packagingExcludes>-->
|
||||||
|
<!-- <exclude>**/eu/dnetlib/uoamonitorservice/controllers/MonitorLibraryCheckDeployController.class</exclude>-->
|
||||||
|
</excludes>
|
||||||
|
</configuration>
|
||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
@ -77,6 +89,27 @@
|
||||||
<failOnMissingWebXml>false</failOnMissingWebXml>
|
<failOnMissingWebXml>false</failOnMissingWebXml>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-jar-plugin</artifactId>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>library</id>
|
||||||
|
<phase>package</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>jar</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<classifier>library</classifier>
|
||||||
|
<excludes>
|
||||||
|
<exclude>**/eu/dnetlib/uoamonitorservice/application/**</exclude>
|
||||||
|
<exclude>**/eu/dnetlib/uoamonitorservice/configuration/SwaggerConfig.class</exclude>
|
||||||
|
<exclude>**/eu/dnetlib/uoamonitorservice/controllers/MonitorServiceCheckDeployController.class</exclude>
|
||||||
|
</excludes>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
<finalName>uoa-monitor-service</finalName>
|
<finalName>uoa-monitor-service</finalName>
|
||||||
<resources>
|
<resources>
|
||||||
|
|
|
@ -1,13 +1,23 @@
|
||||||
package eu.dnetlib.uoamonitorservice;
|
package eu.dnetlib.uoamonitorservice;
|
||||||
|
|
||||||
|
import eu.dnetlib.uoaadmintoolslibrary.UoaAdminToolsLibraryConfiguration;
|
||||||
|
import eu.dnetlib.uoamonitorservice.configuration.GlobalVars;
|
||||||
|
import eu.dnetlib.uoamonitorservice.configuration.properties.APIProperties;
|
||||||
|
import eu.dnetlib.uoamonitorservice.configuration.properties.MongoConfig;
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.ComponentScan;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.context.annotation.Import;
|
||||||
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
|
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
|
||||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
|
@EnableConfigurationProperties({ MongoConfig.class, GlobalVars.class, APIProperties.class})
|
||||||
|
@ComponentScan(basePackages = { "eu.dnetlib.uoamonitorservice" })
|
||||||
|
@Import({UoaAdminToolsLibraryConfiguration.class})
|
||||||
public class UoaMonitorServiceConfiguration extends WebMvcConfigurerAdapter {
|
public class UoaMonitorServiceConfiguration extends WebMvcConfigurerAdapter {
|
||||||
private final Logger log = LogManager.getLogger(this.getClass());
|
private final Logger log = LogManager.getLogger(this.getClass());
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package eu.dnetlib.uoamonitorservice;
|
package eu.dnetlib.uoamonitorservice.application;
|
||||||
|
|
||||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||||
import org.springframework.boot.web.support.SpringBootServletInitializer;
|
import org.springframework.boot.web.support.SpringBootServletInitializer;
|
|
@ -1,14 +1,10 @@
|
||||||
package eu.dnetlib.uoamonitorservice;
|
package eu.dnetlib.uoamonitorservice.application;
|
||||||
|
|
||||||
import eu.dnetlib.uoaadmintoolslibrary.UoaAdminToolsLibraryConfiguration;
|
import eu.dnetlib.uoaadmintoolslibrary.UoaAdminToolsLibraryConfiguration;
|
||||||
import eu.dnetlib.uoaauthorizationlibrary.configuration.AuthorizationConfiguration;
|
import eu.dnetlib.uoaauthorizationlibrary.configuration.AuthorizationConfiguration;
|
||||||
import eu.dnetlib.uoamonitorservice.configuration.GlobalVars;
|
|
||||||
import eu.dnetlib.uoamonitorservice.configuration.properties.APIProperties;
|
|
||||||
import eu.dnetlib.uoamonitorservice.configuration.properties.MongoConfig;
|
|
||||||
import eu.dnetlib.uoanotificationservice.configuration.NotificationConfiguration;
|
import eu.dnetlib.uoanotificationservice.configuration.NotificationConfiguration;
|
||||||
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.SpringApplication;
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
|
||||||
import org.springframework.context.annotation.Import;
|
import org.springframework.context.annotation.Import;
|
||||||
import org.springframework.context.annotation.PropertySource;
|
import org.springframework.context.annotation.PropertySource;
|
||||||
import org.springframework.context.annotation.PropertySources;
|
import org.springframework.context.annotation.PropertySources;
|
||||||
|
@ -21,8 +17,10 @@ import org.springframework.context.annotation.PropertySources;
|
||||||
@PropertySource("classpath:monitorservice.properties"),
|
@PropertySource("classpath:monitorservice.properties"),
|
||||||
@PropertySource(value = "classpath:dnet-override.properties", ignoreResourceNotFound = true)
|
@PropertySource(value = "classpath:dnet-override.properties", ignoreResourceNotFound = true)
|
||||||
})
|
})
|
||||||
@EnableConfigurationProperties({ MongoConfig.class, GlobalVars.class, APIProperties.class})
|
@Import({
|
||||||
@Import({AuthorizationConfiguration.class, UoaAdminToolsLibraryConfiguration.class, NotificationConfiguration.class})
|
NotificationConfiguration.class,
|
||||||
|
AuthorizationConfiguration.class
|
||||||
|
})
|
||||||
public class UoaMonitorServiceApplication {
|
public class UoaMonitorServiceApplication {
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
SpringApplication.run(UoaMonitorServiceApplication.class, args);
|
SpringApplication.run(UoaMonitorServiceApplication.class, args);
|
|
@ -505,7 +505,11 @@ public class IndicatorController {
|
||||||
if (indicatorPath.getParameters().containsKey("index_name")) {
|
if (indicatorPath.getParameters().containsKey("index_name")) {
|
||||||
indicatorPath.getParameters().put("index_name", stakeholder.getIndex_name());
|
indicatorPath.getParameters().put("index_name", stakeholder.getIndex_name());
|
||||||
} else if (indicatorPath.getParameters().containsKey("index_shortName")) {
|
} else if (indicatorPath.getParameters().containsKey("index_shortName")) {
|
||||||
indicatorPath.getParameters().put("index_shortName", stakeholder.getIndex_name().toLowerCase());
|
if(stakeholder.getIndex_shortName() != null) {
|
||||||
|
indicatorPath.getParameters().put("index_shortName", stakeholder.getIndex_shortName().toLowerCase());
|
||||||
|
} else {
|
||||||
|
indicatorPath.getParameters().remove("index_shortName");
|
||||||
|
}
|
||||||
} else if (indicatorPath.getParameters().containsKey("index_id")) {
|
} else if (indicatorPath.getParameters().containsKey("index_id")) {
|
||||||
indicatorPath.getParameters().put("index_id", stakeholder.getIndex_id());
|
indicatorPath.getParameters().put("index_id", stakeholder.getIndex_id());
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,80 @@
|
||||||
|
package eu.dnetlib.uoamonitorservice.controllers;
|
||||||
|
|
||||||
|
import com.mongodb.BasicDBObject;
|
||||||
|
import com.mongodb.CommandResult;
|
||||||
|
import com.mongodb.DBObject;
|
||||||
|
import eu.dnetlib.uoamonitorservice.application.UoaMonitorServiceApplication;
|
||||||
|
import eu.dnetlib.uoamonitorservice.configuration.GlobalVars;
|
||||||
|
import eu.dnetlib.uoamonitorservice.configuration.mongo.MongoConnection;
|
||||||
|
import eu.dnetlib.uoamonitorservice.configuration.properties.MongoConfig;
|
||||||
|
import org.apache.logging.log4j.LogManager;
|
||||||
|
import org.apache.logging.log4j.Logger;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
||||||
|
import org.springframework.context.annotation.Conditional;
|
||||||
|
import org.springframework.data.mongodb.core.MongoTemplate;
|
||||||
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
|
import org.springframework.web.bind.annotation.CrossOrigin;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@CrossOrigin(origins = "*")
|
||||||
|
@RequestMapping("/monitor-library")
|
||||||
|
//@ConditionalOnBean(UoaMonitorServiceApplication.class)
|
||||||
|
public class MonitorLibraryCheckDeployController {
|
||||||
|
private final Logger log = LogManager.getLogger(this.getClass());
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private MongoConnection mongoConnection;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private MongoConfig mongoConfig;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private GlobalVars globalVars;
|
||||||
|
|
||||||
|
@RequestMapping(value = {"", "/health_check"}, method = RequestMethod.GET)
|
||||||
|
public String hello() {
|
||||||
|
log.debug("Hello from uoa-monitor-service library!");
|
||||||
|
return "Hello from uoa-monitor-service library!";
|
||||||
|
}
|
||||||
|
|
||||||
|
// @PreAuthorize("hasAnyAuthority(@AuthorizationService.PORTAL_ADMIN)")
|
||||||
|
@RequestMapping(value = "/health_check/advanced", method = RequestMethod.GET)
|
||||||
|
public Map<String, String> checkEverything() {
|
||||||
|
Map<String, String> response = new HashMap<>();
|
||||||
|
|
||||||
|
MongoTemplate mt = mongoConnection.getMongoTemplate();
|
||||||
|
DBObject ping = new BasicDBObject("ping", "1");
|
||||||
|
try {
|
||||||
|
CommandResult answer = mt.getDb().command(ping);
|
||||||
|
response.put("Mongo try: error", answer.getErrorMessage());
|
||||||
|
} catch (Exception e) {
|
||||||
|
response.put("Mongo catch: error", e.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
response.put("monitorservice.mongodb.database", mongoConfig.getDatabase());
|
||||||
|
response.put("monitorservice.mongodb.host", mongoConfig.getHost());
|
||||||
|
response.put("monitorservice.mongodb.port", mongoConfig.getPort()+"");
|
||||||
|
response.put("monitorservice.mongodb.username", mongoConfig.getUsername() == null ? null : "[unexposed value]");
|
||||||
|
response.put("monitorservice.mongodb.password", mongoConfig.getPassword() == null ? null : "[unexposed value]");
|
||||||
|
// response.put("Define also", "monitorservice.mongodb.username, monitorservice.mongodb.password");
|
||||||
|
|
||||||
|
if(globalVars.date != null) {
|
||||||
|
response.put("Date of deploy", globalVars.date.toString());
|
||||||
|
}
|
||||||
|
if(globalVars.getBuildDate() != null) {
|
||||||
|
response.put("Date of build", globalVars.getBuildDate());
|
||||||
|
}
|
||||||
|
if(globalVars.getVersion() != null) {
|
||||||
|
response.put("Version", globalVars.getVersion());
|
||||||
|
}
|
||||||
|
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue