StateChange exceptions

main
Julius Sula 2023-05-23 11:14:57 +02:00
parent 03c40b294e
commit e2db14835b
5 changed files with 29 additions and 43 deletions

View File

@ -46,17 +46,19 @@ public class KalenderRestController {
private final Implementer implementer;
private final PackageType packageType;
private final Approval approval;
private final StateChange stateChange;
private static final Logger applicationLogger = LogManager.getLogger("application");
@Autowired
public KalenderRestController(RemedyJavaAPI javaAPI, Change change, Implementer implementer,
PackageType packageType, Approval approval) {
PackageType packageType, Approval approval, StateChange stateChange) {
this.javaAPI = javaAPI;
this.change = change;
this.implementer = implementer;
this.packageType = packageType;
this.approval = approval;
this.stateChange = stateChange;
}
/**
@ -70,9 +72,9 @@ public class KalenderRestController {
@CrossOrigin("*")
@GetMapping("/api/getStates")
@ResponseBody
public ArrayList<StateResponse> printState() throws JsonProcessingException {
public ArrayList<StateResponse> printState() {
var state = State.getInstance();
return state.returnJson();
return state.get();
}
@CrossOrigin("*")
@ -212,8 +214,7 @@ public class KalenderRestController {
*/
@CrossOrigin("*")
@PostMapping("/api/updateState")
public ResponseEntity<String> updateState(@RequestBody StateChangeRequest request,
@Autowired StateChange stateChange) throws ARException {
public ResponseEntity<String> updateState(@RequestBody StateChangeRequest request) throws ARException {
logRequest("/updateState", request.toString());
var response = stateChange.createStateChange(request);
return ResponseEntity.ok(response);

View File

@ -5,8 +5,6 @@ import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.util.ArrayList;
import org.apache.el.util.Validation;
import com.bmc.arsys.api.ARException;
import com.bmc.arsys.api.SortInfo;
import com.nttdata.calender.api.Query;

View File

@ -10,7 +10,6 @@ import org.apache.logging.log4j.Logger;
import com.bmc.arsys.api.ARException;
import com.bmc.arsys.api.Entry;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.nttdata.calender.api.Query;
import com.nttdata.calender.api.RemedyJavaAPI;
@ -69,16 +68,11 @@ public class State {
* HashMap.
*
* @param api Remedy API object
* @throws ARException
*/
public void queryState(RemedyJavaAPI api) {
try {
public void queryState(RemedyJavaAPI api) throws ARException {
queryStateNames(api);
queryPossibleStates(api);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
@ -153,7 +147,6 @@ public class State {
* @param nameQuery Query object of stateFields
*/
public void updateStateNames(List<Entry> stateFields, Query nameQuery) {
try {
stateFields.stream()
.filter(entry -> Optional.ofNullable(entry.get(nameQuery.getFieldId("Locale")))
.map(Object::toString)
@ -169,10 +162,6 @@ public class State {
new StateInfo(entry.get(englishName).toString(),
entry.get(germanName).toString()));
});
} catch (Exception e) {
logger.error("Database entries for stateName in english and german in bad state");
e.printStackTrace();
}
}
/**
@ -183,9 +172,8 @@ public class State {
*
* @return Array of JSON objects with integer representation of state and
* {@link StateInfo}
* @throws JsonProcessingException if an error occurs during JSON processing
*/
public ArrayList<StateResponse> returnJson() throws JsonProcessingException {
public ArrayList<StateResponse> get() {
var response = new ArrayList<StateResponse>();
this.state.forEach((key, value) -> {
response.add(new StateResponse(key, value.possibleState, value.stateNameEN, value.stateNameDE));

View File

@ -1,7 +1,7 @@
package com.nttdata.calender.states;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import com.bmc.arsys.api.ARException;
import com.bmc.arsys.api.Value;
@ -13,7 +13,7 @@ import com.nttdata.calender.api.RemedyJavaAPI;
* change entries on Remedy. It handles the logic of creating a new
* entry with the required field values.
*/
@Component
@Service
public class StateChange {
static final String ACTION = "STATUSCHANGE";
static final String formName = "ASF:CHG_CAL_Interactions";
@ -39,7 +39,6 @@ public class StateChange {
* @return String representing the created entry ID
* @throws ARException when there's an error creating the entry
*/
// TODO: implement changes from implementerChange
public String createStateChange(StateChangeRequest request) throws ARException {
var query = new Query.QueryBuilder(formName)
.addFieldValue("ChangeNr", 666000002, new Value(request.getChangeNr()))