1 package net.sumaris.core.service.file;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 import net.sumaris.core.vo.file.ValidationErrorVO;
27
28 public class FileValidationException extends Exception {
29
30 private static final long serialVersionUID = 4369710207426419207L;
31
32 protected final ValidationErrorVO[] fileValidationErrors;
33
34 protected final static int MAX_ERRORS_IN_DESCRIPTION = 100;
35
36 public FileValidationException(ValidationErrorVO[] fileValidationErrors) {
37 this.fileValidationErrors = fileValidationErrors;
38 }
39
40 public ValidationErrorVO[] getFileValidationErrors() {
41 return fileValidationErrors;
42 }
43
44 @Override
45 public String getMessage() {
46 String baseMessage = "Error during file validation";
47 if (fileValidationErrors == null) {
48 return baseMessage;
49 }
50
51 StringBuilder sb = new StringBuilder(baseMessage);
52 sb.append(":");
53 int errorCount = 0;
54 for (ValidationErrorVO error : fileValidationErrors) {
55 if (errorCount == MAX_ERRORS_IN_DESCRIPTION) {
56 sb.append("\n\t(...)");
57 break;
58 }
59 errorCount++;
60 sb.append("\n\t");
61 sb.append(error.getErrorType().name());
62 sb.append(" - ");
63 sb.append(error.getDescription());
64 }
65 return sb.toString();
66 }
67 }