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..ce7cc80 100644
--- a/backend/src/main/java/com/nttdata/calender/ApiApplication.java
+++ b/backend/src/main/java/com/nttdata/calender/ApiApplication.java
@@ -8,10 +8,14 @@ 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) {
SpringApplication.run(ApiApplication.class, args);
}
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..6b7be7b
--- /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(this.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..2189d13 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();
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..73a9f4e 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,8 @@ import org.springframework.web.servlet.HandlerInterceptor;
import com.bmc.thirdparty.org.springframework.beans.factory.annotation.Autowired;
+import com.nttdata.calender.ApplicationConfig;
+import com.nttdata.calender.api.RemedyJavaAPI;
/**
* Interceptor for handling Rsso related operations.
*/
@@ -17,10 +19,15 @@ 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;
+ //EW env Fix
+ private final RemedyJavaAPI javaAPI;
@Autowired
- public RssoInterceptor(Rsso rsso) {
+ public RssoInterceptor(Rsso rsso, ApplicationConfig appConfig, RemedyJavaAPI javaAPI) {
this.rsso = rsso;
+ this.appConfig=appConfig;
+ this.javaAPI=javaAPI;
}
/**
@@ -39,7 +46,8 @@ 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()) {
+ this.javaAPI.impersonateUser("WuiQualityKV");
return true;
}
diff --git a/backend/src/main/java/com/nttdata/calender/approval/Approval.java b/backend/src/main/java/com/nttdata/calender/approval/Approval.java
index f843d82..5ab33bf 100644
--- a/backend/src/main/java/com/nttdata/calender/approval/Approval.java
+++ b/backend/src/main/java/com/nttdata/calender/approval/Approval.java
@@ -49,8 +49,8 @@ public class Approval {
public String update(ApprovalUpdateRequest request) throws ARException {
// Clear the list before processing a new request
listOfFieldValues.clear();
-
- remedyJavaAPI.impersonateUser("WuiQualityKV");
+
+ //remedyJavaAPI.impersonateUser("WuiQualityKV");
String action = "APPROVAL";
var queryUpdate = new Query.QueryBuilder("ASF:CHG_CAL_Interactions")
diff --git a/backend/src/main/java/com/nttdata/calender/presets/Presets.java b/backend/src/main/java/com/nttdata/calender/presets/Presets.java
index 8dac690..f2f646e 100644
--- a/backend/src/main/java/com/nttdata/calender/presets/Presets.java
+++ b/backend/src/main/java/com/nttdata/calender/presets/Presets.java
@@ -58,7 +58,7 @@ public class Presets {
this.presets = new ArrayList<>();
this.listOfFieldValues = new ArrayList<>();
- api.impersonateUser("WuiQualityKV");
+ //api.impersonateUser("WuiQualityKV");
}
/**
diff --git a/backend/src/main/java/com/nttdata/calender/supportgroup/SupportGroup.java b/backend/src/main/java/com/nttdata/calender/supportgroup/SupportGroup.java
index e8972c4..b141862 100644
--- a/backend/src/main/java/com/nttdata/calender/supportgroup/SupportGroup.java
+++ b/backend/src/main/java/com/nttdata/calender/supportgroup/SupportGroup.java
@@ -51,7 +51,7 @@ public class SupportGroup {
*/
public void querySupportGroups(RemedyJavaAPI api) throws ARException, NotFoundError {
- api.impersonateUser("WuiQualityKV");
+ //api.impersonateUser("WuiQualityKV");
applicationLogger.info("\n\n\nRequest: querySupportGroups (Initial)\nUser: " + api.getUser() + "\nAdmin? "
+ (api.isAdministrator() ? "Yes" : "No"));
@@ -112,7 +112,7 @@ public class SupportGroup {
* @throws ARException if an error occurs during the query
*/
public void queryUserSupportGroup(RemedyJavaAPI api) throws ARException {
- api.impersonateUser("WuiQualityKV");
+ //api.impersonateUser("WuiQualityKV");
var querySupportGroups = new Query.QueryBuilder("CTM:Support Group Association")
.addFieldId("SupportGroupId", 1000000079).build();
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..505dc81
--- /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.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@