1 package fr.ifremer.tutti.service.genericformat;
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
27 import java.io.Serializable;
28 import java.util.LinkedHashMap;
29 import java.util.LinkedHashSet;
30 import java.util.Map;
31 import java.util.Set;
32
33
34
35
36
37
38
39 public class GenericFormatFileResult implements Serializable {
40
41 private static final long serialVersionUID = 1L;
42
43 private final String filename;
44
45 private final boolean mandatory;
46
47 private final boolean found;
48
49 private final Map<Long, Set<String>> errors;
50
51 private boolean imported;
52
53 private boolean skipped;
54
55 public GenericFormatFileResult(String filename, boolean mandatory, boolean found) {
56 this.filename = filename;
57 this.mandatory = mandatory;
58 this.found = found;
59 this.errors = new LinkedHashMap<>();
60 }
61
62 public String getFilename() {
63 return filename;
64 }
65
66 public Set<Map.Entry<Long, Set<String>>> getErrorsEntries() {
67 return errors.entrySet();
68 }
69
70 public boolean isValid() {
71 boolean result;
72
73 if (!found) {
74
75
76 result = !mandatory;
77
78 } else {
79
80
81 result = isSkipped() || (isImported() && errors.isEmpty());
82
83 }
84
85 return result;
86 }
87
88 public void addGlobalError(String error) {
89
90 Set<String> globalErrors = errors.get(0l);
91 if (globalErrors==null) {
92 globalErrors = new LinkedHashSet<>();
93 errors.put(0l, globalErrors);
94 }
95 globalErrors.add(error);
96 }
97
98 public boolean isImported() {
99 return imported;
100 }
101
102 public void setImported(boolean imported) {
103 this.imported = imported;
104 }
105
106 public boolean isSkipped() {
107 return skipped;
108 }
109
110 public void setSkipped(boolean skipped) {
111 this.skipped = skipped;
112 }
113
114 public boolean isFound() {
115 return found;
116 }
117
118 public boolean isMandatory() {
119 return mandatory;
120 }
121
122 protected Map<Long, Set<String>> getErrors() {
123 return errors;
124 }
125 }