diff --git a/pom.xml b/pom.xml
index 66ad5b4..6cd7de7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -15,11 +15,17 @@
scm:git:gitea@code-repo.d4science.org:MaDgIK/login-service.git
HEAD
+
+ UTF-8
+ UTF-8
+ ${maven.build.timestamp}
+ E MMM dd HH:mm:ss z yyyy
+
eu.dnetlib
uoa-login-core
- 2.0.2
+ 2.1.0
diff --git a/src/main/java/eu/dnetlib/loginservice/LoginServiceApplication.java b/src/main/java/eu/dnetlib/loginservice/LoginServiceApplication.java
index 2e9e2a5..bc0a6bb 100644
--- a/src/main/java/eu/dnetlib/loginservice/LoginServiceApplication.java
+++ b/src/main/java/eu/dnetlib/loginservice/LoginServiceApplication.java
@@ -1,8 +1,11 @@
package eu.dnetlib.loginservice;
import eu.dnetlib.authentication.configuration.AuthenticationConfiguration;
+import eu.dnetlib.loginservice.configuration.APIProperties;
+import eu.dnetlib.loginservice.configuration.GlobalVars;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Import;
import org.springframework.context.annotation.PropertySource;
import org.springframework.context.annotation.PropertySources;
@@ -14,6 +17,7 @@ import org.springframework.context.annotation.PropertySources;
@PropertySource(value = "classpath:dnet-override.properties", ignoreResourceNotFound = true)
})
@Import({AuthenticationConfiguration.class})
+@EnableConfigurationProperties({APIProperties.class, GlobalVars.class})
public class LoginServiceApplication {
public static void main(String[] args) {
diff --git a/src/main/java/eu/dnetlib/loginservice/configuration/APIProperties.java b/src/main/java/eu/dnetlib/loginservice/configuration/APIProperties.java
new file mode 100644
index 0000000..52f63c0
--- /dev/null
+++ b/src/main/java/eu/dnetlib/loginservice/configuration/APIProperties.java
@@ -0,0 +1,38 @@
+package eu.dnetlib.loginservice.configuration;
+
+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/loginservice/configuration/GlobalVars.java b/src/main/java/eu/dnetlib/loginservice/configuration/GlobalVars.java
new file mode 100644
index 0000000..7e330b7
--- /dev/null
+++ b/src/main/java/eu/dnetlib/loginservice/configuration/GlobalVars.java
@@ -0,0 +1,31 @@
+package eu.dnetlib.loginservice.configuration;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+import java.util.Date;
+
+@ConfigurationProperties("login-service.globalVars")
+public class GlobalVars {
+ public static Date date = new Date();
+ private Date buildDate;
+ private String version;
+
+ public String getBuildDate() {
+ if(buildDate == null) {
+ return null;
+ }
+ return buildDate.toString();
+ }
+
+ public void setBuildDate(Date buildDate) {
+ this.buildDate = buildDate;
+ }
+
+ public String getVersion() {
+ return version;
+ }
+
+ public void setVersion(String version) {
+ this.version = version;
+ }
+}
diff --git a/src/main/java/eu/dnetlib/loginservice/configuration/SwaggerConfig.java b/src/main/java/eu/dnetlib/loginservice/configuration/SwaggerConfig.java
index 94a580d..6c61f56 100644
--- a/src/main/java/eu/dnetlib/loginservice/configuration/SwaggerConfig.java
+++ b/src/main/java/eu/dnetlib/loginservice/configuration/SwaggerConfig.java
@@ -1,6 +1,5 @@
package eu.dnetlib.loginservice.configuration;
-import eu.dnetlib.authentication.configuration.APIProperties;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
diff --git a/src/main/java/eu/dnetlib/loginservice/controllers/HealthController.java b/src/main/java/eu/dnetlib/loginservice/controllers/HealthController.java
index 90b6df6..1b11aa7 100644
--- a/src/main/java/eu/dnetlib/loginservice/controllers/HealthController.java
+++ b/src/main/java/eu/dnetlib/loginservice/controllers/HealthController.java
@@ -1,7 +1,6 @@
package eu.dnetlib.loginservice.controllers;
-import eu.dnetlib.authentication.configuration.AuthenticationConfiguration;
-import eu.dnetlib.authentication.configuration.Properties;
+import eu.dnetlib.loginservice.configuration.GlobalVars;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
@@ -10,16 +9,17 @@ 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
public class HealthController {
private final Logger log = LogManager.getLogger(this.getClass());
- private final AuthenticationConfiguration configuration;
+ private final GlobalVars globalVars;
@Autowired
- public HealthController(AuthenticationConfiguration configuration) {
- this.configuration = configuration;
+ public HealthController(GlobalVars globalVars) {
+ this.globalVars = globalVars;
}
@RequestMapping(value = {"", "/health_check"}, method = RequestMethod.GET)
@@ -31,6 +31,16 @@ public class HealthController {
@PreAuthorize("hasAnyAuthority('PORTAL_ADMINISTRATOR')")
@RequestMapping(value = "/health_check/advanced", method = RequestMethod.GET)
public Map checkEverything() {
- return configuration.getProperties();
+ Map response = new HashMap<>();
+ if(GlobalVars.date != null) {
+ response.put("Date of deploy", eu.dnetlib.authentication.configuration.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;
}
}
diff --git a/src/main/resources/login-service.properties b/src/main/resources/login-service.properties
index b899e3d..6a47893 100644
--- a/src/main/resources/login-service.properties
+++ b/src/main/resources/login-service.properties
@@ -2,3 +2,6 @@
api.title = Login Service
api.description = Login service provides methods to authenticate users through AAI provider and retrieve information of authenticated user.
api.version = ${project.version}
+
+login-service.global-vars.buildDate=@timestamp@
+login-service.global-vars.version=@project.version@