1 package fr.ifremer.tutti.ui.swing.content.operation.catches.marinelitter.create;
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 com.google.common.collect.Multimap;
27 import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
28 import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
29 import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI;
30 import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIHandler;
31 import fr.ifremer.tutti.ui.swing.content.operation.catches.marinelitter.MarineLitterBatchUIModel;
32 import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler;
33 import jaxx.runtime.validator.swing.SwingValidator;
34 import org.apache.commons.logging.Log;
35 import org.apache.commons.logging.LogFactory;
36
37 import javax.swing.JComponent;
38
39
40
41
42
43 public class CreateMarineLitterBatchUIHandler extends AbstractTuttiUIHandler<CreateMarineLitterBatchUIModel, CreateMarineLitterBatchUI> {
44
45
46 private static final Log log = LogFactory.getLog(CreateMarineLitterBatchUIHandler.class);
47
48
49
50
51
52 @Override
53 public void beforeInit(CreateMarineLitterBatchUI ui) {
54 super.beforeInit(ui);
55 CreateMarineLitterBatchUIModel model = new CreateMarineLitterBatchUIModel(getConfig().getMarineLitterWeightUnit());
56 ui.setContextValue(model);
57 listModelIsModify(model);
58 }
59
60 @Override
61 public void afterInit(CreateMarineLitterBatchUI ui) {
62
63 initUI(ui);
64
65 Caracteristic marineLitterCategoryCaracteristic =
66 getPersistenceService().getMarineLitterCategoryCaracteristic();
67 initBeanFilterableComboBox(ui.getMarineLitterCategoryComboBox(),
68 Lists.newArrayList(marineLitterCategoryCaracteristic.getQualitativeValue()),
69 null);
70
71 Caracteristic marineLitterSizeCategoryCaracteristic =
72 getPersistenceService().getMarineLitterSizeCategoryCaracteristic();
73
74 initBeanFilterableComboBox(ui.getMarineLitterSizeCategoryComboBox(),
75 Lists.newArrayList(marineLitterSizeCategoryCaracteristic.getQualitativeValue()),
76 null);
77
78 listenValidatorValid(ui.getValidator(), getModel());
79 }
80
81 @Override
82 protected JComponent getComponentToFocus() {
83 return getUI().getMarineLitterCategoryComboBox();
84 }
85
86 @Override
87 public void onCloseUI() {
88
89 if (log.isDebugEnabled()) {
90 log.debug("closing: " + ui);
91 }
92
93
94 ui.getValidator().setBean(null);
95
96
97 getModel().setValid(false);
98
99 EditCatchesUI parent = getParentContainer(EditCatchesUI.class);
100 parent.getHandler().setMarineLitterSelectedCard(EditCatchesUIHandler.MAIN_CARD);
101 }
102
103 @Override
104 public SwingValidator<CreateMarineLitterBatchUIModel> getValidator() {
105 return ui.getValidator();
106 }
107
108
109
110
111
112 public void openUI(MarineLitterBatchUIModel batchModel) {
113
114 CreateMarineLitterBatchUIModel model = getModel();
115
116
117 ui.getValidator().setBean(model);
118
119 model.reset();
120
121 Multimap<CaracteristicQualitativeValue, CaracteristicQualitativeValue> categoryUsed =
122 model.getMarineLitterCategoryUsed();
123 categoryUsed.clear();
124
125 if (batchModel != null) {
126 categoryUsed.putAll(batchModel.getMarineLitterCategoriesUsed());
127 }
128
129 }
130
131 }