| ... |
... |
@@ -21,7 +21,6 @@ |
|
21
|
21
|
*/
|
|
22
|
22
|
package fr.ird.observe.client.ui.content.data.seine;
|
|
23
|
23
|
|
|
24
|
|
-import com.google.common.collect.Lists;
|
|
25
|
24
|
import fr.ird.observe.client.constants.AcquisitionMode;
|
|
26
|
25
|
import fr.ird.observe.client.db.ClientDataContext;
|
|
27
|
26
|
import fr.ird.observe.client.ui.content.ContentMode;
|
| ... |
... |
@@ -49,6 +48,7 @@ import javax.swing.table.DefaultTableCellRenderer; |
|
49
|
48
|
import java.awt.Component;
|
|
50
|
49
|
import java.awt.Container;
|
|
51
|
50
|
import java.util.Collection;
|
|
|
51
|
+import java.util.Collections;
|
|
52
|
52
|
import java.util.LinkedList;
|
|
53
|
53
|
import java.util.List;
|
|
54
|
54
|
import java.util.Optional;
|
| ... |
... |
@@ -112,7 +112,6 @@ public class NonTargetSampleUIHandler extends AbstractSampleUIHandler<NonTargetS |
|
112
|
112
|
return getDataContext().getSelectedSetId();
|
|
113
|
113
|
}
|
|
114
|
114
|
|
|
115
|
|
- @SuppressWarnings("unchecked")
|
|
116
|
115
|
@Override
|
|
117
|
116
|
protected void onSelectedRowChanged(int editingRow,
|
|
118
|
117
|
NonTargetLengthDto bean,
|
| ... |
... |
@@ -131,50 +130,77 @@ public class NonTargetSampleUIHandler extends AbstractSampleUIHandler<NonTargetS |
|
131
|
130
|
|
|
132
|
131
|
SpeciesReference species = bean.getSpecies();
|
|
133
|
132
|
NonTargetSampleUI ui = getUi();
|
|
134
|
|
- if (log.isDebugEnabled()) {
|
|
135
|
|
- log.debug("selected species " + species);
|
|
136
|
|
- }
|
|
137
|
|
- List<SpeciesReference> availableEspeces;
|
|
|
133
|
+ log.debug("selected species " + species);
|
|
|
134
|
+
|
|
|
135
|
+ List<SpeciesReference> availableSpecies;
|
|
138
|
136
|
JComponent requestFocus;
|
|
139
|
|
- Optional<SizeMeasureTypeReference> sizeMeasureType;
|
|
|
137
|
+ Optional<SizeMeasureTypeReference> sizeMeasureType=Optional.empty();
|
|
140
|
138
|
|
|
141
|
139
|
if (create) {
|
|
142
|
140
|
|
|
|
141
|
+ Optional<SizeMeasureTypeReference> defaultSizeMeasureType;
|
|
|
142
|
+
|
|
|
143
|
+ boolean unsetSpecies = true;
|
|
143
|
144
|
if (model.isCreate()) {
|
|
144
|
145
|
|
|
145
|
146
|
// on passe le mode de saisie en count
|
|
146
|
|
- ui.getAcquisitionModeGroup().setSelectedValue(null);
|
|
147
|
|
- ui.getAcquisitionModeGroup().setSelectedValue(AcquisitionMode.byEffectif);
|
|
|
147
|
+ AcquisitionMode acquisitionMode = AcquisitionMode.byEffectif;
|
|
|
148
|
+
|
|
|
149
|
+ if (editingRow > 0) {
|
|
|
150
|
+ unsetSpecies = false;
|
|
|
151
|
+ // get previous row
|
|
|
152
|
+ NonTargetLengthDto editBean = model.getValueAt(editingRow - 1);
|
|
|
153
|
+ // get previous species
|
|
|
154
|
+ species = editBean.getSpecies();
|
|
|
155
|
+ // get previous acquisition mode
|
|
|
156
|
+ acquisitionMode = AcquisitionMode.valueOf(editBean.getAcquisitionMode());
|
|
|
157
|
+ // get previous size measure type
|
|
|
158
|
+ sizeMeasureType = Optional.ofNullable(editBean.getSizeMeasureType());
|
|
|
159
|
+ }
|
|
|
160
|
+
|
|
|
161
|
+ updateAcquisitionMode0(acquisitionMode);
|
|
|
162
|
+
|
|
148
|
163
|
}
|
|
149
|
164
|
|
|
150
|
|
- availableEspeces = getModel().getReferentialReferences(NonTargetLengthDto.PROPERTY_SPECIES);
|
|
|
165
|
+ availableSpecies = getModel().getReferentialReferences(NonTargetLengthDto.PROPERTY_SPECIES);
|
|
|
166
|
+
|
|
|
167
|
+ // get default size measure type
|
|
|
168
|
+ defaultSizeMeasureType = getSpeciesDefaultSizeMeasureType(species);
|
|
|
169
|
+
|
|
|
170
|
+ if (unsetSpecies) {
|
|
|
171
|
+ // unset species (this will not set again species in widget)
|
|
|
172
|
+ species = null;
|
|
|
173
|
+ sizeMeasureType = defaultSizeMeasureType;
|
|
|
174
|
+ requestFocus = ui.getSpecies();
|
|
|
175
|
+ } else {
|
|
|
176
|
+ requestFocus = ui.getLength();
|
|
|
177
|
+ }
|
|
151
|
178
|
|
|
152
|
179
|
// on utilise le code par defaut de l'espèce
|
|
153
|
|
- sizeMeasureType = getSpeciesDefaultSizeMeasureType(species);
|
|
154
|
|
- getUi().getModel().setDefaultSizeMeasureType(sizeMeasureType.orElse(null));
|
|
|
180
|
+ ui.getModel().setDefaultSizeMeasureType(defaultSizeMeasureType.orElse(null));
|
|
155
|
181
|
|
|
156
|
|
- requestFocus = ui.getSpecies();
|
|
157
|
182
|
} else {
|
|
158
|
183
|
|
|
159
|
184
|
requestFocus = ui.getCount();
|
|
160
|
185
|
|
|
161
|
186
|
// on passe le mode de saisie
|
|
162
|
|
- int acquisitionMode = bean.getAcquisitionMode();
|
|
163
|
|
- AcquisitionMode enumValue =
|
|
164
|
|
- AcquisitionMode.valueOf(acquisitionMode);
|
|
165
|
|
- ui.getAcquisitionModeGroup().setSelectedValue(null);
|
|
166
|
|
- ui.getAcquisitionModeGroup().setSelectedValue(enumValue);
|
|
167
|
|
-
|
|
168
|
|
- availableEspeces = Lists.newArrayList(species);
|
|
|
187
|
+ updateAcquisitionMode0(AcquisitionMode.valueOf(bean.getAcquisitionMode()));
|
|
169
|
188
|
|
|
|
189
|
+ availableSpecies = Collections.singletonList(species);
|
|
|
190
|
+ species = null;
|
|
170
|
191
|
sizeMeasureType = Optional.ofNullable(bean.getSizeMeasureType());
|
|
171
|
192
|
|
|
172
|
193
|
}
|
|
173
|
194
|
|
|
174
|
195
|
ui.getSizeMeasureType().setSelectedItem(null);
|
|
175
|
|
- sizeMeasureType.ifPresent(sizeMeasureTypeDtoReferentialReference -> ui.getSizeMeasureType().setSelectedItem(sizeMeasureTypeDtoReferentialReference));
|
|
|
196
|
+ sizeMeasureType.ifPresent(ui.getSizeMeasureType()::setSelectedItem);
|
|
176
|
197
|
|
|
177
|
|
- ui.getSpecies().setData(availableEspeces);
|
|
|
198
|
+ ui.getSpecies().setData(availableSpecies);
|
|
|
199
|
+ if (species != null) {
|
|
|
200
|
+ log.info(String.format("Will set species : %s", species));
|
|
|
201
|
+ ui.getSpecies().setSelectedItem(null);
|
|
|
202
|
+ ui.getSpecies().setSelectedItem(species);
|
|
|
203
|
+ }
|
|
178
|
204
|
UIHelper.askFocus(requestFocus);
|
|
179
|
205
|
|
|
180
|
206
|
tableEditBean.addPropertyChangeListener(NonTargetLengthDto.PROPERTY_WEIGHT, weightChanged);
|
| ... |
... |
@@ -351,6 +377,11 @@ public class NonTargetSampleUIHandler extends AbstractSampleUIHandler<NonTargetS |
|
351
|
377
|
|
|
352
|
378
|
}
|
|
353
|
379
|
|
|
|
380
|
+ private void updateAcquisitionMode0(AcquisitionMode acquisitionMode) {
|
|
|
381
|
+ ui.getAcquisitionModeGroup().setSelectedValue(null);
|
|
|
382
|
+ ui.getAcquisitionModeGroup().setSelectedValue(acquisitionMode);
|
|
|
383
|
+ }
|
|
|
384
|
+
|
|
354
|
385
|
class TablePopupSupport extends AutotSelectRowAndShowPopupActionSupport {
|
|
355
|
386
|
|
|
356
|
387
|
private final NonTargetSampleUI ui;
|