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 com.google.common.collect.ImmutableSet;
28 import fr.ifremer.tutti.persistence.entities.data.Program;
29 import fr.ifremer.tutti.persistence.entities.data.SampleCategoryModel;
30 import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol;
31 import fr.ifremer.tutti.persistence.entities.referential.Gear;
32 import fr.ifremer.tutti.persistence.entities.referential.Person;
33 import fr.ifremer.tutti.persistence.entities.referential.Species;
34 import fr.ifremer.tutti.persistence.entities.referential.Vessel;
35 import fr.ifremer.tutti.persistence.model.ProgramDataModel;
36
37 import java.io.File;
38 import java.io.Serializable;
39 import java.util.Collections;
40 import java.util.Date;
41 import java.util.Set;
42
43
44
45
46
47
48
49 public abstract class GenericFormatResultSupport implements Serializable {
50
51 private static final long serialVersionUID = 1L;
52
53 private final boolean valid;
54
55 private GenericFormatImportRequest importRequest;
56
57 private final Set<String> archiveLayoutErrors;
58
59 private final TuttiProtocol protocol;
60
61 private final GenericFormatCsvFileResult sampleCategoryFileResult;
62
63 private final GenericFormatReferentialImportResult<Gear, Integer> referentialTemporaryGearFileResult;
64
65 private final GenericFormatReferentialImportResult<Person, Integer> referentialTemporaryPersonFileResult;
66
67 private final GenericFormatReferentialImportResult<Species, Integer> referentialTemporarySpeciesFileResult;
68
69 private final GenericFormatReferentialImportResult<Vessel, String> referentialTemporaryVesselFileResult;
70
71 private final GenericFormatFileResult protocolFileResult;
72
73 private final GenericFormatCsvFileResult surveyFileResult;
74
75 private final GenericFormatCsvFileResult gearCaracteristicFileResult;
76
77 private final GenericFormatCsvFileResult operationFileResult;
78
79 private final GenericFormatCsvFileResult parameterFileResult;
80
81 private final GenericFormatCsvFileResult catchFileResult;
82
83 private final GenericFormatCsvFileResult marineLitterFileResult;
84
85 private final GenericFormatCsvFileResult individualObservationFileResult;
86
87 private final GenericFormatCsvFileResult accidentalCatchFileResult;
88
89 private final GenericFormatCsvFileResult attachmentsFileResult;
90
91 private String protocolOriginalName;
92
93 private ProgramDataModel dataModel;
94
95 protected GenericFormatResultSupport(GenericFormatContextSupport importContext) {
96
97 this.importRequest = importContext.getImportRequest();
98 this.protocol = importContext.getImportedProtocol();
99 this.sampleCategoryFileResult = importContext.getSampleCategoryFileResult();
100 this.referentialTemporaryGearFileResult = importContext.getReferentialTemporaryGearFileResult();
101 this.referentialTemporaryPersonFileResult = importContext.getReferentialTemporaryPersonFileResult();
102 this.referentialTemporarySpeciesFileResult = importContext.getReferentialTemporarySpeciesFileResult();
103 this.referentialTemporaryVesselFileResult = importContext.getReferentialTemporaryVesselFileResult();
104 this.protocolFileResult = importContext.getProtocolFileResult();
105 this.surveyFileResult = importContext.getSurveyFileResult();
106 this.gearCaracteristicFileResult = importContext.getGearCaracteristicFileResult();
107 this.operationFileResult = importContext.getOperationFileResult();
108 this.parameterFileResult = importContext.getParameterFileResult();
109 this.catchFileResult = importContext.getCatchFileResult();
110 this.marineLitterFileResult = importContext.getMarineLitterFileResult();
111 this.individualObservationFileResult = importContext.getIndividualObservationFileResult();
112 this.accidentalCatchFileResult = importContext.getAccidentalCatchFileResult();
113 this.attachmentsFileResult = importContext.getAttachmentFileResult();
114 this.protocolOriginalName = importContext.getProtocolOriginalName();
115 Set<String> archiveLayoutErrors1;
116 if (importContext.isArchiveLayoutValid()) {
117 archiveLayoutErrors1 = Collections.emptySet();
118 } else {
119 archiveLayoutErrors1 = importContext.getArchiveLayoutErrors();
120 }
121 this.archiveLayoutErrors = ImmutableSet.copyOf(archiveLayoutErrors1);
122 this.valid = computeValid();
123 }
124
125 private boolean computeValid() {
126
127 return isArchiveLayoutValid()
128 && sampleCategoryFileResult.isValid()
129 && referentialTemporaryGearFileResult.isValid()
130 && referentialTemporaryPersonFileResult.isValid()
131 && referentialTemporarySpeciesFileResult.isValid()
132 && referentialTemporaryVesselFileResult.isValid()
133 && protocolFileResult.isValid()
134 && surveyFileResult.isValid()
135 && gearCaracteristicFileResult.isValid()
136 && operationFileResult.isValid()
137 && parameterFileResult.isValid()
138 && catchFileResult.isValid()
139 && marineLitterFileResult.isValid()
140 && accidentalCatchFileResult.isValid()
141 && individualObservationFileResult.isValid()
142 && attachmentsFileResult.isValid();
143
144 }
145
146 public boolean isArchiveLayoutValid() {
147 return archiveLayoutErrors.isEmpty();
148 }
149
150 public Set<String> getArchiveLayoutErrors() {
151 return archiveLayoutErrors;
152 }
153
154 public TuttiProtocol getProtocol() {
155 return protocol;
156 }
157
158 public GenericFormatCsvFileResult getSampleCategoryFileResult() {
159 return sampleCategoryFileResult;
160 }
161
162 public SampleCategoryModel getSampleCategoryModel() {
163 return importRequest.getSampleCategoryModel();
164 }
165
166 public GenericFormatReferentialImportResult<Gear, Integer> getReferentialTemporaryGearFileResult() {
167 return referentialTemporaryGearFileResult;
168 }
169
170 public GenericFormatReferentialImportResult<Person, Integer> getReferentialTemporaryPersonFileResult() {
171 return referentialTemporaryPersonFileResult;
172 }
173
174 public GenericFormatReferentialImportResult<Species, Integer> getReferentialTemporarySpeciesFileResult() {
175 return referentialTemporarySpeciesFileResult;
176 }
177
178 public GenericFormatReferentialImportResult<Vessel, String> getReferentialTemporaryVesselFileResult() {
179 return referentialTemporaryVesselFileResult;
180 }
181
182 public GenericFormatFileResult getProtocolFileResult() {
183 return protocolFileResult;
184 }
185
186 public GenericFormatCsvFileResult getSurveyFileResult() {
187 return surveyFileResult;
188 }
189
190 public GenericFormatCsvFileResult getGearCaracteristicFileResult() {
191 return gearCaracteristicFileResult;
192 }
193
194 public GenericFormatCsvFileResult getOperationFileResult() {
195 return operationFileResult;
196 }
197
198 public GenericFormatCsvFileResult getParameterFileResult() {
199 return parameterFileResult;
200 }
201
202 public GenericFormatCsvFileResult getCatchFileResult() {
203 return catchFileResult;
204 }
205
206 public GenericFormatCsvFileResult getMarineLitterFileResult() {
207 return marineLitterFileResult;
208 }
209
210 public GenericFormatCsvFileResult getIndividualObservationFileResult() {
211 return individualObservationFileResult;
212 }
213
214 public GenericFormatCsvFileResult getAccidentalCatchFileResult() {
215 return accidentalCatchFileResult;
216 }
217
218 public GenericFormatCsvFileResult getAttachmentsFileResult() {
219 return attachmentsFileResult;
220 }
221
222 public File getReportFile() {
223 return importRequest.getReportFile();
224 }
225
226 public GenericFormatImportConfiguration getImportConfiguration() {
227 return importRequest.getImportConfiguration();
228 }
229
230 public Program getProgram() {
231 return importRequest.getProgram();
232 }
233
234 public Date getStartingDate() {
235 return importRequest.getStartingDate();
236 }
237
238 public boolean isCleanWeights() {
239 return importRequest.isCleanWeights();
240 }
241
242 public boolean isCheckWeights() {
243 return importRequest.isCheckWeights();
244 }
245
246 public GenericFormatArchive getArchive() {
247 return importRequest.getArchive();
248 }
249
250 public boolean isValid() {
251 return valid;
252 }
253
254 public String getProtocolOriginalName() {
255 return protocolOriginalName;
256 }
257
258 public void setProtocolOriginalName(String protocolOriginalName) {
259 this.protocolOriginalName = protocolOriginalName;
260 }
261
262 public ProgramDataModel getDataModel() {
263 return dataModel;
264 }
265
266 public void setDataModel(ProgramDataModel dataModel) {
267 this.dataModel = dataModel;
268 }
269
270 }