added fieldvalues for all preset post handlers
parent
99907146ad
commit
b6d01f27ec
|
|
@ -283,16 +283,15 @@ 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);
|
||||
httpRequest.setAttribute("listOfFieldValues", change.getListOfFieldValues());
|
||||
|
||||
|
||||
return request;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Updates the state based on the provided {@link StateChangeRequest} object.
|
||||
|
|
@ -312,13 +311,12 @@ public class KalenderRestController {
|
|||
logRequest("/updateState", request.toString());
|
||||
httpRequest.setAttribute("requestBody", request);
|
||||
httpRequest.setAttribute("formName", "ASF:CHG_CAL_Interactions");
|
||||
|
||||
|
||||
String response = stateChange.createStateChange(request);
|
||||
httpRequest.setAttribute("listOfFieldValues", stateChange.getListOfFieldValues());
|
||||
|
||||
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Updates an implementer based on the data sent in the request.
|
||||
|
|
@ -337,6 +335,8 @@ public class KalenderRestController {
|
|||
httpRequest.setAttribute("formName", "ASF:CHG_CAL_Interactions");
|
||||
|
||||
var response = implementer.update(request);
|
||||
httpRequest.setAttribute("listOfFieldValues", implementer.getListOfFieldValues());
|
||||
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
|
|
@ -358,6 +358,8 @@ public class KalenderRestController {
|
|||
httpRequest.setAttribute("formName", "ASF:CHG_CAL_Interactions");
|
||||
|
||||
var response = approval.update(request);
|
||||
httpRequest.setAttribute("listOfFieldValues", approval.getListOfFieldValues());
|
||||
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
|
|
@ -386,6 +388,8 @@ public class KalenderRestController {
|
|||
|
||||
Presets presets = new Presets(javaAPI);
|
||||
presets.savePreset(request);
|
||||
httpRequest.setAttribute("listOfFieldValues", presets.getListOfFieldValues());
|
||||
|
||||
return presets.getAll();
|
||||
}
|
||||
|
||||
|
|
@ -393,13 +397,15 @@ public class KalenderRestController {
|
|||
@PostMapping("/api/selectPreset")
|
||||
@ResponseBody
|
||||
public boolean selectPreset(@RequestBody SelectPresetRequest guid, HttpServletRequest httpRequest)
|
||||
throws ARException,
|
||||
NotFoundError {
|
||||
throws ARException, NotFoundError {
|
||||
httpRequest.setAttribute("requestBody", guid);
|
||||
httpRequest.setAttribute("formName", "ASF:CHG_CAL_UserPreferences");
|
||||
|
||||
Presets presets = new Presets(javaAPI);
|
||||
return presets.selectPreset(guid);
|
||||
boolean result = presets.selectPreset(guid);
|
||||
httpRequest.setAttribute("listOfFieldValues", presets.getListOfFieldValues());
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@CrossOrigin("*")
|
||||
|
|
@ -420,6 +426,8 @@ public class KalenderRestController {
|
|||
|
||||
Presets presets = new Presets(javaAPI);
|
||||
presets.updatePreset(request);
|
||||
httpRequest.setAttribute("listOfFieldValues", presets.getListOfFieldValues());
|
||||
|
||||
return presets.getAll();
|
||||
}
|
||||
|
||||
|
|
@ -433,9 +441,11 @@ public class KalenderRestController {
|
|||
|
||||
Presets presets = new Presets(javaAPI);
|
||||
presets.deletePreset(request);
|
||||
httpRequest.setAttribute("listOfFieldValues", presets.getListOfFieldValues());
|
||||
|
||||
return presets.getAll();
|
||||
}
|
||||
|
||||
|
||||
@CrossOrigin
|
||||
@PostMapping("api/renamePreset")
|
||||
@ResponseBody
|
||||
|
|
@ -446,6 +456,8 @@ public class KalenderRestController {
|
|||
|
||||
Presets presets = new Presets(javaAPI);
|
||||
presets.renamePreset(request);
|
||||
httpRequest.setAttribute("listOfFieldValues", presets.getListOfFieldValues());
|
||||
|
||||
return presets.getAll();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,8 @@
|
|||
package com.nttdata.calender.approval;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.bmc.arsys.api.ARException;
|
||||
|
|
@ -13,6 +16,8 @@ import com.nttdata.calender.api.RemedyJavaAPI;
|
|||
@Service
|
||||
public class Approval {
|
||||
private RemedyJavaAPI remedyJavaAPI;
|
||||
private ArrayList<String> listOfFieldValues;
|
||||
|
||||
|
||||
/**
|
||||
* Constructor for the Approval class.
|
||||
|
|
@ -21,6 +26,17 @@ public class Approval {
|
|||
*/
|
||||
public Approval(RemedyJavaAPI remedyJavaAPI) {
|
||||
this.remedyJavaAPI = remedyJavaAPI;
|
||||
this.listOfFieldValues = new ArrayList<>();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the list of field values.
|
||||
*
|
||||
* @return listOfFieldValues
|
||||
*/
|
||||
public List<String> getListOfFieldValues() {
|
||||
return new ArrayList<>(listOfFieldValues); // Return a copy to ensure immutability
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -31,6 +47,9 @@ public class Approval {
|
|||
* @throws ARException If an error occurs during the update
|
||||
*/
|
||||
public String update(ApprovalUpdateRequest request) throws ARException {
|
||||
// Clear the list before processing a new request
|
||||
listOfFieldValues.clear();
|
||||
|
||||
remedyJavaAPI.impersonateUser("WuiQualityKV");
|
||||
String action = "APPROVAL";
|
||||
|
||||
|
|
@ -40,46 +59,18 @@ public class Approval {
|
|||
.addFieldValue("ApprovalAction", 1000003264, request.getApprovalActionValue())
|
||||
.build();
|
||||
|
||||
/*
|
||||
* String user = remedyJavaAPI.getUser();
|
||||
* var queryChanges = new Query.QueryBuilder("ASF:WI_TAS_Paket")
|
||||
* .addFieldId("ChangeNr", 1000000182)
|
||||
* .addFieldId("ActualStatus", 7)
|
||||
* .build();
|
||||
*
|
||||
*
|
||||
* Entry change = remedyJavaAPI
|
||||
* .queryFieldsById("\'Infrastructure Change ID\' = \"" +
|
||||
* request.getChangeNrValue().toString() + "\"",
|
||||
* queryChanges.getFieldIds(), queryChanges.getFormName(), null, 0, 0)
|
||||
* .get(0);
|
||||
*
|
||||
*
|
||||
* int approvalAction =
|
||||
* queryUpdate.getFieldValue("ApprovalAction").getIntValue();
|
||||
* var actualStatus = change.get(queryChanges.getFieldId("ActualStatus"));
|
||||
*
|
||||
*
|
||||
* if (approvalAction == 1 || approvalAction == 2) {
|
||||
* if (inApprovalList(user, request.getChangeNr()))
|
||||
* return this.remedyJavaAPI.createEntry(queryUpdate);
|
||||
* else
|
||||
* return "user (" + user + ") has no authorization for approval.";
|
||||
* } else if (approvalAction == 3) {
|
||||
* if (request.getChangeNr().contains("PKG") && actualStatus.getIntValue() == 1)
|
||||
* return this.remedyJavaAPI.createEntry(queryUpdate);
|
||||
* else
|
||||
* return request.getChangeNr().contains("PKG")
|
||||
* ? "actual status not set to 'request for authorization'."
|
||||
* : "is not a package (PKG)";
|
||||
* } else {
|
||||
* return "invalid approval status (must be 1, 2 or 3)";
|
||||
* }
|
||||
*/
|
||||
collectFieldValues(queryUpdate); // Collect field values
|
||||
|
||||
return this.remedyJavaAPI.createEntry(queryUpdate);
|
||||
}
|
||||
|
||||
private void collectFieldValues(Query query) {
|
||||
for (var entry : query.getFieldValues()) {
|
||||
listOfFieldValues.add(entry.getFieldId() + ": " + entry.getValue());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Checks if a user is in the approval list for a specific change.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -1,5 +1,8 @@
|
|||
package com.nttdata.calender.implementer;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
|
@ -18,6 +21,7 @@ import com.nttdata.calender.api.RemedyJavaAPI;
|
|||
public class Implementer {
|
||||
private RemedyJavaAPI remedyJavaAPI;
|
||||
private static final String formName = "ASF:WI_TAS_Paket";
|
||||
private ArrayList<String> listOfFieldValues;
|
||||
|
||||
/**
|
||||
* Initialization of the Implementer class with autowiring of RemedyJavaAPI.
|
||||
|
|
@ -27,6 +31,16 @@ public class Implementer {
|
|||
@Autowired
|
||||
public Implementer(RemedyJavaAPI remedyJavaAPI) {
|
||||
this.remedyJavaAPI = remedyJavaAPI;
|
||||
this.listOfFieldValues = new ArrayList<>();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the list of field values.
|
||||
*
|
||||
* @return listOfFieldValues
|
||||
*/
|
||||
public List<String> getListOfFieldValues() {
|
||||
return new ArrayList<>(listOfFieldValues); // Return a copy to ensure immutability
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -37,15 +51,27 @@ public class Implementer {
|
|||
* @throws ARException if an ARException occurs
|
||||
*/
|
||||
public String update(ImplementerUpdateRequest request) throws ARException {
|
||||
// Clear the list before processing a new request
|
||||
listOfFieldValues.clear();
|
||||
|
||||
var action = "SETCHGIMPLEMENTER";
|
||||
var queryUpdate = new Query.QueryBuilder("ASF:CHG_CAL_Interactions")
|
||||
.addFieldValue("ChangeNr", 666000002, request.getPkgIdValue())
|
||||
.addFieldValue("Action", 666000001, new Value(action))
|
||||
.addFieldValue("LoginId", 666000005, request.getLoginIdValue())
|
||||
.build();
|
||||
|
||||
collectFieldValues(queryUpdate); // Collect field values
|
||||
|
||||
return this.remedyJavaAPI.createEntry(queryUpdate);
|
||||
}
|
||||
|
||||
private void collectFieldValues(Query query) {
|
||||
for (var entry : query.getFieldValues()) {
|
||||
listOfFieldValues.add(entry.getFieldId() + ": " + entry.getValue());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves all the implementers that are part of the support group of a
|
||||
* specific change.
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ public class Presets {
|
|||
private Query prefQuery;
|
||||
private RemedyJavaAPI api;
|
||||
private List<Preset> presets;
|
||||
private ArrayList<String> listOfFieldValues;
|
||||
|
||||
@Autowired
|
||||
public Presets(RemedyJavaAPI api) throws ARException, NotFoundError {
|
||||
|
|
@ -55,9 +56,20 @@ public class Presets {
|
|||
.build();
|
||||
|
||||
this.presets = new ArrayList<>();
|
||||
this.listOfFieldValues = new ArrayList<>();
|
||||
|
||||
api.impersonateUser("WuiQualityKV");
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the list of field values.
|
||||
*
|
||||
* @return listOfFieldValues
|
||||
*/
|
||||
public List<String> getListOfFieldValues() {
|
||||
return new ArrayList<>(listOfFieldValues); // Return a copy to ensure immutability
|
||||
}
|
||||
|
||||
public Object initPresets() throws ARException, NotFoundError {
|
||||
|
||||
PresetsGetResponse response = new PresetsGetResponse();
|
||||
|
|
@ -91,7 +103,7 @@ public class Presets {
|
|||
formUserPref, null, 0, 0);
|
||||
|
||||
// INIT ALL PRESETS
|
||||
|
||||
|
||||
getAll();
|
||||
response.setPresets(this.presets);
|
||||
response.setSelectedPreset(preference.get(0).get(prefQuery.getFieldId("GUID")).toString());
|
||||
|
|
@ -105,64 +117,79 @@ 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();
|
||||
|
||||
.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);
|
||||
}
|
||||
}
|
||||
|
||||
public void 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);
|
||||
}
|
||||
}
|
||||
|
||||
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 {
|
||||
listOfFieldValues.clear();
|
||||
var queryPresets = new Query.QueryBuilder(formDefault)
|
||||
.addFieldValue("Definition", 364000002, new Value(request.getDefinition())).build();
|
||||
.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);
|
||||
|
||||
queryPresets.getFieldIds(), formDefault, null, 0, 0).get(0);
|
||||
|
||||
api.modifyEntry(preset.getEntryId(), queryPresets);
|
||||
}
|
||||
}
|
||||
|
||||
public void renamePreset(RenamePresetRequest request) throws ARException {
|
||||
listOfFieldValues.clear();
|
||||
var queryPresets = new Query.QueryBuilder(formDefault)
|
||||
.addFieldValue("Name", 364000001, new Value(request.getNewName())).build();
|
||||
var preset = api.queryFieldsById("\'179\'==\"" + request.getId() + "\"",
|
||||
queryPresets.getFieldIds(), formDefault, null, 0, 0).get(0);
|
||||
|
||||
collectFieldValues(queryPresets);
|
||||
api.modifyEntry(preset.getEntryId(), queryPresets);
|
||||
}
|
||||
|
||||
public void editUserPreferences(EditUserPreferencesRequest request) throws ARException {
|
||||
listOfFieldValues.clear();
|
||||
var queryUserPreferences = new Query.QueryBuilder(formUserPref)
|
||||
.addFieldValue("Details", 364000002, new Value(request.getDetails()))
|
||||
.addFieldValue("View", 364000003, new Value(request.getView()))
|
||||
.addFieldValue("Language", 364000004, new Value(request.getLanguage()))
|
||||
.build();
|
||||
|
||||
collectFieldValues(queryUserPreferences);
|
||||
|
||||
|
||||
var preferences = api
|
||||
.queryFieldsById("\'2\'==\"" + api.getUser() + "\"", queryUserPreferences.getFieldIds(),
|
||||
formUserPref, null, 0, 0)
|
||||
|
|
@ -172,7 +199,8 @@ public class Presets {
|
|||
}
|
||||
|
||||
public void allPresets() throws ARException, NotFoundError {
|
||||
var entries = api.queryFieldsById("\'2\'==\"" + api.getUser() + "\" OR \'364000004\'!=NULL OR \'364000003\'!=NULL",
|
||||
var entries = api.queryFieldsById(
|
||||
"\'2\'==\"" + api.getUser() + "\" OR \'364000004\'!=NULL OR \'364000003\'!=NULL",
|
||||
defQuery.getFieldIds(),
|
||||
formDefault,
|
||||
null, 0,
|
||||
|
|
@ -207,6 +235,12 @@ public class Presets {
|
|||
selectPreset(spr);
|
||||
}
|
||||
|
||||
private void collectFieldValues(Query query) {
|
||||
for (var entry : query.getFieldValues()) {
|
||||
listOfFieldValues.add(entry.getFieldId() + ": " + entry.getValue());
|
||||
}
|
||||
}
|
||||
|
||||
public List<Preset> getAll() throws NotFoundError, ARException {
|
||||
allPresets();
|
||||
return this.presets;
|
||||
|
|
|
|||
Loading…
Reference in New Issue