Extend error replies with tag

This commit is contained in:
Mikhail Trofimov 2025-06-05 17:55:40 +03:00
parent 18809d24d2
commit 92a13829cd
2 changed files with 22 additions and 11 deletions

View file

@ -148,23 +148,23 @@ public class SignalFacade {
ResponseEntity<Resource> validateReruqredTags(MonitoringRequest request) {
if (request.getUserId() == null) {
return getBadResponse(SignalError.ERROR_002); // + userId
return getBadResponse(SignalError.ERROR_002, "UserId");
}
if (request.getPackageName() == null) {
return getBadResponse(SignalError.ERROR_002); // + packageName
return getBadResponse(SignalError.ERROR_002, "PackageName");
}
if (request.getPassword() == null) {
return getBadResponse(SignalError.ERROR_002); // + password
return getBadResponse(SignalError.ERROR_002, "Password");
}
if (request.getSubjects() == null) {
return getBadResponse(SignalError.ERROR_002); // + subjects
return getBadResponse(SignalError.ERROR_002, "Subjects");
}
if (request.getSubjects().getSubject().isEmpty()) {
return getBadResponse(SignalError.ERROR_002); // subject
return getBadResponse(SignalError.ERROR_002, "Subject");
}
return null;
@ -181,8 +181,12 @@ public class SignalFacade {
file.getOriginalFilename() != null && file.getOriginalFilename().toLowerCase().endsWith(".zip");
}
private ResponseEntity<Resource> getBadResponse(SignalError error) {
String errorPath = failureAnswerGenerator.generateFailureAnswer(error);
private ResponseEntity<Resource> getBadResponse(SignalError error, String tag) {
String errorPath = failureAnswerGenerator.generateFailureAnswer(error, tag);
return ResponseEntity.badRequest().body(new PathResource(errorPath));
}
private ResponseEntity<Resource> getBadResponse(SignalError error) {
return getBadResponse(error, null);
}
}

View file

@ -25,6 +25,10 @@ public class FailureAnswerGenerator {
}
public String generateFailureAnswer(SignalError error) {
return generateFailureAnswer(error, null);
}
public String generateFailureAnswer(SignalError error, String tag) {
try {
File tempFolder = new File(ANSWER_PATH);
if (!tempFolder.exists()) {
@ -33,7 +37,7 @@ public class FailureAnswerGenerator {
String answerPath = ANSWER_PATH + File.separator + UUID.randomUUID() + File.separator + "error_reply.xml";
IXmlProcessor xmlProcessor = xmlUtilService.createJaxbProcessor();
String errorMessage = xmlProcessor.asString(createErrorMessage(error), false);
String errorMessage = xmlProcessor.asString(createErrorMessage(error, tag), false);
FileUtils.writeStringToFile(new File(answerPath), errorMessage, Charset.forName("windows-1251"));
return answerPath;
@ -43,12 +47,15 @@ public class FailureAnswerGenerator {
return null;
}
// TODO think about common error class
private MonitoringError createErrorMessage(SignalError error) {
private MonitoringError createErrorMessage(SignalError error, String tag) {
MonitoringError errorMessage = new MonitoringError();
errorMessage.setStatus("error");
errorMessage.setErrorCode(error.getCode());
if (tag != null) {
errorMessage.setErrorText(error.getMessage() + " " + tag);
} else {
errorMessage.setErrorText(error.getMessage());
}
return errorMessage;
}