View Javadoc
1   package fr.ifremer.dali.ui.swing.content.manage.rule.controlrule;
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.DaliBeanFactory;
27  import fr.ifremer.dali.dto.DaliBeans;
28  import fr.ifremer.dali.dto.ErrorDTO;
29  import fr.ifremer.dali.dto.FunctionDTO;
30  import fr.ifremer.dali.dto.configuration.control.*;
31  import fr.ifremer.dali.dto.enums.ControlElementValues;
32  import fr.ifremer.dali.dto.enums.ControlFeatureSurveyValues;
33  import fr.ifremer.dali.dto.enums.ControlFunctionValues;
34  import fr.ifremer.dali.ui.swing.util.table.AbstractDaliRowUIModel;
35  import fr.ifremer.quadrige3.ui.core.dto.referential.StatusDTO;
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.function.Predicate;
42  
43  /**
44   * <p>ControlRuleRowModel class.</p>
45   *
46   * @author Antoine
47   */
48  public class ControlRuleRowModel extends AbstractDaliRowUIModel<ControlRuleDTO, ControlRuleRowModel> implements ControlRuleDTO {
49  
50      private static final Binder<ControlRuleDTO, ControlRuleRowModel> FROM_BEAN_BINDER =
51              BinderFactory.newBinder(ControlRuleDTO.class, ControlRuleRowModel.class);
52  
53      private static final Binder<ControlRuleRowModel, ControlRuleDTO> TO_BEAN_BINDER =
54              BinderFactory.newBinder(ControlRuleRowModel.class, ControlRuleDTO.class);
55  
56      static final Predicate<ControlRuleRowModel> qualitativeValuePredicate = DaliBeans::isQualitativeControlRule;
57  
58      static final Predicate<ControlRuleRowModel> observersPredicate = rule -> ControlFunctionValues.IS_AMONG.equals(rule.getFunction())
59              && ControlElementValues.SURVEY.equals(rule.getControlElement())
60              && ControlFeatureSurveyValues.OBSERVERS.equals(rule.getControlFeature());
61  
62      static final Predicate<ControlRuleRowModel> preconditionPredicate = rule -> ControlFunctionValues.PRECONDITION.equals(rule.getFunction());
63  
64      public static final String PROPERTY_PMFM_VALID = "pmfmValid";
65      private boolean pmfmValid;
66  
67      /**
68       * <p>Constructor for ControlRuleRowModel.</p>
69       */
70      public ControlRuleRowModel() {
71          super(FROM_BEAN_BINDER, TO_BEAN_BINDER);
72      }
73  
74      public boolean isPmfmValid() {
75          return pmfmValid;
76      }
77  
78      public void setPmfmValid(boolean pmfmValid) {
79          boolean oldValue = isPmfmValid();
80          this.pmfmValid = pmfmValid;
81          firePropertyChange(PROPERTY_PMFM_VALID, oldValue, pmfmValid);
82      }
83  
84      /** {@inheritDoc} */
85      @Override
86      protected ControlRuleDTO newBean() {
87          return DaliBeanFactory.newControlRuleDTO();
88      }
89  
90      /** {@inheritDoc} */
91      @Override
92      public String getCode() {
93          return delegateObject.getCode();
94      }
95  
96      /** {@inheritDoc} */
97      @Override
98      public void setCode(String code) {
99          delegateObject.setCode(code);
100     }
101 
102     /** {@inheritDoc} */
103     @Override
104     public FunctionDTO getFunction() {
105         return delegateObject.getFunction();
106     }
107 
108     /** {@inheritDoc} */
109     @Override
110     public void setFunction(FunctionDTO Function) {
111         delegateObject.setFunction(Function);
112     }
113 
114     /** {@inheritDoc} */
115     @Override
116     public ErrorDTO getErrors(int index) {
117         return delegateObject.getErrors(index);
118     }
119 
120     /** {@inheritDoc} */
121     @Override
122     public boolean isErrorsEmpty() {
123         return delegateObject.isErrorsEmpty();
124     }
125 
126     /** {@inheritDoc} */
127     @Override
128     public int sizeErrors() {
129         return delegateObject.sizeErrors();
130     }
131 
132     /** {@inheritDoc} */
133     @Override
134     public void addErrors(ErrorDTO errors) {
135         delegateObject.addErrors(errors);
136     }
137 
138     /** {@inheritDoc} */
139     @Override
140     public void addAllErrors(Collection<ErrorDTO> errors) {
141         delegateObject.addAllErrors(errors);
142     }
143 
144     /** {@inheritDoc} */
145     @Override
146     public boolean removeErrors(ErrorDTO errors) {
147         return delegateObject.removeErrors(errors);
148     }
149 
150     /** {@inheritDoc} */
151     @Override
152     public boolean removeAllErrors(Collection<ErrorDTO> errors) {
153         return delegateObject.removeAllErrors(errors);
154     }
155 
156     /** {@inheritDoc} */
157     @Override
158     public boolean containsErrors(ErrorDTO errors) {
159         return delegateObject.containsErrors(errors);
160     }
161 
162     /** {@inheritDoc} */
163     @Override
164     public boolean containsAllErrors(Collection<ErrorDTO> errors) {
165         return delegateObject.containsAllErrors(errors);
166     }
167 
168     /** {@inheritDoc} */
169     @Override
170     public Collection<ErrorDTO> getErrors() {
171         return delegateObject.getErrors();
172     }
173 
174     /** {@inheritDoc} */
175     @Override
176     public void setErrors(Collection<ErrorDTO> errors) {
177         delegateObject.setErrors(errors);
178     }
179 
180     @Override
181     public PreconditionRuleDTO getPreconditions(int index) {
182         return delegateObject.getPreconditions(index);
183     }
184 
185     @Override
186     public boolean isPreconditionsEmpty() {
187         return delegateObject.isPreconditionsEmpty();
188     }
189 
190     @Override
191     public int sizePreconditions() {
192         return delegateObject.sizePreconditions();
193     }
194 
195     @Override
196     public void addPreconditions(PreconditionRuleDTO preconditions) {
197         delegateObject.addPreconditions(preconditions);
198     }
199 
200     @Override
201     public void addAllPreconditions(Collection<PreconditionRuleDTO> preconditions) {
202         delegateObject.addAllPreconditions(preconditions);
203     }
204 
205     @Override
206     public boolean removePreconditions(PreconditionRuleDTO preconditions) {
207         return delegateObject.removePreconditions(preconditions);
208     }
209 
210     @Override
211     public boolean removeAllPreconditions(Collection<PreconditionRuleDTO> preconditions) {
212         return delegateObject.removeAllPreconditions(preconditions);
213     }
214 
215     @Override
216     public boolean containsPreconditions(PreconditionRuleDTO preconditions) {
217         return delegateObject.containsPreconditions(preconditions);
218     }
219 
220     @Override
221     public boolean containsAllPreconditions(Collection<PreconditionRuleDTO> preconditions) {
222         return delegateObject.containsAllPreconditions(preconditions);
223     }
224 
225     @Override
226     public Collection<PreconditionRuleDTO> getPreconditions() {
227         return delegateObject.getPreconditions();
228     }
229 
230     @Override
231     public void setPreconditions(Collection<PreconditionRuleDTO> preconditions) {
232         delegateObject.setPreconditions(preconditions);
233     }
234 
235     /** {@inheritDoc} */
236     @Override
237     public ControlElementDTO getControlElement() {
238         return delegateObject.getControlElement();
239     }
240 
241     /** {@inheritDoc} */
242     @Override
243     public void setControlElement(ControlElementDTO controlElement) {
244 
245         // Remove caracteristique controle value if change element controle
246         final ControlElementDTO oldValue = delegateObject.getControlElement();
247         if (oldValue != null && (controlElement == null || !oldValue.getName().equals(controlElement.getName()))) {
248             setControlFeature(null);
249         }
250         delegateObject.setControlElement(controlElement);
251     }
252 
253     /** {@inheritDoc} */
254     @Override
255     public ControlFeatureDTO getControlFeature() {
256         return delegateObject.getControlFeature();
257     }
258 
259     /** {@inheritDoc} */
260     @Override
261     public void setControlFeature(ControlFeatureDTO ControlFeature) {
262         delegateObject.setControlFeature(ControlFeature);
263     }
264 
265     /** {@inheritDoc} */
266     @Override
267     public boolean isActive() {
268         return delegateObject.isActive();
269     }
270 
271     /** {@inheritDoc} */
272     @Override
273     public void setActive(boolean Active) {
274         delegateObject.setActive(Active);
275     }
276 
277     /** {@inheritDoc} */
278     @Override
279     public boolean isBlocking() {
280         return delegateObject.isBlocking();
281     }
282 
283     /** {@inheritDoc} */
284     @Override
285     public void setBlocking(boolean Blocking) {
286         delegateObject.setBlocking(Blocking);
287     }
288 
289     /** {@inheritDoc} */
290     @Override
291     public Object getMin() {
292         return delegateObject.getMin();
293     }
294 
295     /** {@inheritDoc} */
296     @Override
297     public void setMin(Object min) {
298         delegateObject.setMin(min);
299     }
300 
301     /** {@inheritDoc} */
302     @Override
303     public Object getMax() {
304         return delegateObject.getMax();
305     }
306 
307     /** {@inheritDoc} */
308     @Override
309     public void setMax(Object max) {
310         delegateObject.setMax(max);
311     }
312 
313     /** {@inheritDoc} */
314     @Override
315     public String getAllowedValues() {
316         return delegateObject.getAllowedValues();
317     }
318 
319     /** {@inheritDoc} */
320     @Override
321     public void setAllowedValues(String allowedValues) {
322         delegateObject.setAllowedValues(allowedValues);
323     }
324 
325     /** {@inheritDoc} */
326     @Override
327     public RulePmfmDTO getRulePmfms(int index) {
328         return delegateObject.getRulePmfms(index);
329     }
330 
331     /** {@inheritDoc} */
332     @Override
333     public boolean isRulePmfmsEmpty() {
334         return delegateObject.isRulePmfmsEmpty();
335     }
336 
337     /** {@inheritDoc} */
338     @Override
339     public int sizeRulePmfms() {
340         return delegateObject.sizeRulePmfms();
341     }
342 
343     /** {@inheritDoc} */
344     @Override
345     public void addRulePmfms(RulePmfmDTO rulePmfm) {
346         delegateObject.addRulePmfms(rulePmfm);
347     }
348 
349     /** {@inheritDoc} */
350     @Override
351     public void addAllRulePmfms(Collection<RulePmfmDTO> rulePmfm) {
352         delegateObject.addAllRulePmfms(rulePmfm);
353     }
354 
355     /** {@inheritDoc} */
356     @Override
357     public boolean removeRulePmfms(RulePmfmDTO rulePmfm) {
358         return delegateObject.removeRulePmfms(rulePmfm);
359     }
360 
361     /** {@inheritDoc} */
362     @Override
363     public boolean removeAllRulePmfms(Collection<RulePmfmDTO> rulePmfms) {
364         return delegateObject.removeAllRulePmfms(rulePmfms);
365     }
366 
367     /** {@inheritDoc} */
368     @Override
369     public boolean containsRulePmfms(RulePmfmDTO rulePmfm) {
370         return delegateObject.containsRulePmfms(rulePmfm);
371     }
372 
373     /** {@inheritDoc} */
374     @Override
375     public boolean containsAllRulePmfms(Collection<RulePmfmDTO> rulePmfms) {
376         return delegateObject.containsAllRulePmfms(rulePmfms);
377     }
378 
379     /** {@inheritDoc} */
380     @Override
381     public Collection<RulePmfmDTO> getRulePmfms() {
382         return delegateObject.getRulePmfms();
383     }
384 
385     /** {@inheritDoc} */
386     @Override
387     public void setRulePmfms(Collection<RulePmfmDTO> rulePmfms) {
388         delegateObject.setRulePmfms(rulePmfms);
389     }
390 
391     /** {@inheritDoc} */
392     @Override
393     public String getMessage() {
394         return delegateObject.getMessage();
395     }
396 
397     /** {@inheritDoc} */
398     @Override
399     public void setMessage(String Message) {
400         delegateObject.setMessage(Message);
401     }
402 
403     /** {@inheritDoc} */
404     @Override
405     public String getDescription() {
406         return delegateObject.getDescription();
407     }
408 
409     /** {@inheritDoc} */
410     @Override
411     public void setDescription(String description) {
412         delegateObject.setDescription(description);
413     }
414 
415     /** {@inheritDoc} */
416     @Override
417     public boolean isNewCode() {
418         return delegateObject.isNewCode();
419     }
420 
421     /** {@inheritDoc} */
422     @Override
423     public void setNewCode(boolean newCode) {
424         delegateObject.setNewCode(newCode);
425     }
426 
427     @Override
428     public String getName() {
429         return null;
430     }
431 
432     @Override
433     public void setName(String name) {
434 
435     }
436 
437     @Override
438     public boolean isDirty() {
439         return delegateObject.isDirty();
440     }
441 
442     @Override
443     public void setDirty(boolean dirty) {
444         delegateObject.setDirty(dirty);
445     }
446 
447     @Override
448     public boolean isReadOnly() {
449         return delegateObject.isReadOnly();
450     }
451 
452     @Override
453     public void setReadOnly(boolean readOnly) {
454         delegateObject.setReadOnly(readOnly);
455     }
456 
457     @Override
458     public Date getCreationDate() {
459         return null;
460     }
461 
462     @Override
463     public void setCreationDate(Date date) {
464 
465     }
466 
467     @Override
468     public Date getUpdateDate() {
469         return null;
470     }
471 
472     @Override
473     public void setUpdateDate(Date date) {
474 
475     }
476 
477     @Override
478     public StatusDTO getStatus() {
479         return null;
480     }
481 
482     @Override
483     public void setStatus(StatusDTO status) {
484 
485     }
486 }