diff --git a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java index ca710dd..37bf4d1 100644 --- a/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java +++ b/backend/src/main/java/com/nttdata/calender/api/KalenderRestController.java @@ -287,8 +287,9 @@ public class KalenderRestController { String formName = (request.getState() == 0) ? "ASF:WI_TAS_Paket" : "CHG:Infrastructure Change"; httpRequest.setAttribute("formName", formName); - change.modifyTimestamp(request); + var response = change.modifyTimestamp(request); httpRequest.setAttribute("listOfFieldValues", change.getListOfFieldValues()); + httpRequest.setAttribute("entryId", response); return request; } @@ -314,6 +315,7 @@ public class KalenderRestController { String response = stateChange.createStateChange(request); httpRequest.setAttribute("listOfFieldValues", stateChange.getListOfFieldValues()); + httpRequest.setAttribute("entryId", response); return ResponseEntity.ok(response); } @@ -336,6 +338,7 @@ public class KalenderRestController { var response = implementer.update(request); httpRequest.setAttribute("listOfFieldValues", implementer.getListOfFieldValues()); + httpRequest.setAttribute("entryId", response); return ResponseEntity.ok(response); } @@ -359,6 +362,7 @@ public class KalenderRestController { var response = approval.update(request); httpRequest.setAttribute("listOfFieldValues", approval.getListOfFieldValues()); + httpRequest.setAttribute("entryId", response); return ResponseEntity.ok(response); } @@ -387,8 +391,9 @@ public class KalenderRestController { httpRequest.setAttribute("formName", "ASF:CHG_CAL_FilterDefinitions"); Presets presets = new Presets(javaAPI); - presets.savePreset(request); + var response = presets.savePreset(request); httpRequest.setAttribute("listOfFieldValues", presets.getListOfFieldValues()); + httpRequest.setAttribute("entryId", response); return presets.getAll(); } @@ -425,8 +430,9 @@ public class KalenderRestController { httpRequest.setAttribute("formName", "ASF:CHG_CAL_FilterDefinitions"); Presets presets = new Presets(javaAPI); - presets.updatePreset(request); + var response = presets.updatePreset(request); httpRequest.setAttribute("listOfFieldValues", presets.getListOfFieldValues()); + httpRequest.setAttribute("entryId", response); return presets.getAll(); } @@ -440,8 +446,9 @@ public class KalenderRestController { httpRequest.setAttribute("formName", "ASF:CHG_CAL_FilterDefinitions"); Presets presets = new Presets(javaAPI); - presets.deletePreset(request); + var response = presets.deletePreset(request); httpRequest.setAttribute("listOfFieldValues", presets.getListOfFieldValues()); + httpRequest.setAttribute("entryId", response); return presets.getAll(); } @@ -455,8 +462,9 @@ public class KalenderRestController { httpRequest.setAttribute("formName", "ASF:CHG_CAL_FilterDefinitions"); Presets presets = new Presets(javaAPI); - presets.renamePreset(request); + var response = presets.renamePreset(request); httpRequest.setAttribute("listOfFieldValues", presets.getListOfFieldValues()); + httpRequest.setAttribute("entryId", response); return presets.getAll(); } @@ -470,7 +478,8 @@ public class KalenderRestController { httpRequest.setAttribute("formName", "ASF:CHG_CAL_UserPreferences"); Presets presets = new Presets(javaAPI); - presets.editUserPreferences(request); + var response = presets.editUserPreferences(request); + httpRequest.setAttribute("entryId", response); } @CrossOrigin("*") 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 7b532eb..cebe13d 100644 --- a/backend/src/main/java/com/nttdata/calender/api/RemedyJavaAPI.java +++ b/backend/src/main/java/com/nttdata/calender/api/RemedyJavaAPI.java @@ -134,7 +134,8 @@ public class RemedyJavaAPI { return lastStatus.toString(); } - return "Entry created successfully. ID: " + entryIdOut; + // return "Entry created successfully. ID: " + entryIdOut; + return entryIdOut; } public String deleteEntry(String formName, String entryId) throws ARException { @@ -163,7 +164,7 @@ public class RemedyJavaAPI { * @param updates the updates * @throws ARException when an ARException occurs */ - public void modifyEntry(String entryId, Query updates) throws ARException { + public String modifyEntry(String entryId, Query updates) throws ARException { var values = updates.getFieldValues(); var entry = server.getEntry(updates.getFormName(), entryId, updates.getFieldIds()); @@ -171,6 +172,7 @@ public class RemedyJavaAPI { entry.put(value.getFieldId(), value.getValue()); }); server.setEntry(updates.getFormName(), entryId, entry, null, 0); + return entryId; } /** 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 cef177e..073000c 100644 --- a/backend/src/main/java/com/nttdata/calender/api/RequestInterceptor.java +++ b/backend/src/main/java/com/nttdata/calender/api/RequestInterceptor.java @@ -50,7 +50,8 @@ public class RequestInterceptor implements HandlerInterceptor { long transactionId = System.currentTimeMillis(); Object requestBody = request.getAttribute("requestBody"); - String formName = getValidatedField((String) request.getAttribute("formName"), "Default Form"); + String formName = getValidatedField((String) request.getAttribute("formName"), "‎"); + String entryId = getValidatedField((String) request.getAttribute("entryId"), "‎"); int status = (ex == null) ? 3 : 2; List listOfFieldValues = getFieldValues(request); @@ -64,30 +65,30 @@ public class RequestInterceptor implements HandlerInterceptor { entry = buildQueryEntry(transactionId, "Date change", formName, body.getChangeNr(), getAssignedTo(), status, body.getResourceId(), fieldValueJson); } else if (requestBody instanceof StateChangeRequest) { StateChangeRequest body = (StateChangeRequest) requestBody; - entry = buildQueryEntry(transactionId, "State transition", formName, body.getChangeNr(), getAssignedTo(), status, "?", fieldValueJson); + entry = buildQueryEntry(transactionId, "State transition", formName, body.getChangeNr(), getAssignedTo(), status, entryId, fieldValueJson); } else if (requestBody instanceof ImplementerUpdateRequest) { ImplementerUpdateRequest body = (ImplementerUpdateRequest) requestBody; - entry = buildQueryEntry(transactionId, "Implementer Update", formName, body.getPkgId(), getAssignedTo(), status, "?", fieldValueJson); + entry = buildQueryEntry(transactionId, "Implementer Update", formName, body.getPkgId(), getAssignedTo(), status, entryId, fieldValueJson); } else if (requestBody instanceof ApprovalUpdateRequest) { ApprovalUpdateRequest body = (ApprovalUpdateRequest) requestBody; - entry = buildQueryEntry(transactionId, "Approval Update", formName, body.getChangeNr(), getAssignedTo(), status, "?", fieldValueJson); + entry = buildQueryEntry(transactionId, "Approval Update", formName, body.getChangeNr(), getAssignedTo(), status, entryId, fieldValueJson); } else if (requestBody instanceof Preset) { Preset body = (Preset) requestBody; - entry = buildQueryEntry(transactionId, "Save Preset", formName, body.getId(), getAssignedTo(), status, "?", fieldValueJson); + entry = buildQueryEntry(transactionId, "Save Preset", formName, body.getId(), getAssignedTo(), status, entryId, fieldValueJson); } else if (requestBody instanceof SelectPresetRequest) { SelectPresetRequest body = (SelectPresetRequest) requestBody; - entry = buildQueryEntry(transactionId, "Select Preset", formName, body.getGuid(), getAssignedTo(), status, "?", fieldValueJson); + entry = buildQueryEntry(transactionId, "Select Preset", formName, body.getGuid(), getAssignedTo(), status, entryId, fieldValueJson); } else if (requestBody instanceof UpdatePresetRequest) { UpdatePresetRequest body = (UpdatePresetRequest) requestBody; - entry = buildQueryEntry(transactionId, "Update Preset", formName, body.getId(), getAssignedTo(), status, "?", fieldValueJson); + entry = buildQueryEntry(transactionId, "Update Preset", formName, body.getId(), getAssignedTo(), status, entryId, fieldValueJson); } else if (requestBody instanceof DeletePresetRequest) { DeletePresetRequest body = (DeletePresetRequest) requestBody; - entry = buildQueryEntry(transactionId, "Delete Preset", formName, body.getId(), getAssignedTo(), status, "?", fieldValueJson); + entry = buildQueryEntry(transactionId, "Delete Preset", formName, body.getId(), getAssignedTo(), status, entryId, fieldValueJson); } else if (requestBody instanceof RenamePresetRequest) { RenamePresetRequest body = (RenamePresetRequest) requestBody; - entry = buildQueryEntry(transactionId, "Rename Preset", formName, body.getId(), getAssignedTo(), status, "?", fieldValueJson); + entry = buildQueryEntry(transactionId, "Rename Preset", formName, body.getId(), getAssignedTo(), status, entryId, fieldValueJson); } else if (requestBody instanceof EditUserPreferencesRequest) { - entry = buildQueryEntry(transactionId, "Edit User Preferences", formName, "", getAssignedTo(), status, "?", fieldValueJson); + entry = buildQueryEntry(transactionId, "Edit User Preferences", formName, "", getAssignedTo(), status, entryId, fieldValueJson); } if (entry != null) { diff --git a/backend/src/main/java/com/nttdata/calender/changes/Change.java b/backend/src/main/java/com/nttdata/calender/changes/Change.java index 7d7fa47..d87cd13 100644 --- a/backend/src/main/java/com/nttdata/calender/changes/Change.java +++ b/backend/src/main/java/com/nttdata/calender/changes/Change.java @@ -317,7 +317,7 @@ public class Change { * @throws ARException if an error occurs during the modification process * @throws ValidationError */ - public void modifyTimestamp(ChangeUpdateRequest request) throws ARException, ValidationError { + public String modifyTimestamp(ChangeUpdateRequest request) throws ARException, ValidationError { // Clear the list before processing a new request listOfFieldValues.clear(); @@ -331,8 +331,8 @@ public class Change { if (state == 0) { Query query = new Query.QueryBuilder("ASF:WI_TAS_Paket") .addFieldValue("d2", 1000000350, new Value(ts)).build(); - collectFieldValues(query); // Collect field values - api.modifyEntry(entryId, query); + collectFieldValues(query); // Collect field values + return api.modifyEntry(entryId, query); } else { Query queryInfrastructureChange = new Query.QueryBuilder("CHG:Infrastructure Change") .addFieldValue("d2", 1000000350, new Value(ts)).build(); @@ -342,7 +342,7 @@ public class Change { queryInfrastructureChange.getFieldIds(), queryInfrastructureChange.getFormName(), null, 0, 0); - api.modifyEntry(change.get(0).getEntryId(), queryInfrastructureChange); + return api.modifyEntry(change.get(0).getEntryId(), queryInfrastructureChange); } } 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 026abec..8dac690 100644 --- a/backend/src/main/java/com/nttdata/calender/presets/Presets.java +++ b/backend/src/main/java/com/nttdata/calender/presets/Presets.java @@ -117,58 +117,58 @@ public class Presets { public void createUserPreference(String guid) throws ARException { var savePreference = new Query.QueryBuilder(formUserPref) - .addFieldValue("GUID", 364000001, new Value(guid)) - .addFieldValue("Details", 364000002, new Value(1)) - .addFieldValue("View", 364000003, new Value(1)) - .addFieldValue("Language", 364000004, new Value("DE")) - .build(); - - api.createEntry(savePreference); - } + .addFieldValue("GUID", 364000001, new Value(guid)) + .addFieldValue("Details", 364000002, new Value(1)) + .addFieldValue("View", 364000003, new Value(1)) + .addFieldValue("Language", 364000004, new Value("DE")) + .build(); - public void savePreset(Preset request) throws ARException, NotFoundError { + api.createEntry(savePreference); + } + + public String savePreset(Preset request) throws ARException, NotFoundError { listOfFieldValues.clear(); var saveQuery = new Query.QueryBuilder(formDefault) - .addFieldValue("FilterPresetName", 364000001, new Value(request.getName())) - .addFieldValue("FilterPresetDefinition", 364000002, new Value(request.getDefinition())) - .build(); - + .addFieldValue("FilterPresetName", 364000001, new Value(request.getName())) + .addFieldValue("FilterPresetDefinition", 364000002, new Value(request.getDefinition())) + .build(); + collectFieldValues(saveQuery); // Collect field values - api.createEntry(saveQuery); - } + return api.createEntry(saveQuery); + } public boolean selectPreset(SelectPresetRequest guid) throws ARException { listOfFieldValues.clear(); var queryP = new Query.QueryBuilder(formUserPref) - .addFieldValue("GUID", 364000001, new Value(guid.getGuid())).build(); - + .addFieldValue("GUID", 364000001, new Value(guid.getGuid())).build(); + collectFieldValues(queryP); // Collect field values - + var pref = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", queryP.getFieldIds(), formUserPref, - null, 0, - 0); - + null, 0, + 0); + if (pref.isEmpty() || pref == null) - return false; - + return false; + api.modifyEntry(pref.get(0).getEntryId(), queryP); return true; - } + } - public void updatePreset(UpdatePresetRequest request) throws ARException { + public String updatePreset(UpdatePresetRequest request) throws ARException { listOfFieldValues.clear(); var queryPresets = new Query.QueryBuilder(formDefault) - .addFieldValue("Definition", 364000002, new Value(request.getDefinition())).build(); - - collectFieldValues(queryPresets); // Collect field values - - var preset = api.queryFieldsById("\'179\'==\"" + request.getId() + "\"", - queryPresets.getFieldIds(), formDefault, null, 0, 0).get(0); - - api.modifyEntry(preset.getEntryId(), queryPresets); - } + .addFieldValue("Definition", 364000002, new Value(request.getDefinition())).build(); - public void renamePreset(RenamePresetRequest request) throws ARException { + collectFieldValues(queryPresets); // Collect field values + + var preset = api.queryFieldsById("\'179\'==\"" + request.getId() + "\"", + queryPresets.getFieldIds(), formDefault, null, 0, 0).get(0); + + return api.modifyEntry(preset.getEntryId(), queryPresets); + } + + public String renamePreset(RenamePresetRequest request) throws ARException { listOfFieldValues.clear(); var queryPresets = new Query.QueryBuilder(formDefault) .addFieldValue("Name", 364000001, new Value(request.getNewName())).build(); @@ -176,10 +176,10 @@ public class Presets { queryPresets.getFieldIds(), formDefault, null, 0, 0).get(0); collectFieldValues(queryPresets); - api.modifyEntry(preset.getEntryId(), queryPresets); + return api.modifyEntry(preset.getEntryId(), queryPresets); } - public void editUserPreferences(EditUserPreferencesRequest request) throws ARException { + public String editUserPreferences(EditUserPreferencesRequest request) throws ARException { listOfFieldValues.clear(); var queryUserPreferences = new Query.QueryBuilder(formUserPref) .addFieldValue("Details", 364000002, new Value(request.getDetails())) @@ -187,15 +187,14 @@ public class Presets { .addFieldValue("Language", 364000004, new Value(request.getLanguage())) .build(); - collectFieldValues(queryUserPreferences); - + collectFieldValues(queryUserPreferences); var preferences = api .queryFieldsById("\'2\'==\"" + api.getUser() + "\"", queryUserPreferences.getFieldIds(), formUserPref, null, 0, 0) .get(0); - api.modifyEntry(preferences.getEntryId(), queryUserPreferences); + return api.modifyEntry(preferences.getEntryId(), queryUserPreferences); } public void allPresets() throws ARException, NotFoundError { @@ -219,10 +218,10 @@ public class Presets { } } - public void deletePreset(DeletePresetRequest request) throws ARException { + public String deletePreset(DeletePresetRequest request) throws ARException { var entries = api.queryFieldsById("\'179\'==\"" + request.getId() + "\"", null, formDefault, null, 0, 0) .get(0); - api.deleteEntry(formDefault, entries.getEntryId()); + var entryid = api.deleteEntry(formDefault, entries.getEntryId()); // SYSTEMDEFAULT var sysdef = api.queryFieldsById("\'364000001\'==\"Systemdefault\"", defQuery.getFieldIds(), @@ -233,13 +232,15 @@ public class Presets { SelectPresetRequest spr = new SelectPresetRequest(); spr.setGuid(sysdefGUID); selectPreset(spr); + + return entryid; } private void collectFieldValues(Query query) { for (var entry : query.getFieldValues()) { - listOfFieldValues.add(entry.getFieldId() + "\": \"" + entry.getValue()); + listOfFieldValues.add(entry.getFieldId() + "\": \"" + entry.getValue()); } - } + } public List getAll() throws NotFoundError, ARException { allPresets();