diff --git a/backend/pom.xml b/backend/pom.xml
index 7fd7d06..179e5dd 100644
--- a/backend/pom.xml
+++ b/backend/pom.xml
@@ -17,7 +17,23 @@
spring-boot-starter-parent
2.7.8
-
+
+
+ local
+
+ true
+
+
+ local
+
+
+
+ container
+
+ container
+
+
+
11
@@ -173,5 +189,6 @@
+
diff --git a/backend/src/main/java/com/nttdata/calender/ApiApplication.java b/backend/src/main/java/com/nttdata/calender/ApiApplication.java
index 8526a15..df10cbf 100644
--- a/backend/src/main/java/com/nttdata/calender/ApiApplication.java
+++ b/backend/src/main/java/com/nttdata/calender/ApiApplication.java
@@ -8,11 +8,16 @@ import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.context.annotation.Bean;
import org.springframework.session.MapSessionRepository;
+import javax.annotation.PostConstruct;
@SpringBootApplication
public class ApiApplication extends SpringBootServletInitializer {
+ // @org.springframework.beans.factory.annotation.Value("${greeting.message}")
+ // private String greetingMessage;
+
public static void main(String[] args) {
+ //System.out.println(greetingMessage);
SpringApplication.run(ApiApplication.class, args);
}
@@ -36,4 +41,16 @@ public class ApiApplication extends SpringBootServletInitializer {
public MapSessionRepository sessionRepository() {
return new MapSessionRepository(new ConcurrentHashMap<>());
}
+
+ // @Bean
+ // public String greetingMessage() {
+ // return greetingMessage;
+ // }
+
+ // @PostConstruct
+ // public void printEnvValues(){
+ // System.out.println("Print environment values");
+ // System.out.println("$$$$$$$"+greetingMessage);
+
+ // }
}
diff --git a/backend/src/main/java/com/nttdata/calender/ApplicationConfig.java b/backend/src/main/java/com/nttdata/calender/ApplicationConfig.java
new file mode 100644
index 0000000..8f20966
--- /dev/null
+++ b/backend/src/main/java/com/nttdata/calender/ApplicationConfig.java
@@ -0,0 +1,56 @@
+package com.nttdata.calender;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.springframework.stereotype.Service;
+
+import org.springframework.beans.factory.annotation.Value;
+
+/**
+ * Java API for Remedy
+ */
+@Service
+public class ApplicationConfig {
+
+ @Value("${rssoActive}")
+ private Boolean rssoActive;
+
+ public Boolean getRssoActive() {
+ if(rssoActive==null)
+ return true;
+
+ return rssoActive;
+ }
+
+ @Value("${arserver}")
+ private String arserver;
+
+ public String getArserver() {
+ return arserver;
+ }
+
+ @Value("${arport}")
+ private Integer arport;
+
+ public Integer getArport() {
+ return arport;
+ }
+
+ @Value("${aruser}")
+ private String aruser;
+
+ public String getAruser() {
+ return aruser;
+ }
+
+ @Value("${arpassword}")
+ private String arpassword;
+
+ public String getArpassword() {
+ return arpassword;
+ }
+}
\ No newline at end of file
diff --git a/backend/src/main/java/com/nttdata/calender/api/RemedyJavaAPI.java b/backend/src/main/java/com/nttdata/calender/api/RemedyJavaAPI.java
index cebe13d..93264a2 100644
--- a/backend/src/main/java/com/nttdata/calender/api/RemedyJavaAPI.java
+++ b/backend/src/main/java/com/nttdata/calender/api/RemedyJavaAPI.java
@@ -24,6 +24,9 @@ import com.nttdata.calender.errorhandling.ErrorTypes.NotFoundError;
import com.nttdata.calender.states.State;
import com.nttdata.calender.supportgroup.SupportGroup;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.nttdata.calender.ApplicationConfig;
+
/**
* Java API for Remedy
*/
@@ -35,17 +38,24 @@ public class RemedyJavaAPI {
private static Logger applicationLogger = LogManager.getLogger("application");
// TODO: work with form CTM:Support Group
private static final String QUALSTR = "\'Request ID\' != \"\"";
+ private ApplicationConfig appConfig;
+
+ // @org.springframework.beans.factory.annotation.Value("${greeting.message}")
+ // private String greetingMessage;
/**
* Sets up the Remedy API with the server and admin user/password.
*/
- public RemedyJavaAPI() throws ARException, NotFoundError {
+
+ public RemedyJavaAPI(ApplicationConfig appConfig) throws ARException, NotFoundError {
+ this.appConfig=appConfig;
+ System.out.println(appConfig.getRssoActive());
server = new ARServerUser();
// server.setServer("itsm-app-dev.asfinag.at");
- server.setServer("itsm-app-dev-neu.asfinag.at");
- server.setUser("changecalender_integration");
- server.setPassword("VXrvLm4q#8P#MXthfZNc");
- server.setPort(46262);
+ server.setServer(this.appConfig.getArserver());
+ server.setUser(this.appConfig.getAruser());
+ server.setPassword(this.appConfig.getArpassword());
+ server.setPort(this.appConfig.getArport());
// server.setPort(50000);
this.connect();
@@ -75,6 +85,10 @@ public class RemedyJavaAPI {
* @throws ARException when the user is unknown
*/
public void impersonateUser(String userName) throws ARException {
+
+ if(!this.appConfig.rssoActive)
+ server.impersonateUser("WuiQualityKV");
+
server.impersonateUser(userName);
}
diff --git a/backend/src/main/java/com/nttdata/calender/api/RequestInterceptor.java b/backend/src/main/java/com/nttdata/calender/api/RequestInterceptor.java
index 6dd62e2..0d224f4 100644
--- a/backend/src/main/java/com/nttdata/calender/api/RequestInterceptor.java
+++ b/backend/src/main/java/com/nttdata/calender/api/RequestInterceptor.java
@@ -3,6 +3,7 @@ package com.nttdata.calender.api;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.stereotype.Component;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.HandlerInterceptor;
@@ -27,14 +28,21 @@ import java.util.List;
@Component
public class RequestInterceptor implements HandlerInterceptor {
+
+
+ // @org.springframework.beans.factory.annotation.Value("${greeting.message}")
+ // private String greetingMessage;
+
+ @Autowired
private RemedyJavaAPI api;
+
private static final String FORM_NAME = "ASF:CHG_CAL_Transactions";
private static final Logger logger = LogManager.getLogger("application");
private static final DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
- api = new RemedyJavaAPI();
+ //api = new RemedyJavaAPI(greetingMessage);
String currentDateTime = LocalDateTime.now().format(dateTimeFormatter);
long transactionId = System.currentTimeMillis();
String out = String.format("Transaction ID = %d %s - handling request: %s", transactionId, currentDateTime, request.getRequestURI());
diff --git a/backend/src/main/java/com/nttdata/calender/api/rsso/RssoInterceptor.java b/backend/src/main/java/com/nttdata/calender/api/rsso/RssoInterceptor.java
index 8d7f562..144c0f7 100644
--- a/backend/src/main/java/com/nttdata/calender/api/rsso/RssoInterceptor.java
+++ b/backend/src/main/java/com/nttdata/calender/api/rsso/RssoInterceptor.java
@@ -9,6 +9,7 @@ import org.springframework.web.servlet.HandlerInterceptor;
import com.bmc.thirdparty.org.springframework.beans.factory.annotation.Autowired;
+import com.nttdata.calender.ApplicationConfig;
/**
* Interceptor for handling Rsso related operations.
*/
@@ -17,10 +18,12 @@ public class RssoInterceptor implements HandlerInterceptor {
private final static boolean DEBUG = true;
private final Rsso rsso;
private static final Logger applicationLogger = LogManager.getLogger("application");
+ private ApplicationConfig appConfig;
@Autowired
- public RssoInterceptor(Rsso rsso) {
+ public RssoInterceptor(Rsso rsso, ApplicationConfig appConfig) {
this.rsso = rsso;
+ this.appConfig=appConfig;
}
/**
@@ -39,7 +42,7 @@ public class RssoInterceptor implements HandlerInterceptor {
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
// Check if a session exists, create one if not
- if (DEBUG) {
+ if (!this.appConfig.getRssoActive()) {
return true;
}
diff --git a/backend/src/main/resources/application-container.properties b/backend/src/main/resources/application-container.properties
new file mode 100644
index 0000000..e9b09c7
--- /dev/null
+++ b/backend/src/main/resources/application-container.properties
@@ -0,0 +1 @@
+rssoActive=true
\ No newline at end of file
diff --git a/backend/src/main/resources/application-local.properties b/backend/src/main/resources/application-local.properties
new file mode 100644
index 0000000..4225ce2
--- /dev/null
+++ b/backend/src/main/resources/application-local.properties
@@ -0,0 +1,6 @@
+rssoActive=false
+arserver=itsm-app-dev-neu.asfinag.at
+# arserver=${test}
+arport=46262
+aruser=changecalender_integration
+arpassword="VXrvLm4q#8P#MXthfZNc"
\ No newline at end of file
diff --git a/backend/src/main/resources/application-xxx.properties b/backend/src/main/resources/application-xxx.properties
new file mode 100644
index 0000000..3d4006f
--- /dev/null
+++ b/backend/src/main/resources/application-xxx.properties
@@ -0,0 +1,5 @@
+rssoActive=false
+arserver=slwien4dev
+arport=2000
+aruser=Demo
+arpassword=ars$adm1
\ No newline at end of file
diff --git a/backend/src/main/resources/application.properties b/backend/src/main/resources/application.properties
index c239ca1..3b79e14 100644
--- a/backend/src/main/resources/application.properties
+++ b/backend/src/main/resources/application.properties
@@ -1,3 +1,4 @@
#server.servlet.context-path=/test
server.servlet.session.timeout=24h
# server.port=${PROBE_PORT:8080}
+spring.profiles.active=@spring.profiles.active@