simplified code
parent
aa2763b4b2
commit
9523311710
|
|
@ -283,6 +283,10 @@ public class KalenderRestController {
|
|||
public ChangeUpdateRequest updateChange(@RequestBody ChangeUpdateRequest request, HttpServletRequest httpRequest)
|
||||
throws ARException, ValidationError {
|
||||
httpRequest.setAttribute("requestBody", request);
|
||||
|
||||
String formName = (request.getState() == 0) ? "ASF:WI_TAS_Paket" : "CHG:Infrastructure Change";
|
||||
httpRequest.setAttribute("formName", formName);
|
||||
|
||||
change.modifyTimestamp(request);
|
||||
return request;
|
||||
}
|
||||
|
|
@ -304,6 +308,7 @@ public class KalenderRestController {
|
|||
throws ARException {
|
||||
logRequest("/updateState", request.toString());
|
||||
httpRequest.setAttribute("requestBody", request);
|
||||
httpRequest.setAttribute("formName", "ASF:CHG_CAL_Interactions");
|
||||
var response = stateChange.createStateChange(request);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
|
@ -322,6 +327,7 @@ public class KalenderRestController {
|
|||
public ResponseEntity<String> updateImplementer(@RequestBody ImplementerUpdateRequest request,
|
||||
HttpServletRequest httpRequest) throws ARException {
|
||||
httpRequest.setAttribute("requestBody", request);
|
||||
httpRequest.setAttribute("formName", "ASF:CHG_CAL_Interactions");
|
||||
var response = implementer.update(request);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
|
@ -341,6 +347,7 @@ public class KalenderRestController {
|
|||
public ResponseEntity<String> updateApproval(@RequestBody ApprovalUpdateRequest request,
|
||||
HttpServletRequest httpRequest) throws ARException {
|
||||
httpRequest.setAttribute("requestBody", request);
|
||||
httpRequest.setAttribute("formName", "ASF:CHG_CAL_Interactions");
|
||||
var response = approval.update(request);
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
|
@ -363,9 +370,11 @@ public class KalenderRestController {
|
|||
@CrossOrigin("*")
|
||||
@PostMapping("/api/savePreset")
|
||||
@ResponseBody
|
||||
public List<Preset> savePreset(@RequestBody Preset request)
|
||||
public List<Preset> savePreset(@RequestBody Preset request, HttpServletRequest httpRequest)
|
||||
throws ARException, ValidationError, NotFoundError {
|
||||
Presets presets = new Presets(javaAPI);
|
||||
httpRequest.setAttribute("requestBody", request);
|
||||
httpRequest.setAttribute("formName", "ASF:CHG_CAL_FilterDefinitions");
|
||||
presets.savePreset(request);
|
||||
return presets.getAll();
|
||||
}
|
||||
|
|
@ -373,8 +382,12 @@ public class KalenderRestController {
|
|||
@CrossOrigin("*")
|
||||
@PostMapping("/api/selectPreset")
|
||||
@ResponseBody
|
||||
public boolean selectPreset(@RequestBody SelectPresetRequest guid) throws ARException,
|
||||
public boolean selectPreset(@RequestBody SelectPresetRequest guid, HttpServletRequest httpRequest)
|
||||
throws ARException,
|
||||
NotFoundError {
|
||||
httpRequest.setAttribute("requestBody", guid);
|
||||
httpRequest.setAttribute("formName", "ASF:CHG_CAL_UserPreferences");
|
||||
|
||||
Presets presets = new Presets(javaAPI);
|
||||
return presets.selectPreset(guid);
|
||||
}
|
||||
|
|
@ -390,8 +403,10 @@ public class KalenderRestController {
|
|||
@CrossOrigin("*")
|
||||
@PostMapping("api/updatePreset")
|
||||
@ResponseBody
|
||||
public List<Preset> updatePreset(@RequestBody UpdatePresetRequest request) throws NotFoundError, ARException {
|
||||
public List<Preset> updatePreset(@RequestBody UpdatePresetRequest request, HttpServletRequest httpRequest) throws NotFoundError, ARException {
|
||||
Presets presets = new Presets(javaAPI);
|
||||
httpRequest.setAttribute("requestBody", request);
|
||||
httpRequest.setAttribute("formName", "ASF:CHG_CAL_FilterDefinitions");
|
||||
presets.updatePreset(request);
|
||||
return presets.getAll();
|
||||
}
|
||||
|
|
@ -399,8 +414,10 @@ public class KalenderRestController {
|
|||
@CrossOrigin("*")
|
||||
@PostMapping("api/deletePreset")
|
||||
@ResponseBody
|
||||
public Object deletePreset(@RequestBody DeletePresetRequest request) throws ARException, NotFoundError {
|
||||
public Object deletePreset(@RequestBody DeletePresetRequest request, HttpServletRequest httpRequest) throws ARException, NotFoundError {
|
||||
Presets presets = new Presets(javaAPI);
|
||||
httpRequest.setAttribute("requestBody", request);
|
||||
httpRequest.setAttribute("formName", "ASF:CHG_CAL_FilterDefinitions");
|
||||
presets.deletePreset(request);
|
||||
return presets.getAll();
|
||||
}
|
||||
|
|
@ -408,8 +425,10 @@ public class KalenderRestController {
|
|||
@CrossOrigin
|
||||
@PostMapping("api/renamePreset")
|
||||
@ResponseBody
|
||||
public List<Preset> renamePreset(@RequestBody RenamePresetRequest request) throws NotFoundError, ARException {
|
||||
public List<Preset> renamePreset(@RequestBody RenamePresetRequest request, HttpServletRequest httpRequest) throws NotFoundError, ARException {
|
||||
Presets presets = new Presets(javaAPI);
|
||||
httpRequest.setAttribute("requestBody", request);
|
||||
httpRequest.setAttribute("formName", "ASF:CHG_CAL_FilterDefinitions");
|
||||
presets.renamePreset(request);
|
||||
return presets.getAll();
|
||||
}
|
||||
|
|
@ -417,8 +436,10 @@ public class KalenderRestController {
|
|||
@CrossOrigin("*")
|
||||
@PostMapping("api/editUserPreferences")
|
||||
@ResponseBody
|
||||
public void editUserPreferences(@RequestBody EditUserPreferencesRequest request) throws ARException, NotFoundError {
|
||||
public void editUserPreferences(@RequestBody EditUserPreferencesRequest request, HttpServletRequest httpRequest) throws ARException, NotFoundError {
|
||||
Presets presets = new Presets(javaAPI);
|
||||
httpRequest.setAttribute("requestBody", request);
|
||||
httpRequest.setAttribute("formName", "ASF:CHG_CAL_UserPreferences");
|
||||
presets.editUserPreferences(request);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,16 +9,24 @@ import org.springframework.web.servlet.HandlerInterceptor;
|
|||
import com.nttdata.calender.approval.ApprovalUpdateRequest;
|
||||
import com.nttdata.calender.changes.ChangeUpdateRequest;
|
||||
import com.nttdata.calender.implementer.ImplementerUpdateRequest;
|
||||
import com.nttdata.calender.presets.Preset;
|
||||
import com.nttdata.calender.presets.SelectPresetRequest;
|
||||
import com.nttdata.calender.presets.UpdatePresetRequest;
|
||||
import com.nttdata.calender.states.StateChangeRequest;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import com.bmc.arsys.api.Value;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.startsWith;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
|
||||
@Component
|
||||
public class RequestInterceptor implements HandlerInterceptor {
|
||||
private RemedyJavaAPI api;
|
||||
private final static String form = "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");
|
||||
|
|
@ -26,6 +34,7 @@ public class RequestInterceptor implements HandlerInterceptor {
|
|||
@Override
|
||||
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
|
||||
throws Exception {
|
||||
api = new RemedyJavaAPI();
|
||||
String currentDateTime = LocalDateTime.now().format(dateTimeFormatter);
|
||||
long transactionId = System.currentTimeMillis();
|
||||
String out = String.format("Transaction ID = %d %s - handling request: %s", transactionId, currentDateTime,
|
||||
|
|
@ -34,55 +43,61 @@ public class RequestInterceptor implements HandlerInterceptor {
|
|||
return true;
|
||||
}
|
||||
|
||||
private static String output(String time, long id, String user, String status, String action, String ticket,
|
||||
String result) {
|
||||
return String.format(
|
||||
"%s\n Transaction ID: %d\n User: %s\n Status: %s\n Action: %s\n Ticket: %s\n Result: %s",
|
||||
time, id, user, status, action, ticket, result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
|
||||
throws Exception {
|
||||
if ("POST".equalsIgnoreCase(request.getMethod())) {
|
||||
String currentDateTime = LocalDateTime.now().format(dateTimeFormatter);
|
||||
long transactionId = System.currentTimeMillis();
|
||||
String changeNr = "";
|
||||
|
||||
if (handler instanceof HandlerMethod) {
|
||||
HandlerMethod handlerMethod = (HandlerMethod) handler;
|
||||
String action = handlerMethod.getMethod().getName();
|
||||
Object requestBody = request.getAttribute("requestBody");
|
||||
if (!"POST".equalsIgnoreCase(request.getMethod()) || !(handler instanceof HandlerMethod)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (requestBody instanceof ChangeUpdateRequest) {
|
||||
ChangeUpdateRequest changeUpdateRequest = (ChangeUpdateRequest) requestBody;
|
||||
changeNr += changeUpdateRequest.getChangeNr();
|
||||
action += " | Date change";
|
||||
} else if (requestBody instanceof StateChangeRequest) {
|
||||
StateChangeRequest changeStateRequest = (StateChangeRequest) requestBody;
|
||||
changeNr += changeStateRequest.getChangeNr();
|
||||
action += " | State transition";
|
||||
} else if (requestBody instanceof ImplementerUpdateRequest) {
|
||||
ImplementerUpdateRequest implementerUpdateRequest = (ImplementerUpdateRequest) requestBody;
|
||||
action += " | Implementer Update";
|
||||
} else if (requestBody instanceof ApprovalUpdateRequest) {
|
||||
ApprovalUpdateRequest approvalUpdateRequest = (ApprovalUpdateRequest) requestBody;
|
||||
action += " | Approval Update";
|
||||
}
|
||||
long transactionId = System.currentTimeMillis();
|
||||
Query entry = null;
|
||||
|
||||
String status = (ex == null) ? "Success" : "Error";
|
||||
String result = (ex == null) ? "Successful" : ex.getMessage();
|
||||
String out = output(currentDateTime, transactionId, "User", status,
|
||||
request.getRequestURI() + " | " + action, changeNr, result);
|
||||
Object requestBody = request.getAttribute("requestBody");
|
||||
String formName = (String) request.getAttribute("formName");
|
||||
int status = (ex == null) ? 3 : 2;
|
||||
|
||||
if (ex == null) {
|
||||
logger.info(out);
|
||||
} else {
|
||||
logger.error(out);
|
||||
}
|
||||
if (requestBody instanceof ChangeUpdateRequest) {
|
||||
entry = buildQueryEntry(transactionId, "Date change", formName, ((ChangeUpdateRequest) requestBody).getChangeNr(), getAssignedTo(), status);
|
||||
} else if (requestBody instanceof StateChangeRequest) {
|
||||
entry = buildQueryEntry(transactionId, "State transition", formName, ((StateChangeRequest) requestBody).getChangeNr(), getAssignedTo(), status);
|
||||
} else if (requestBody instanceof ImplementerUpdateRequest) {
|
||||
entry = buildQueryEntry(transactionId, "Implementer Update", formName, ((ImplementerUpdateRequest) requestBody).getPkgId(), getAssignedTo(), status);
|
||||
} else if (requestBody instanceof ApprovalUpdateRequest) {
|
||||
entry = buildQueryEntry(transactionId, "Approval Update", formName, ((ApprovalUpdateRequest) requestBody).getChangeNr(), getAssignedTo(), status);
|
||||
} else if (requestBody instanceof Preset) {
|
||||
entry = buildQueryEntry(transactionId, "Save Preset", formName, ((Preset) requestBody).getId(), getAssignedTo(), status);
|
||||
} else if (requestBody instanceof SelectPresetRequest) {
|
||||
entry = buildQueryEntry(transactionId, "Preset selected", formName, ((SelectPresetRequest) requestBody).getGuid(), getAssignedTo(), status);
|
||||
} else if (requestBody instanceof UpdatePresetRequest) {
|
||||
entry = buildQueryEntry(transactionId, "Update Preset", formName, ((UpdatePresetRequest) requestBody).getId(), getAssignedTo(), status);
|
||||
}
|
||||
|
||||
System.out.println("\n" + out);
|
||||
}
|
||||
if (entry != null) {
|
||||
api.createEntry(entry);
|
||||
}
|
||||
}
|
||||
|
||||
private Query buildQueryEntry(long transactionId, String actionType, String affectedForm, String changeNr,
|
||||
String assignedTo, int status) {
|
||||
return new Query.QueryBuilder(form)
|
||||
.addFieldValue("AssignedTo", 4, new Value(assignedTo))
|
||||
.addFieldValue("Status", 7, new Value(status))
|
||||
.addFieldValue("TransactionID", 666000000, new Value(transactionId))
|
||||
.addFieldValue("FieldValue", 666000001, new Value(
|
||||
"Die Felder und Werte die verändert wurde, z.B.: {\"6000434\" : \"24.05.2024 13:00:45\"}"))
|
||||
.addFieldValue("FormIDs", 666000002,
|
||||
new Value("Die Request IDs (1er Feld / entryid) der Einträge, die modifiziert werden"))
|
||||
.addFieldValue("ActionType", 666000003, new Value(actionType))
|
||||
.addFieldValue("AffectedForm", 666000004, new Value(affectedForm))
|
||||
.addFieldValue("TicketID", 666000005, new Value(changeNr))
|
||||
.build();
|
||||
}
|
||||
|
||||
private String getAssignedTo() {
|
||||
String assignedTo = api.getUser();
|
||||
return (assignedTo == null || assignedTo.isEmpty()) ? "Placeholder User" : assignedTo;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue