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) { ResponseEntity<Resource> validateReruqredTags(MonitoringRequest request) {
if (request.getUserId() == null) { if (request.getUserId() == null) {
return getBadResponse(SignalError.ERROR_002); // + userId return getBadResponse(SignalError.ERROR_002, "UserId");
} }
if (request.getPackageName() == null) { if (request.getPackageName() == null) {
return getBadResponse(SignalError.ERROR_002); // + packageName return getBadResponse(SignalError.ERROR_002, "PackageName");
} }
if (request.getPassword() == null) { if (request.getPassword() == null) {
return getBadResponse(SignalError.ERROR_002); // + password return getBadResponse(SignalError.ERROR_002, "Password");
} }
if (request.getSubjects() == null) { if (request.getSubjects() == null) {
return getBadResponse(SignalError.ERROR_002); // + subjects return getBadResponse(SignalError.ERROR_002, "Subjects");
} }
if (request.getSubjects().getSubject().isEmpty()) { if (request.getSubjects().getSubject().isEmpty()) {
return getBadResponse(SignalError.ERROR_002); // subject return getBadResponse(SignalError.ERROR_002, "Subject");
} }
return null; return null;
@ -181,8 +181,12 @@ public class SignalFacade {
file.getOriginalFilename() != null && file.getOriginalFilename().toLowerCase().endsWith(".zip"); file.getOriginalFilename() != null && file.getOriginalFilename().toLowerCase().endsWith(".zip");
} }
private ResponseEntity<Resource> getBadResponse(SignalError error) { private ResponseEntity<Resource> getBadResponse(SignalError error, String tag) {
String errorPath = failureAnswerGenerator.generateFailureAnswer(error); String errorPath = failureAnswerGenerator.generateFailureAnswer(error, tag);
return ResponseEntity.badRequest().body(new PathResource(errorPath)); 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) { public String generateFailureAnswer(SignalError error) {
return generateFailureAnswer(error, null);
}
public String generateFailureAnswer(SignalError error, String tag) {
try { try {
File tempFolder = new File(ANSWER_PATH); File tempFolder = new File(ANSWER_PATH);
if (!tempFolder.exists()) { if (!tempFolder.exists()) {
@ -33,7 +37,7 @@ public class FailureAnswerGenerator {
String answerPath = ANSWER_PATH + File.separator + UUID.randomUUID() + File.separator + "error_reply.xml"; String answerPath = ANSWER_PATH + File.separator + UUID.randomUUID() + File.separator + "error_reply.xml";
IXmlProcessor xmlProcessor = xmlUtilService.createJaxbProcessor(); 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")); FileUtils.writeStringToFile(new File(answerPath), errorMessage, Charset.forName("windows-1251"));
return answerPath; return answerPath;
@ -43,12 +47,15 @@ public class FailureAnswerGenerator {
return null; return null;
} }
// TODO think about common error class private MonitoringError createErrorMessage(SignalError error, String tag) {
private MonitoringError createErrorMessage(SignalError error) {
MonitoringError errorMessage = new MonitoringError(); MonitoringError errorMessage = new MonitoringError();
errorMessage.setStatus("error"); errorMessage.setStatus("error");
errorMessage.setErrorCode(error.getCode()); errorMessage.setErrorCode(error.getCode());
if (tag != null) {
errorMessage.setErrorText(error.getMessage() + " " + tag);
} else {
errorMessage.setErrorText(error.getMessage()); errorMessage.setErrorText(error.getMessage());
}
return errorMessage; return errorMessage;
} }