1 package fr.ifremer.dali.ui.swing.content.extraction.filters;
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 com.google.common.collect.Lists;
27 import fr.ifremer.dali.dto.ErrorAware;
28 import fr.ifremer.dali.dto.ErrorDTO;
29 import fr.ifremer.quadrige3.ui.core.dto.QuadrigeBean;
30 import fr.ifremer.dali.dto.configuration.filter.FilterDTO;
31 import fr.ifremer.dali.dto.system.extraction.ExtractionDTO;
32 import fr.ifremer.dali.dto.system.extraction.FilterTypeDTO;
33 import fr.ifremer.dali.ui.swing.util.table.AbstractDaliRowUIModel;
34 import org.apache.commons.collections4.CollectionUtils;
35
36 import java.util.Collection;
37 import java.util.List;
38
39
40
41
42 public class ExtractionFiltersRowModel extends AbstractDaliRowUIModel<QuadrigeBean, ExtractionFiltersRowModel> implements ErrorAware {
43
44 private FilterTypeDTO filterType;
45
46 public static final String PROPERTY_FILTER_TYPE = "filterType";
47
48 private FilterDTO filter;
49
50 public static final String PROPERTY_FILTER = "filter";
51
52 private final List<ErrorDTO> errors;
53
54
55
56
57 public ExtractionFiltersRowModel() {
58 super(null, null);
59 errors = Lists.newArrayList();
60 }
61
62
63 @Override
64 protected ExtractionDTO newBean() {
65 return null;
66 }
67
68
69
70
71
72
73 public Integer getFilterTypeId() {
74 return filterType == null ? null : filterType.getId();
75 }
76
77
78
79
80
81
82 public FilterTypeDTO getFilterType() {
83 return filterType;
84 }
85
86
87
88
89
90
91 public void setFilterType(FilterTypeDTO filterType) {
92 this.filterType = filterType;
93 }
94
95
96
97
98
99
100 public FilterDTO getFilter() {
101 return filter;
102 }
103
104
105
106
107
108
109 public void setFilter(FilterDTO filter) {
110 this.filter = filter;
111 }
112
113
114 @Override
115 public Collection<ErrorDTO> getErrors() {
116 return errors;
117 }
118
119
120
121
122
123
124 public boolean isFilterEmpty() {
125 return getFilter() == null || CollectionUtils.isEmpty(getFilter().getElements());
126 }
127
128
129
130
131
132
133 public List<? extends QuadrigeBean> getFilteredElements() {
134 return isFilterEmpty() ? null : getFilter().getElements();
135 }
136 }