1 package fr.ifremer.tutti.ui.swing.content.operation.catches.accidental;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import com.google.common.collect.Lists;
26 import fr.ifremer.adagio.core.dao.referential.ObjectTypeCode;
27 import fr.ifremer.tutti.persistence.entities.CaracteristicMap;
28 import fr.ifremer.tutti.persistence.entities.data.AccidentalBatch;
29 import fr.ifremer.tutti.persistence.entities.data.AccidentalBatchs;
30 import fr.ifremer.tutti.persistence.entities.data.Attachment;
31 import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
32 import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
33 import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
34 import fr.ifremer.tutti.persistence.entities.referential.Species;
35 import fr.ifremer.tutti.type.WeightUnit;
36 import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
37 import fr.ifremer.tutti.ui.swing.util.attachment.AttachmentModelAware;
38 import fr.ifremer.tutti.ui.swing.util.caracteristics.CaracteristicMapColumnRowModel;
39 import org.nuiton.util.beans.Binder;
40 import org.nuiton.util.beans.BinderFactory;
41
42 import java.util.Collection;
43 import java.util.List;
44
45
46
47
48
49
50
51 public class AccidentalBatchRowModel extends AbstractTuttiBeanUIModel<AccidentalBatch, AccidentalBatchRowModel>
52 implements AttachmentModelAware, AccidentalBatch, CaracteristicMapColumnRowModel {
53
54 private static final long serialVersionUID = 1L;
55
56
57
58
59
60
61 protected final AccidentalBatch editObject =
62 AccidentalBatchs.newAccidentalBatch();
63
64
65
66
67
68
69 protected final List<Attachment> attachment = Lists.newArrayList();
70
71
72
73
74
75
76 protected final WeightUnit weightUnit;
77
78 protected static final Binder<AccidentalBatch, AccidentalBatchRowModel> fromBeanBinder =
79 BinderFactory.newBinder(AccidentalBatch.class,
80 AccidentalBatchRowModel.class);
81
82 protected static final Binder<AccidentalBatchRowModel, AccidentalBatch> toBeanBinder =
83 BinderFactory.newBinder(AccidentalBatchRowModel.class,
84 AccidentalBatch.class);
85
86 public AccidentalBatchRowModel(WeightUnit weightUnit) {
87 super(fromBeanBinder, toBeanBinder);
88 this.weightUnit = weightUnit;
89 }
90
91 public AccidentalBatchRowModel(WeightUnit weightUnit,
92 AccidentalBatch entity) {
93 this(weightUnit);
94 fromEntity(entity);
95 }
96
97
98
99
100
101 @Override
102 protected AccidentalBatch newEntity() {
103 return AccidentalBatchs.newAccidentalBatch();
104 }
105
106 @Override
107 public void fromEntity(AccidentalBatch entity) {
108 super.fromEntity(entity);
109
110
111 setWeight(weightUnit.fromEntity(getWeight()));
112 }
113
114 @Override
115 public AccidentalBatch toEntity() {
116 AccidentalBatch result = super.toEntity();
117
118
119 result.setWeight(weightUnit.toEntity(getWeight()));
120 return result;
121 }
122
123
124
125
126
127 @Override
128 public FishingOperation getFishingOperation() {
129 return editObject.getFishingOperation();
130 }
131
132 @Override
133 public void setFishingOperation(FishingOperation fishingOperation) {
134 editObject.setFishingOperation(fishingOperation);
135 }
136
137 @Override
138 public Float getWeight() {
139 return editObject.getWeight();
140 }
141
142 @Override
143 public void setWeight(Float weight) {
144 Object oldValue = getWeight();
145 editObject.setWeight(weight);
146 firePropertyChange(PROPERTY_WEIGHT, oldValue, weight);
147 }
148
149 @Override
150 public Species getSpecies() {
151 return editObject.getSpecies();
152 }
153
154 @Override
155 public void setSpecies(Species species) {
156 Object oldValue = getSpecies();
157 editObject.setSpecies(species);
158 firePropertyChange(PROPERTY_SPECIES, oldValue, species);
159 }
160
161 @Override
162 public Float getSize() {
163 return editObject.getSize();
164 }
165
166 @Override
167 public void setSize(Float size) {
168 Object oldValue = getSize();
169 editObject.setSize(size);
170 firePropertyChange(PROPERTY_SIZE, oldValue, size);
171 }
172
173 @Override
174 public Caracteristic getLengthStepCaracteristic() {
175 return editObject.getLengthStepCaracteristic();
176 }
177
178 @Override
179 public void setLengthStepCaracteristic(Caracteristic lengthStepCaracteristic) {
180 Object oldValue = getLengthStepCaracteristic();
181 editObject.setLengthStepCaracteristic(lengthStepCaracteristic);
182 firePropertyChange(PROPERTY_LENGTH_STEP_CARACTERISTIC, oldValue, lengthStepCaracteristic);
183 }
184
185 @Override
186 public CaracteristicQualitativeValue getGender() {
187 return editObject.getGender();
188 }
189
190 @Override
191 public void setGender(CaracteristicQualitativeValue gender) {
192 Object oldValue = getLengthStepCaracteristic();
193 editObject.setGender(gender);
194 firePropertyChange(PROPERTY_GENDER, oldValue, gender);
195 }
196
197 @Override
198 public CaracteristicQualitativeValue getDeadOrAlive() {
199 return editObject.getDeadOrAlive();
200 }
201
202 @Override
203 public void setDeadOrAlive(CaracteristicQualitativeValue deadOrAlive) {
204 Object oldValue = getLengthStepCaracteristic();
205 editObject.setDeadOrAlive(deadOrAlive);
206 firePropertyChange(PROPERTY_DEAD_OR_ALIVE, oldValue, deadOrAlive);
207 }
208
209 @Override
210 public CaracteristicMap getCaracteristics() {
211 return editObject.getCaracteristics();
212 }
213
214 @Override
215 public void setCaracteristics(CaracteristicMap caracteristics) {
216 Object oldValue = getCaracteristics();
217 editObject.setCaracteristics(caracteristics);
218 firePropertyChange(PROPERTY_CARACTERISTICS, oldValue, caracteristics);
219 }
220
221 @Override
222 public String getComment() {
223 return editObject.getComment();
224 }
225
226 @Override
227 public void setComment(String comment) {
228 Object oldValue = getComment();
229 editObject.setComment(comment);
230 firePropertyChange(PROPERTY_COMMENT, oldValue, comment);
231 }
232
233 @Override
234 public void setRankOrder(Integer rankOrder) {
235 editObject.setRankOrder(rankOrder);
236 }
237
238 @Override
239 public Integer getRankOrder() {
240 return editObject.getRankOrder();
241 }
242
243 @Override
244 public String getSynchronizationStatus() {
245 return editObject.getSynchronizationStatus();
246 }
247
248 @Override
249 public void setSynchronizationStatus(String synchronizationStatus) {
250 String oldValue = getSynchronizationStatus();
251 editObject.setSynchronizationStatus(synchronizationStatus);
252 firePropertyChange(PROPERTY_SYNCHRONIZATION_STATUS, oldValue, synchronizationStatus);
253 }
254
255
256
257
258
259 @Override
260 public ObjectTypeCode getObjectType() {
261 return ObjectTypeCode.SAMPLE;
262 }
263
264 @Override
265 public Integer getObjectId() {
266 return getIdAsInt();
267 }
268
269 @Override
270 public List<Attachment> getAttachment() {
271 return attachment;
272 }
273
274 @Override
275 public void addAllAttachment(Collection<Attachment> attachments) {
276 this.attachment.addAll(attachments);
277 firePropertyChange(PROPERTY_ATTACHMENT, null, getAttachment());
278 }
279
280 @Override
281 public void addAttachment(Attachment attachment) {
282 this.attachment.add(attachment);
283 firePropertyChange(PROPERTY_ATTACHMENT, null, getAttachment());
284 }
285
286 @Override
287 public void removeAllAttachment(Collection<Attachment> attachments) {
288 this.attachment.removeAll(attachments);
289 firePropertyChange(PROPERTY_ATTACHMENT, null, getAttachment());
290 }
291
292 @Override
293 public void removeAttachment(Attachment attachment) {
294 this.attachment.remove(attachment);
295 firePropertyChange(PROPERTY_ATTACHMENT, null, getAttachment());
296 }
297 }