View Javadoc
1   package fr.ifremer.dali.ui.swing.content.observation.operation.measurement.ungrouped;
2   
3   /*
4    * #%L
5    * Dali :: UI
6    * $Id:$
7    * $HeadURL:$
8    * %%
9    * Copyright (C) 2014 - 2015 Ifremer
10   * %%
11   * This program is free software: you can redistribute it and/or modify
12   * it under the terms of the GNU Affero General Public License as published by
13   * the Free Software Foundation, either version 3 of the License, or
14   * (at your option) any later version.
15   *
16   * This program is distributed in the hope that it will be useful,
17   * but WITHOUT ANY WARRANTY; without even the implied warranty of
18   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19   * GNU General Public License for more details.
20   *
21   * You should have received a copy of the GNU Affero General Public License
22   * along with this program.  If not, see <http://www.gnu.org/licenses/>.
23   * #L%
24   */
25  
26  import fr.ifremer.dali.dto.CoordinateDTO;
27  import fr.ifremer.dali.dto.DaliBeanFactory;
28  import fr.ifremer.dali.dto.DaliBeans;
29  import fr.ifremer.dali.dto.ErrorDTO;
30  import fr.ifremer.dali.dto.data.measurement.MeasurementDTO;
31  import fr.ifremer.dali.dto.data.sampling.SamplingOperationDTO;
32  import fr.ifremer.dali.dto.enums.ControlElementValues;
33  import fr.ifremer.dali.dto.referential.*;
34  import fr.ifremer.dali.dto.referential.pmfm.PmfmDTO;
35  import fr.ifremer.dali.ui.swing.util.table.AbstractDaliRowUIModel;
36  import org.nuiton.util.beans.Binder;
37  import org.nuiton.util.beans.BinderFactory;
38  
39  import java.util.Collection;
40  import java.util.Date;
41  import java.util.List;
42  
43  /**
44   * Modele des lignes pour le tableau du haut (Psfm) pour l onglet des mesures des prelevements.
45   */
46  public class OperationMeasurementsUngroupedRowModel extends AbstractDaliRowUIModel<SamplingOperationDTO, OperationMeasurementsUngroupedRowModel> implements SamplingOperationDTO {
47  
48      /**
49       * Binder from.
50       */
51      private static final Binder<SamplingOperationDTO, OperationMeasurementsUngroupedRowModel> FROM_BEAN_BINDER =
52              BinderFactory.newBinder(SamplingOperationDTO.class, OperationMeasurementsUngroupedRowModel.class);
53  
54      /**
55       * Binder to.
56       */
57      private static final Binder<OperationMeasurementsUngroupedRowModel, SamplingOperationDTO> TO_BEAN_BINDER =
58              BinderFactory.newBinder(OperationMeasurementsUngroupedRowModel.class, SamplingOperationDTO.class);
59  
60      private final boolean readOnly;
61  
62      private DepartmentDTO analyst;
63      public static final String PROPERTY_ANALYST = "analyst";
64  
65      /**
66       * Constructor.
67       *
68       * @param readOnly a boolean.
69       */
70      public OperationMeasurementsUngroupedRowModel(boolean readOnly) {
71          super(FROM_BEAN_BINDER, TO_BEAN_BINDER);
72          this.readOnly = readOnly;
73      }
74  
75      /**
76       * {@inheritDoc}
77       */
78      @Override
79      public boolean isEditable() {
80          return !readOnly && super.isEditable();
81      }
82  
83      /**
84       * {@inheritDoc}
85       */
86      @Override
87      protected SamplingOperationDTO newBean() {
88          return DaliBeanFactory.newSamplingOperationDTO();
89      }
90  
91      public DepartmentDTO getAnalyst() {
92          return analyst;
93      }
94  
95      public void setAnalyst(DepartmentDTO analyst) {
96          DepartmentDTO oldValue = getAnalyst();
97          this.analyst = analyst;
98          firePropertyChange(PROPERTY_ANALYST, oldValue, analyst);
99      }
100 
101     /**
102      * {@inheritDoc}
103      */
104     @Override
105     public String getName() {
106         return delegateObject.getName();
107     }
108 
109     /**
110      * {@inheritDoc}
111      */
112     @Override
113     public void setName(String name) {
114         delegateObject.setName(name);
115     }
116 
117     /**
118      * {@inheritDoc}
119      */
120     @Override
121     public String getComment() {
122         return delegateObject.getComment();
123     }
124 
125     /**
126      * {@inheritDoc}
127      */
128     @Override
129     public void setComment(String comment) {
130         delegateObject.setComment(comment);
131     }
132 
133     /**
134      * {@inheritDoc}
135      */
136     @Override
137     public Double getSize() {
138         return delegateObject.getSize();
139     }
140 
141     /**
142      * {@inheritDoc}
143      */
144     @Override
145     public void setSize(Double size) {
146         delegateObject.setSize(size);
147     }
148 
149     /**
150      * {@inheritDoc}
151      */
152     @Override
153     public UnitDTO getSizeUnit() {
154         return delegateObject.getSizeUnit();
155     }
156 
157     /**
158      * {@inheritDoc}
159      */
160     @Override
161     public void setSizeUnit(UnitDTO sizeUnit) {
162         delegateObject.setSizeUnit(sizeUnit);
163     }
164 
165     /**
166      * {@inheritDoc}
167      */
168     @Override
169     public Double getDepth() {
170         return delegateObject.getDepth();
171     }
172 
173     /**
174      * {@inheritDoc}
175      */
176     @Override
177     public void setDepth(Double depth) {
178         delegateObject.setDepth(depth);
179     }
180 
181     /**
182      * {@inheritDoc}
183      */
184     @Override
185     public Double getMinDepth() {
186         return delegateObject.getMinDepth();
187     }
188 
189     /**
190      * {@inheritDoc}
191      */
192     @Override
193     public void setMinDepth(Double minDepth) {
194         delegateObject.setMinDepth(minDepth);
195     }
196 
197     /**
198      * {@inheritDoc}
199      */
200     @Override
201     public Double getMaxDepth() {
202         return delegateObject.getMaxDepth();
203     }
204 
205     /**
206      * {@inheritDoc}
207      */
208     @Override
209     public void setMaxDepth(Double maxDepth) {
210         delegateObject.setMaxDepth(maxDepth);
211     }
212 
213     /**
214      * {@inheritDoc}
215      */
216     @Override
217     public Integer getTime() {
218         return delegateObject.getTime();
219     }
220 
221     /**
222      * {@inheritDoc}
223      */
224     @Override
225     public void setTime(Integer time) {
226         delegateObject.setTime(time);
227     }
228 
229     /**
230      * {@inheritDoc}
231      */
232     @Override
233     public Integer getIndividualCount() {
234         return delegateObject.getIndividualCount();
235     }
236 
237     /**
238      * {@inheritDoc}
239      */
240     @Override
241     public void setIndividualCount(Integer individualCount) {
242         delegateObject.setIndividualCount(individualCount);
243     }
244 
245     /**
246      * {@inheritDoc}
247      */
248     @Override
249     public SamplingEquipmentDTO getSamplingEquipment() {
250         return delegateObject.getSamplingEquipment();
251     }
252 
253     /**
254      * {@inheritDoc}
255      */
256     @Override
257     public void setSamplingEquipment(SamplingEquipmentDTO samplingEquipment) {
258         delegateObject.setSamplingEquipment(samplingEquipment);
259     }
260 
261     /**
262      * {@inheritDoc}
263      */
264     @Override
265     public PositioningSystemDTO getPositioning() {
266         return delegateObject.getPositioning();
267     }
268 
269     /**
270      * {@inheritDoc}
271      */
272     @Override
273     public void setPositioning(PositioningSystemDTO positioning) {
274         delegateObject.setPositioning(positioning);
275     }
276 
277     /**
278      * {@inheritDoc}
279      */
280     @Override
281     public CoordinateDTO getCoordinate() {
282         return delegateObject.getCoordinate();
283     }
284 
285     /**
286      * {@inheritDoc}
287      */
288     @Override
289     public void setCoordinate(CoordinateDTO coordinate) {
290         delegateObject.setCoordinate(coordinate);
291     }
292 
293     /**
294      * {@inheritDoc}
295      */
296     @Override
297     public LevelDTO getDepthLevel() {
298         return delegateObject.getDepthLevel();
299     }
300 
301     /**
302      * {@inheritDoc}
303      */
304     @Override
305     public void setDepthLevel(LevelDTO depthLevel) {
306         delegateObject.setDepthLevel(depthLevel);
307     }
308 
309     /**
310      * {@inheritDoc}
311      */
312     @Override
313     public DepartmentDTO getSamplingDepartment() {
314         return delegateObject.getSamplingDepartment();
315     }
316 
317     /**
318      * {@inheritDoc}
319      */
320     @Override
321     public void setSamplingDepartment(DepartmentDTO samplingDepartment) {
322         delegateObject.setSamplingDepartment(samplingDepartment);
323     }
324 
325     /**
326      * {@inheritDoc}
327      */
328     @Override
329     public PmfmDTO getPmfms(int index) {
330         return delegateObject.getPmfms(index);
331     }
332 
333     /**
334      * {@inheritDoc}
335      */
336     @Override
337     public boolean isPmfmsEmpty() {
338         return delegateObject.isPmfmsEmpty();
339     }
340 
341     /**
342      * {@inheritDoc}
343      */
344     @Override
345     public int sizePmfms() {
346         return delegateObject.sizePmfms();
347     }
348 
349     /**
350      * {@inheritDoc}
351      */
352     @Override
353     public void addPmfms(PmfmDTO pmfms) {
354         delegateObject.addPmfms(pmfms);
355     }
356 
357     /**
358      * {@inheritDoc}
359      */
360     @Override
361     public void addAllPmfms(Collection<PmfmDTO> pmfms) {
362         delegateObject.addAllPmfms(pmfms);
363     }
364 
365     /**
366      * {@inheritDoc}
367      */
368     @Override
369     public boolean removePmfms(PmfmDTO pmfms) {
370         return delegateObject.removePmfms(pmfms);
371     }
372 
373     /**
374      * {@inheritDoc}
375      */
376     @Override
377     public boolean removeAllPmfms(Collection<PmfmDTO> pmfms) {
378         return delegateObject.removeAllPmfms(pmfms);
379     }
380 
381     /**
382      * {@inheritDoc}
383      */
384     @Override
385     public boolean containsPmfms(PmfmDTO pmfms) {
386         return delegateObject.containsPmfms(pmfms);
387     }
388 
389     /**
390      * {@inheritDoc}
391      */
392     @Override
393     public boolean containsAllPmfms(Collection<PmfmDTO> pmfms) {
394         return delegateObject.containsAllPmfms(pmfms);
395     }
396 
397     /**
398      * {@inheritDoc}
399      */
400     @Override
401     public List<PmfmDTO> getPmfms() {
402         return delegateObject.getPmfms();
403     }
404 
405     /**
406      * {@inheritDoc}
407      */
408     @Override
409     public void setPmfms(List<PmfmDTO> pmfms) {
410         delegateObject.setPmfms(pmfms);
411     }
412 
413     /**
414      * {@inheritDoc}
415      */
416     @Override
417     public PmfmDTO getIndividualPmfms(int index) {
418         return delegateObject.getIndividualPmfms(index);
419     }
420 
421     /**
422      * {@inheritDoc}
423      */
424     @Override
425     public boolean isIndividualPmfmsEmpty() {
426         return delegateObject.isIndividualPmfmsEmpty();
427     }
428 
429     /**
430      * {@inheritDoc}
431      */
432     @Override
433     public int sizeIndividualPmfms() {
434         return delegateObject.sizeIndividualPmfms();
435     }
436 
437     /**
438      * {@inheritDoc}
439      */
440     @Override
441     public void addIndividualPmfms(PmfmDTO individualPmfms) {
442         delegateObject.addIndividualPmfms(individualPmfms);
443     }
444 
445     /**
446      * {@inheritDoc}
447      */
448     @Override
449     public void addAllIndividualPmfms(Collection<PmfmDTO> individualPmfms) {
450         delegateObject.addAllIndividualPmfms(individualPmfms);
451     }
452 
453     /**
454      * {@inheritDoc}
455      */
456     @Override
457     public boolean removeIndividualPmfms(PmfmDTO individualPmfms) {
458         return delegateObject.removeIndividualPmfms(individualPmfms);
459     }
460 
461     /**
462      * {@inheritDoc}
463      */
464     @Override
465     public boolean removeAllIndividualPmfms(Collection<PmfmDTO> individualPmfms) {
466         return delegateObject.removeAllIndividualPmfms(individualPmfms);
467     }
468 
469     /**
470      * {@inheritDoc}
471      */
472     @Override
473     public boolean containsIndividualPmfms(PmfmDTO individualPmfms) {
474         return delegateObject.containsIndividualPmfms(individualPmfms);
475     }
476 
477     /**
478      * {@inheritDoc}
479      */
480     @Override
481     public boolean containsAllIndividualPmfms(Collection<PmfmDTO> individualPmfms) {
482         return delegateObject.containsAllIndividualPmfms(individualPmfms);
483     }
484 
485     /**
486      * {@inheritDoc}
487      */
488     @Override
489     public List<PmfmDTO> getIndividualPmfms() {
490         return delegateObject.getIndividualPmfms();
491     }
492 
493     /**
494      * {@inheritDoc}
495      */
496     @Override
497     public void setIndividualPmfms(List<PmfmDTO> individualPmfms) {
498         delegateObject.setIndividualPmfms(individualPmfms);
499     }
500 
501     /**
502      * {@inheritDoc}
503      */
504     @Override
505     public MeasurementDTO getMeasurements(int index) {
506         return delegateObject.getMeasurements(index);
507     }
508 
509     /**
510      * {@inheritDoc}
511      */
512     @Override
513     public boolean isMeasurementsEmpty() {
514         return delegateObject.isMeasurementsEmpty();
515     }
516 
517     /**
518      * {@inheritDoc}
519      */
520     @Override
521     public int sizeMeasurements() {
522         return delegateObject.sizeMeasurements();
523     }
524 
525     /**
526      * {@inheritDoc}
527      */
528     @Override
529     public void addMeasurements(MeasurementDTO measurements) {
530         delegateObject.addMeasurements(measurements);
531     }
532 
533     /**
534      * {@inheritDoc}
535      */
536     @Override
537     public void addAllMeasurements(Collection<MeasurementDTO> measurements) {
538         delegateObject.addAllMeasurements(measurements);
539     }
540 
541     /**
542      * {@inheritDoc}
543      */
544     @Override
545     public boolean removeMeasurements(MeasurementDTO measurements) {
546         return delegateObject.removeMeasurements(measurements);
547     }
548 
549     /**
550      * {@inheritDoc}
551      */
552     @Override
553     public boolean removeAllMeasurements(Collection<MeasurementDTO> measurements) {
554         return delegateObject.removeAllMeasurements(measurements);
555     }
556 
557     /**
558      * {@inheritDoc}
559      */
560     @Override
561     public boolean containsMeasurements(MeasurementDTO measurements) {
562         return delegateObject.containsMeasurements(measurements);
563     }
564 
565     /**
566      * {@inheritDoc}
567      */
568     @Override
569     public boolean containsAllMeasurements(Collection<MeasurementDTO> measurements) {
570         return delegateObject.containsAllMeasurements(measurements);
571     }
572 
573     /**
574      * {@inheritDoc}
575      */
576     @Override
577     public List<MeasurementDTO> getMeasurements() {
578         return delegateObject.getMeasurements();
579     }
580 
581     /**
582      * {@inheritDoc}
583      */
584     @Override
585     public void setMeasurements(List<MeasurementDTO> measurements) {
586         delegateObject.setMeasurements(measurements);
587     }
588 
589     /**
590      * {@inheritDoc}
591      */
592     @Override
593     public MeasurementDTO getIndividualMeasurements(int index) {
594         return delegateObject.getIndividualMeasurements(index);
595     }
596 
597     /**
598      * {@inheritDoc}
599      */
600     @Override
601     public boolean isIndividualMeasurementsEmpty() {
602         return delegateObject.isIndividualMeasurementsEmpty();
603     }
604 
605     /**
606      * {@inheritDoc}
607      */
608     @Override
609     public int sizeIndividualMeasurements() {
610         return delegateObject.sizeIndividualMeasurements();
611     }
612 
613     /**
614      * {@inheritDoc}
615      */
616     @Override
617     public void addIndividualMeasurements(MeasurementDTO individualMeasurements) {
618         delegateObject.addIndividualMeasurements(individualMeasurements);
619     }
620 
621     /**
622      * {@inheritDoc}
623      */
624     @Override
625     public void addAllIndividualMeasurements(Collection<MeasurementDTO> individualMeasurements) {
626         delegateObject.addAllIndividualMeasurements(individualMeasurements);
627     }
628 
629     /**
630      * {@inheritDoc}
631      */
632     @Override
633     public boolean removeIndividualMeasurements(MeasurementDTO individualMeasurements) {
634         return delegateObject.removeIndividualMeasurements(individualMeasurements);
635     }
636 
637     /**
638      * {@inheritDoc}
639      */
640     @Override
641     public boolean removeAllIndividualMeasurements(Collection<MeasurementDTO> individualMeasurements) {
642         return delegateObject.removeAllIndividualMeasurements(individualMeasurements);
643     }
644 
645     /**
646      * {@inheritDoc}
647      */
648     @Override
649     public boolean containsIndividualMeasurements(MeasurementDTO individualMeasurements) {
650         return delegateObject.containsIndividualMeasurements(individualMeasurements);
651     }
652 
653     /**
654      * {@inheritDoc}
655      */
656     @Override
657     public boolean containsAllIndividualMeasurements(Collection<MeasurementDTO> individualMeasurements) {
658         return delegateObject.containsAllIndividualMeasurements(individualMeasurements);
659     }
660 
661     /**
662      * {@inheritDoc}
663      */
664     @Override
665     public List<MeasurementDTO> getIndividualMeasurements() {
666         return delegateObject.getIndividualMeasurements();
667     }
668 
669     /**
670      * {@inheritDoc}
671      */
672     @Override
673     public void setIndividualMeasurements(List<MeasurementDTO> individualMeasurements) {
674         delegateObject.setIndividualMeasurements(individualMeasurements);
675     }
676 
677     /**
678      * {@inheritDoc}
679      */
680     @Override
681     public ErrorDTO getErrors(int index) {
682         return delegateObject.getErrors(index);
683     }
684 
685     /**
686      * {@inheritDoc}
687      */
688     @Override
689     public boolean isErrorsEmpty() {
690         return delegateObject.isErrorsEmpty();
691     }
692 
693     /**
694      * {@inheritDoc}
695      */
696     @Override
697     public int sizeErrors() {
698         return delegateObject.sizeErrors();
699     }
700 
701     /**
702      * {@inheritDoc}
703      */
704     @Override
705     public void addErrors(ErrorDTO errors) {
706         delegateObject.addErrors(errors);
707     }
708 
709     /**
710      * {@inheritDoc}
711      */
712     @Override
713     public void addAllErrors(Collection<ErrorDTO> errors) {
714         delegateObject.addAllErrors(errors);
715     }
716 
717     /**
718      * {@inheritDoc}
719      */
720     @Override
721     public boolean removeErrors(ErrorDTO errors) {
722         return delegateObject.removeErrors(errors);
723     }
724 
725     /**
726      * {@inheritDoc}
727      */
728     @Override
729     public boolean removeAllErrors(Collection<ErrorDTO> errors) {
730         return delegateObject.removeAllErrors(errors);
731     }
732 
733     /**
734      * {@inheritDoc}
735      */
736     @Override
737     public boolean containsErrors(ErrorDTO errors) {
738         return delegateObject.containsErrors(errors);
739     }
740 
741     /**
742      * {@inheritDoc}
743      */
744     @Override
745     public boolean containsAllErrors(Collection<ErrorDTO> errors) {
746         return delegateObject.containsAllErrors(errors);
747     }
748 
749     /**
750      * {@inheritDoc}
751      * <p>
752      * Return non individuals measurements errors only
753      */
754     @Override
755     public Collection<ErrorDTO> getErrors() {
756         List<ErrorDTO> newErrors = DaliBeans.filterCollection(delegateObject.getErrors(),
757                 input -> ((ControlElementValues.MEASUREMENT.getCode().equals(input.getControlElementCode())
758                         || ControlElementValues.TAXON_MEASUREMENT.getCode().equals(input.getControlElementCode()))
759                         && input.getIndividualId() == null)
760                         || input.getPropertyName().contains(PROPERTY_ANALYST));
761         delegateObject.setErrors(newErrors);
762         return newErrors;
763     }
764 
765     /**
766      * {@inheritDoc}
767      */
768     @Override
769     public void setErrors(Collection<ErrorDTO> errors) {
770         delegateObject.setErrors(errors);
771     }
772 
773     /**
774      * {@inheritDoc}
775      */
776     @Override
777     public Date getControlDate() {
778         return delegateObject.getControlDate();
779     }
780 
781     /**
782      * {@inheritDoc}
783      */
784     @Override
785     public void setControlDate(Date controlDate) {
786         delegateObject.setControlDate(controlDate);
787     }
788 
789     /**
790      * {@inheritDoc}
791      */
792     @Override
793     public boolean isDirty() {
794         return delegateObject.isDirty();
795     }
796 
797     /**
798      * {@inheritDoc}
799      */
800     @Override
801     public void setDirty(boolean dirty) {
802         delegateObject.setDirty(dirty);
803     }
804 
805     /**
806      * {@inheritDoc}
807      */
808     @Override
809     public boolean isMeasurementsLoaded() {
810         return delegateObject.isMeasurementsLoaded();
811     }
812 
813     /**
814      * {@inheritDoc}
815      */
816     @Override
817     public void setMeasurementsLoaded(boolean measurementsLoaded) {
818         delegateObject.setMeasurementsLoaded(measurementsLoaded);
819     }
820 
821     /**
822      * {@inheritDoc}
823      */
824     @Override
825     public boolean isIndividualMeasurementsLoaded() {
826         return delegateObject.isIndividualMeasurementsLoaded();
827     }
828 
829     /**
830      * {@inheritDoc}
831      */
832     @Override
833     public void setIndividualMeasurementsLoaded(boolean individualMeasurementsLoaded) {
834         delegateObject.setIndividualMeasurementsLoaded(individualMeasurementsLoaded);
835     }
836 
837 }