Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
-
1cff663a
by Tony CHEMIT at 2017-08-08T13:50:16+02:00
15 changed files:
- client/src/main/java/fr/ird/observe/client/ui/content/ContentUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/open/impl/longline/TripLonglineUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/open/impl/seine/TripSeineUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/table/impl/longline/CatchLonglineUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/table/impl/longline/EncounterUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/table/impl/longline/TdrUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/table/impl/seine/NonTargetCatchReleaseUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/table/impl/seine/NonTargetCatchUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/table/impl/seine/NonTargetSampleUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/table/impl/seine/SchoolEstimateUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/table/impl/seine/TargetCatchUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java
- client/src/main/java/fr/ird/observe/client/ui/content/table/impl/seine/TargetSampleUIHandler.java
Changes:
| ... | ... | @@ -103,9 +103,11 @@ import java.util.Collections; |
| 103 | 103 |
import java.util.LinkedList;
|
| 104 | 104 |
import java.util.List;
|
| 105 | 105 |
import java.util.Locale;
|
| 106 |
+import java.util.Map;
|
|
| 106 | 107 |
import java.util.Objects;
|
| 107 | 108 |
import java.util.Optional;
|
| 108 | 109 |
import java.util.Set;
|
| 110 |
+import java.util.TreeMap;
|
|
| 109 | 111 |
import java.util.Vector;
|
| 110 | 112 |
import javax.swing.AbstractButton;
|
| 111 | 113 |
import javax.swing.ActionMap;
|
| ... | ... | @@ -162,6 +164,18 @@ public abstract class ContentUIHandler<E extends IdDto, U extends ContentUI<E, U |
| 162 | 164 |
/** l'interface graphique que le controleur utilise */
|
| 163 | 165 |
protected U ui;
|
| 164 | 166 |
|
| 167 |
+ private final Map<String, ReferentialReferencesFilter> referentialsFilters = new TreeMap<>();
|
|
| 168 |
+ |
|
| 169 |
+ protected interface ReferentialReferencesFilter<D extends ReferentialDto> {
|
|
| 170 |
+ |
|
| 171 |
+ List<ReferentialReference<D>> filter(List<ReferentialReference<D>> incomingReferences);
|
|
| 172 |
+ |
|
| 173 |
+ }
|
|
| 174 |
+ |
|
| 175 |
+ protected void addReferentialFilter(String propertyName, ReferentialReferencesFilter filter) {
|
|
| 176 |
+ referentialsFilters.put(propertyName, filter);
|
|
| 177 |
+ }
|
|
| 178 |
+ |
|
| 165 | 179 |
public void beforeInit(U ui) {
|
| 166 | 180 |
this.ui = ui;
|
| 167 | 181 |
prefix = "[" + ui.getClass().getSimpleName() + "] ";
|
| ... | ... | @@ -673,6 +687,13 @@ public abstract class ContentUIHandler<E extends IdDto, U extends ContentUI<E, U |
| 673 | 687 |
// by default always remove obsolete references
|
| 674 | 688 |
List<ReferentialReference<D>> referentialReferences = ReferentialReferences.filterEnabled(incomingReferences);
|
| 675 | 689 |
log.debug(String.format("Filter referential references (type %s - property %s), without diabled size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size()));
|
| 690 |
+ |
|
| 691 |
+ //noinspection unchecked
|
|
| 692 |
+ ReferentialReferencesFilter<D> referentialReferencesFilter = referentialsFilters.get(propertyName);
|
|
| 693 |
+ if (referentialReferencesFilter!=null) {
|
|
| 694 |
+ return referentialReferencesFilter.filter(referentialReferences);
|
|
| 695 |
+ }
|
|
| 696 |
+ |
|
| 676 | 697 |
return referentialReferences;
|
| 677 | 698 |
|
| 678 | 699 |
}
|
| ... | ... | @@ -35,13 +35,13 @@ import fr.ird.observe.services.dto.form.Form; |
| 35 | 35 |
import fr.ird.observe.services.dto.longline.TripLonglineDto;
|
| 36 | 36 |
import fr.ird.observe.services.dto.longline.TripLonglineHelper;
|
| 37 | 37 |
import fr.ird.observe.services.dto.reference.ReferentialReference;
|
| 38 |
+import fr.ird.observe.services.dto.reference.ReferentialReferences;
|
|
| 39 |
+import fr.ird.observe.services.dto.referential.PersonDto;
|
|
| 38 | 40 |
import fr.ird.observe.services.dto.referential.PersonHelper;
|
| 39 |
-import fr.ird.observe.services.dto.referential.ReferentialDto;
|
|
| 41 |
+import fr.ird.observe.services.dto.referential.VesselDto;
|
|
| 40 | 42 |
import fr.ird.observe.services.dto.referential.VesselHelper;
|
| 41 | 43 |
import fr.ird.observe.services.dto.result.SaveResultDto;
|
| 42 |
-import java.util.Collection;
|
|
| 43 | 44 |
import java.util.Date;
|
| 44 |
-import java.util.LinkedList;
|
|
| 45 | 45 |
import java.util.List;
|
| 46 | 46 |
import javax.swing.JTabbedPane;
|
| 47 | 47 |
import javax.swing.SwingUtilities;
|
| ... | ... | @@ -69,6 +69,23 @@ class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLonglineDto, Tr |
| 69 | 69 |
|
| 70 | 70 |
TripLonglineUIHandler() {
|
| 71 | 71 |
super(DataContextType.Program, DataContextType.TripLongline, n("observe.content.tripLongline.message.not.open"));
|
| 72 |
+ addReferentialFilter(TripLonglineDto.PROPERTY_CAPTAIN, (ReferentialReferencesFilter<PersonDto>) incomingReferences -> {
|
|
| 73 |
+ List<ReferentialReference<PersonDto>> result = PersonHelper.filterCaptainReferences(incomingReferences);
|
|
| 74 |
+ return ReferentialReferences.filterEnabled(result);
|
|
| 75 |
+ });
|
|
| 76 |
+ addReferentialFilter(TripLonglineDto.PROPERTY_OBSERVER, (ReferentialReferencesFilter<PersonDto>) incomingReferences -> {
|
|
| 77 |
+ List<ReferentialReference<PersonDto>> result = PersonHelper.filterObserverReferences(incomingReferences);
|
|
| 78 |
+ return ReferentialReferences.filterEnabled(result);
|
|
| 79 |
+ });
|
|
| 80 |
+ addReferentialFilter(TripLonglineDto.PROPERTY_DATA_ENTRY_OPERATOR, (ReferentialReferencesFilter<PersonDto>) incomingReferences -> {
|
|
| 81 |
+ List<ReferentialReference<PersonDto>> result = PersonHelper.filterDataEntryOperatorReferences(incomingReferences);
|
|
| 82 |
+ return ReferentialReferences.filterEnabled(result);
|
|
| 83 |
+ });
|
|
| 84 |
+ addReferentialFilter(TripLonglineDto.PROPERTY_VESSEL, (ReferentialReferencesFilter<VesselDto>) incomingReferences -> {
|
|
| 85 |
+ ClientConfig config = ObserveSwingApplicationContext.get().getConfig();
|
|
| 86 |
+ List<ReferentialReference<VesselDto>> result = VesselHelper.filterVesselReferencesByVesselTypeIds(incomingReferences, config.getLonglineVesselTypeIds());
|
|
| 87 |
+ return ReferentialReferences.filterEnabled(result);
|
|
| 88 |
+ });
|
|
| 72 | 89 |
}
|
| 73 | 90 |
|
| 74 | 91 |
@Override
|
| ... | ... | @@ -315,50 +332,4 @@ class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLonglineDto, Tr |
| 315 | 332 |
return !create && getOpenDataManager().canOpenTripLongline();
|
| 316 | 333 |
|
| 317 | 334 |
}
|
| 318 |
- |
|
| 319 |
- @Override
|
|
| 320 |
- protected <D extends ReferentialDto> Collection<ReferentialReference<D>> filterReferentialReferences(Class<D> dtoType, String propertyName, LinkedList<ReferentialReference<D>> incomingReferences) {
|
|
| 321 |
- |
|
| 322 |
- Collection<ReferentialReference<D>> result = super.filterReferentialReferences(dtoType, propertyName, incomingReferences);
|
|
| 323 |
- |
|
| 324 |
- switch (propertyName) {
|
|
| 325 |
- |
|
| 326 |
- case TripLonglineDto.PROPERTY_CAPTAIN: {
|
|
| 327 |
- result = (List) PersonHelper.filterCaptainReferences((List) result);
|
|
| 328 |
- if (log.isDebugEnabled()) {
|
|
| 329 |
- log.debug(String.format("Filter referential references (type %s - property %s), final size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size()));
|
|
| 330 |
- }
|
|
| 331 |
- }
|
|
| 332 |
- break;
|
|
| 333 |
- |
|
| 334 |
- case TripLonglineDto.PROPERTY_OBSERVER: {
|
|
| 335 |
- result = (List) PersonHelper.filterObserverReferences((List) result);
|
|
| 336 |
- if (log.isDebugEnabled()) {
|
|
| 337 |
- log.debug(String.format("Filter referential references (type %s - property %s), final size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size()));
|
|
| 338 |
- }
|
|
| 339 |
- }
|
|
| 340 |
- break;
|
|
| 341 |
- |
|
| 342 |
- case TripLonglineDto.PROPERTY_DATA_ENTRY_OPERATOR: {
|
|
| 343 |
- result = (List) PersonHelper.filterDataEntryOperatorReferences((List) result);
|
|
| 344 |
- if (log.isDebugEnabled()) {
|
|
| 345 |
- log.debug(String.format("Filter referential references (type %s - property %s), final size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size()));
|
|
| 346 |
- }
|
|
| 347 |
- }
|
|
| 348 |
- break;
|
|
| 349 |
- |
|
| 350 |
- case TripLonglineDto.PROPERTY_VESSEL: {
|
|
| 351 |
- ClientConfig config = ObserveSwingApplicationContext.get().getConfig();
|
|
| 352 |
- result = (List) VesselHelper.filterVesselReferencesByVesselTypeIds((List) result, config.getLonglineVesselTypeIds());
|
|
| 353 |
- if (log.isDebugEnabled()) {
|
|
| 354 |
- log.debug(String.format("Filter referential references (type %s - property %s), final size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size()));
|
|
| 355 |
- }
|
|
| 356 |
- }
|
|
| 357 |
- break;
|
|
| 358 |
- |
|
| 359 |
- }
|
|
| 360 |
- |
|
| 361 |
- return result;
|
|
| 362 |
- }
|
|
| 363 |
- |
|
| 364 | 335 |
}
|
| ... | ... | @@ -32,15 +32,15 @@ import fr.ird.observe.client.ui.util.tripMap.TripMapUI; |
| 32 | 32 |
import fr.ird.observe.services.dto.TripMapDto;
|
| 33 | 33 |
import fr.ird.observe.services.dto.form.Form;
|
| 34 | 34 |
import fr.ird.observe.services.dto.reference.ReferentialReference;
|
| 35 |
+import fr.ird.observe.services.dto.reference.ReferentialReferences;
|
|
| 36 |
+import fr.ird.observe.services.dto.referential.PersonDto;
|
|
| 35 | 37 |
import fr.ird.observe.services.dto.referential.PersonHelper;
|
| 36 |
-import fr.ird.observe.services.dto.referential.ReferentialDto;
|
|
| 38 |
+import fr.ird.observe.services.dto.referential.VesselDto;
|
|
| 37 | 39 |
import fr.ird.observe.services.dto.referential.VesselHelper;
|
| 38 | 40 |
import fr.ird.observe.services.dto.result.SaveResultDto;
|
| 39 | 41 |
import fr.ird.observe.services.dto.seine.TripSeineDto;
|
| 40 | 42 |
import fr.ird.observe.services.dto.seine.TripSeineHelper;
|
| 41 |
-import java.util.Collection;
|
|
| 42 | 43 |
import java.util.Date;
|
| 43 |
-import java.util.LinkedList;
|
|
| 44 | 44 |
import java.util.List;
|
| 45 | 45 |
import javax.swing.JTabbedPane;
|
| 46 | 46 |
import javax.swing.SwingUtilities;
|
| ... | ... | @@ -66,6 +66,23 @@ class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeineDto, TripSein |
| 66 | 66 |
|
| 67 | 67 |
TripSeineUIHandler() {
|
| 68 | 68 |
super(DataContextType.Program, DataContextType.TripSeine, n("observe.content.tripSeine.message.not.open"));
|
| 69 |
+ addReferentialFilter(TripSeineDto.PROPERTY_CAPTAIN, (ReferentialReferencesFilter<PersonDto>) incomingReferences -> {
|
|
| 70 |
+ List<ReferentialReference<PersonDto>> result = PersonHelper.filterCaptainReferences(incomingReferences);
|
|
| 71 |
+ return ReferentialReferences.filterEnabled(result);
|
|
| 72 |
+ });
|
|
| 73 |
+ addReferentialFilter(TripSeineDto.PROPERTY_OBSERVER, (ReferentialReferencesFilter<PersonDto>) incomingReferences -> {
|
|
| 74 |
+ List<ReferentialReference<PersonDto>> result = PersonHelper.filterObserverReferences(incomingReferences);
|
|
| 75 |
+ return ReferentialReferences.filterEnabled(result);
|
|
| 76 |
+ });
|
|
| 77 |
+ addReferentialFilter(TripSeineDto.PROPERTY_DATA_ENTRY_OPERATOR, (ReferentialReferencesFilter<PersonDto>) incomingReferences -> {
|
|
| 78 |
+ List<ReferentialReference<PersonDto>> result = PersonHelper.filterDataEntryOperatorReferences(incomingReferences);
|
|
| 79 |
+ return ReferentialReferences.filterEnabled(result);
|
|
| 80 |
+ });
|
|
| 81 |
+ addReferentialFilter(TripSeineDto.PROPERTY_VESSEL, (ReferentialReferencesFilter<VesselDto>) incomingReferences -> {
|
|
| 82 |
+ ClientConfig config = ObserveSwingApplicationContext.get().getConfig();
|
|
| 83 |
+ List<ReferentialReference<VesselDto>> result = VesselHelper.filterVesselReferencesByVesselTypeIds(incomingReferences, config.getLonglineVesselTypeIds());
|
|
| 84 |
+ return ReferentialReferences.filterEnabled(result);
|
|
| 85 |
+ });
|
|
| 69 | 86 |
}
|
| 70 | 87 |
|
| 71 | 88 |
@Override
|
| ... | ... | @@ -309,49 +326,4 @@ class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeineDto, TripSein |
| 309 | 326 |
return !create && getOpenDataManager().canOpenTripSeine();
|
| 310 | 327 |
}
|
| 311 | 328 |
|
| 312 |
- @Override
|
|
| 313 |
- protected <D extends ReferentialDto> Collection<ReferentialReference<D>> filterReferentialReferences(Class<D> dtoType, String propertyName, LinkedList<ReferentialReference<D>> incomingReferences) {
|
|
| 314 |
- |
|
| 315 |
- Collection<ReferentialReference<D>> result = super.filterReferentialReferences(dtoType, propertyName, incomingReferences);
|
|
| 316 |
- |
|
| 317 |
- switch (propertyName) {
|
|
| 318 |
- |
|
| 319 |
- case TripSeineDto.PROPERTY_CAPTAIN: {
|
|
| 320 |
- result = (List) PersonHelper.filterCaptainReferences((List) result);
|
|
| 321 |
- if (log.isDebugEnabled()) {
|
|
| 322 |
- log.debug(String.format("Filter referential references (type %s - property %s), final size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size()));
|
|
| 323 |
- }
|
|
| 324 |
- }
|
|
| 325 |
- break;
|
|
| 326 |
- |
|
| 327 |
- case TripSeineDto.PROPERTY_OBSERVER: {
|
|
| 328 |
- result = (List) PersonHelper.filterObserverReferences((List) result);
|
|
| 329 |
- if (log.isDebugEnabled()) {
|
|
| 330 |
- log.debug(String.format("Filter referential references (type %s - property %s), final size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size()));
|
|
| 331 |
- }
|
|
| 332 |
- }
|
|
| 333 |
- break;
|
|
| 334 |
- |
|
| 335 |
- case TripSeineDto.PROPERTY_DATA_ENTRY_OPERATOR: {
|
|
| 336 |
- result = (List) PersonHelper.filterDataEntryOperatorReferences((List) result);
|
|
| 337 |
- if (log.isDebugEnabled()) {
|
|
| 338 |
- log.debug(String.format("Filter referential references (type %s - property %s), final size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size()));
|
|
| 339 |
- }
|
|
| 340 |
- }
|
|
| 341 |
- break;
|
|
| 342 |
- |
|
| 343 |
- case TripSeineDto.PROPERTY_VESSEL: {
|
|
| 344 |
- ClientConfig config = ObserveSwingApplicationContext.get().getConfig();
|
|
| 345 |
- result = (List) VesselHelper.filterVesselReferencesByVesselTypeIds((List) result, config.getSeineVesselTypeIds());
|
|
| 346 |
- if (log.isDebugEnabled()) {
|
|
| 347 |
- log.debug(String.format("Filter referential references (type %s - property %s), final size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size()));
|
|
| 348 |
- }
|
|
| 349 |
- }
|
|
| 350 |
- break;
|
|
| 351 |
- |
|
| 352 |
- }
|
|
| 353 |
- |
|
| 354 |
- return result;
|
|
| 355 |
- }
|
|
| 356 |
- |
|
| 357 | 329 |
}
|
| ... | ... | @@ -52,7 +52,6 @@ import fr.ird.observe.services.dto.longline.WeightMeasureDto; |
| 52 | 52 |
import fr.ird.observe.services.dto.reference.DataReference;
|
| 53 | 53 |
import fr.ird.observe.services.dto.reference.ReferentialReference;
|
| 54 | 54 |
import fr.ird.observe.services.dto.reference.ReferentialReferences;
|
| 55 |
-import fr.ird.observe.services.dto.referential.ReferentialDto;
|
|
| 56 | 55 |
import fr.ird.observe.services.dto.referential.SizeMeasureTypeDto;
|
| 57 | 56 |
import fr.ird.observe.services.dto.referential.SpeciesDto;
|
| 58 | 57 |
import fr.ird.observe.services.dto.referential.WeightMeasureTypeDto;
|
| ... | ... | @@ -62,11 +61,9 @@ import fr.ird.observe.services.dto.result.SaveResultDto; |
| 62 | 61 |
import fr.ird.observe.services.service.data.longline.TripLonglineService;
|
| 63 | 62 |
import java.beans.PropertyChangeListener;
|
| 64 | 63 |
import java.util.Calendar;
|
| 65 |
-import java.util.Collection;
|
|
| 66 | 64 |
import java.util.Collections;
|
| 67 | 65 |
import java.util.Date;
|
| 68 | 66 |
import java.util.HashSet;
|
| 69 |
-import java.util.LinkedList;
|
|
| 70 | 67 |
import java.util.List;
|
| 71 | 68 |
import java.util.Set;
|
| 72 | 69 |
import javax.swing.JComponent;
|
| ... | ... | @@ -132,7 +129,21 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat |
| 132 | 129 |
branchlineChanged = evt -> onBranchlineChanged((DataReference<BranchlineDto>) evt.getNewValue());
|
| 133 | 130 |
weightTableModelModified = evt -> onWeightTableModelModified((Boolean) evt.getNewValue());
|
| 134 | 131 |
sizeTableModelModified = evt -> onSizeTableModelModified((Boolean) evt.getNewValue());
|
| 135 |
- depredatedChanged = evt -> onDepretadedChanged((Boolean) evt.getNewValue(), (CatchLonglineDto) evt.getSource());
|
|
| 132 |
+ depredatedChanged = evt -> onDepredatedChanged((Boolean) evt.getNewValue(), (CatchLonglineDto) evt.getSource());
|
|
| 133 |
+ |
|
| 134 |
+ addReferentialFilter(CatchLonglineDto.PROPERTY_SPECIES_CATCH, (ReferentialReferencesFilter<SpeciesDto>) incomingReferences -> {
|
|
| 135 |
+ String speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListLonglineCatchId();
|
|
| 136 |
+ String tripLonglineId = getDataContext().getSelectedTripLonglineId();
|
|
| 137 |
+ List<ReferentialReference<SpeciesDto>> result = getTripLonglineService().getSpeciesByListAndTrip(tripLonglineId, speciesListId);
|
|
| 138 |
+ return ReferentialReferences.filterEnabled(result);
|
|
| 139 |
+ });
|
|
| 140 |
+ |
|
| 141 |
+ addReferentialFilter(CatchLonglineDto.PROPERTY_PREDATOR, (ReferentialReferencesFilter<SpeciesDto>) incomingReferences -> {
|
|
| 142 |
+ String speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListLonglineDepredatorId();
|
|
| 143 |
+ String tripLonglineId = getDataContext().getSelectedTripLonglineId();
|
|
| 144 |
+ List<ReferentialReference<SpeciesDto>> result = getTripLonglineService().getSpeciesByListAndTrip(tripLonglineId, speciesListId);
|
|
| 145 |
+ return ReferentialReferences.filterEnabled(result);
|
|
| 146 |
+ });
|
|
| 136 | 147 |
}
|
| 137 | 148 |
|
| 138 | 149 |
@Override
|
| ... | ... | @@ -462,7 +473,7 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat |
| 462 | 473 |
}
|
| 463 | 474 |
|
| 464 | 475 |
//FIXME Voir si pas besoin aussi de relancer les binding (catchFateChanged, branchlineChanged) ?
|
| 465 |
- onDepretadedChanged(bean.getDepredated(), bean);
|
|
| 476 |
+ onDepredatedChanged(bean.getDepredated(), bean);
|
|
| 466 | 477 |
|
| 467 | 478 |
}
|
| 468 | 479 |
|
| ... | ... | @@ -654,43 +665,6 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat |
| 654 | 665 |
}
|
| 655 | 666 |
|
| 656 | 667 |
@Override
|
| 657 |
- protected <D extends ReferentialDto> Collection<ReferentialReference<D>> filterReferentialReferences(Class<D> dtoType, String propertyName, LinkedList<ReferentialReference<D>> incomingReferences) {
|
|
| 658 |
- |
|
| 659 |
- Collection<ReferentialReference<D>> result = super.filterReferentialReferences(dtoType, propertyName, incomingReferences);
|
|
| 660 |
- |
|
| 661 |
- switch (propertyName) {
|
|
| 662 |
- |
|
| 663 |
- case CatchLonglineDto.PROPERTY_SPECIES_CATCH:
|
|
| 664 |
- case CatchLonglineDto.PROPERTY_PREDATOR: {
|
|
| 665 |
- String speciesListId;
|
|
| 666 |
- |
|
| 667 |
- if (CatchLonglineDto.PROPERTY_SPECIES_CATCH.equals(propertyName)) {
|
|
| 668 |
- speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListLonglineCatchId();
|
|
| 669 |
- } else {
|
|
| 670 |
- speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListLonglineDepredatorId();
|
|
| 671 |
- }
|
|
| 672 |
- |
|
| 673 |
- String tripLonglineId = getDataContext().getSelectedTripLonglineId();
|
|
| 674 |
- |
|
| 675 |
- TripLonglineService tripLonglineService = getTripLonglineService();
|
|
| 676 |
- result = (List) tripLonglineService.getSpeciesByListAndTrip(tripLonglineId, speciesListId);
|
|
| 677 |
- |
|
| 678 |
- result = ReferentialReferences.filterEnabled(result);
|
|
| 679 |
- |
|
| 680 |
- if (log.isDebugEnabled()) {
|
|
| 681 |
- log.debug(String.format("Filter referential references (type %s - property %s), final size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size()));
|
|
| 682 |
- }
|
|
| 683 |
- |
|
| 684 |
- break;
|
|
| 685 |
- }
|
|
| 686 |
- |
|
| 687 |
- }
|
|
| 688 |
- |
|
| 689 |
- return result;
|
|
| 690 |
- |
|
| 691 |
- }
|
|
| 692 |
- |
|
| 693 |
- @Override
|
|
| 694 | 668 |
protected void closeSafeUI() {
|
| 695 | 669 |
|
| 696 | 670 |
if (log.isInfoEnabled()) {
|
| ... | ... | @@ -831,7 +805,7 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat |
| 831 | 805 |
|
| 832 | 806 |
}
|
| 833 | 807 |
|
| 834 |
- private void onDepretadedChanged(Boolean newValue, CatchLonglineDto tableEditBean) {
|
|
| 808 |
+ private void onDepredatedChanged(Boolean newValue, CatchLonglineDto tableEditBean) {
|
|
| 835 | 809 |
|
| 836 | 810 |
CatchLonglineUI ui = getUi();
|
| 837 | 811 |
|
| ... | ... | @@ -32,14 +32,12 @@ import fr.ird.observe.services.dto.longline.ActivityLonglineEncounterHelper; |
| 32 | 32 |
import fr.ird.observe.services.dto.longline.EncounterDto;
|
| 33 | 33 |
import fr.ird.observe.services.dto.reference.ReferentialReference;
|
| 34 | 34 |
import fr.ird.observe.services.dto.reference.ReferentialReferences;
|
| 35 |
-import fr.ird.observe.services.dto.referential.ReferentialDto;
|
|
| 36 | 35 |
import fr.ird.observe.services.dto.referential.SpeciesDto;
|
| 37 | 36 |
import fr.ird.observe.services.dto.referential.SpeciesListDto;
|
| 38 | 37 |
import fr.ird.observe.services.dto.referential.longline.EncounterTypeDto;
|
| 39 | 38 |
import fr.ird.observe.services.dto.result.SaveResultDto;
|
| 40 | 39 |
import fr.ird.observe.services.service.referential.ReferentialService;
|
| 41 |
-import java.util.Collection;
|
|
| 42 |
-import java.util.LinkedList;
|
|
| 40 |
+import java.util.List;
|
|
| 43 | 41 |
import java.util.Set;
|
| 44 | 42 |
import javax.swing.JTable;
|
| 45 | 43 |
import javax.swing.table.DefaultTableCellRenderer;
|
| ... | ... | @@ -63,6 +61,16 @@ public class EncounterUIHandler extends ContentTableUIHandler<ActivityLonglineEn |
| 63 | 61 |
|
| 64 | 62 |
EncounterUIHandler() {
|
| 65 | 63 |
super(DataContextType.ActivityLongline);
|
| 64 |
+ addReferentialFilter(EncounterDto.PROPERTY_SPECIES, (ReferentialReferencesFilter<SpeciesDto>) incomingReferences -> {
|
|
| 65 |
+ String speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListLonglineEncounterId();
|
|
| 66 |
+ Form<SpeciesListDto> speciesListDtoForm = getReferentialService().loadForm(SpeciesListDto.class, speciesListId);
|
|
| 67 |
+ SpeciesListDto speciesListDto = speciesListDtoForm.getObject();
|
|
| 68 |
+ |
|
| 69 |
+ Set<String> speciesIds = speciesListDto.getSpeciesIds();
|
|
| 70 |
+ |
|
| 71 |
+ List<ReferentialReference<SpeciesDto>> result = ReferentialReferences.filterContains(incomingReferences, speciesIds);
|
|
| 72 |
+ return ReferentialReferences.filterEnabled(result);
|
|
| 73 |
+ });
|
|
| 66 | 74 |
}
|
| 67 | 75 |
|
| 68 | 76 |
@Override
|
| ... | ... | @@ -117,37 +125,4 @@ public class EncounterUIHandler extends ContentTableUIHandler<ActivityLonglineEn |
| 117 | 125 |
ActivityLonglineEncounterHelper.copyActivityLonglineEncounterDto(form.getObject(), getBean());
|
| 118 | 126 |
}
|
| 119 | 127 |
|
| 120 |
- @Override
|
|
| 121 |
- protected <D extends ReferentialDto> Collection<ReferentialReference<D>> filterReferentialReferences(Class<D> dtoType, String propertyName, LinkedList<ReferentialReference<D>> incomingReferences) {
|
|
| 122 |
- |
|
| 123 |
- Collection<ReferentialReference<D>> result = super.filterReferentialReferences(dtoType, propertyName, incomingReferences);
|
|
| 124 |
- |
|
| 125 |
- switch (propertyName) {
|
|
| 126 |
- |
|
| 127 |
- case EncounterDto.PROPERTY_SPECIES: {
|
|
| 128 |
- |
|
| 129 |
- String speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListLonglineEncounterId();
|
|
| 130 |
- |
|
| 131 |
- ReferentialService referentialService = getReferentialService();
|
|
| 132 |
- |
|
| 133 |
- Form<SpeciesListDto> speciesListDtoForm = referentialService.loadForm(SpeciesListDto.class, speciesListId);
|
|
| 134 |
- SpeciesListDto speciesListDto = speciesListDtoForm.getObject();
|
|
| 135 |
- |
|
| 136 |
- Set<String> speciesIds = speciesListDto.getSpeciesIds();
|
|
| 137 |
- |
|
| 138 |
- result = ReferentialReferences.filterContains(result, speciesIds);
|
|
| 139 |
- |
|
| 140 |
- if (log.isDebugEnabled()) {
|
|
| 141 |
- log.debug(String.format("Filter referential references (type %s - property %s), final size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size()));
|
|
| 142 |
- }
|
|
| 143 |
- }
|
|
| 144 |
- |
|
| 145 |
- break;
|
|
| 146 |
- |
|
| 147 |
- }
|
|
| 148 |
- |
|
| 149 |
- return result;
|
|
| 150 |
- |
|
| 151 |
- }
|
|
| 152 |
- |
|
| 153 | 128 |
}
|
| ... | ... | @@ -37,18 +37,15 @@ import fr.ird.observe.services.dto.longline.SetLonglineTdrHelper; |
| 37 | 37 |
import fr.ird.observe.services.dto.longline.TdrDto;
|
| 38 | 38 |
import fr.ird.observe.services.dto.reference.ReferentialReference;
|
| 39 | 39 |
import fr.ird.observe.services.dto.reference.ReferentialReferences;
|
| 40 |
-import fr.ird.observe.services.dto.referential.ReferentialDto;
|
|
| 40 |
+import fr.ird.observe.services.dto.referential.SpeciesDto;
|
|
| 41 | 41 |
import fr.ird.observe.services.dto.referential.longline.SensorBrandDto;
|
| 42 | 42 |
import fr.ird.observe.services.dto.result.SaveResultDto;
|
| 43 |
-import fr.ird.observe.services.service.data.longline.TripLonglineService;
|
|
| 44 | 43 |
import java.beans.PropertyChangeListener;
|
| 45 | 44 |
import java.io.File;
|
| 46 | 45 |
import java.io.IOException;
|
| 47 | 46 |
import java.nio.file.Files;
|
| 48 |
-import java.util.Collection;
|
|
| 49 | 47 |
import java.util.Date;
|
| 50 | 48 |
import java.util.HashSet;
|
| 51 |
-import java.util.LinkedList;
|
|
| 52 | 49 |
import java.util.List;
|
| 53 | 50 |
import java.util.Set;
|
| 54 | 51 |
import javax.swing.JComponent;
|
| ... | ... | @@ -104,6 +101,12 @@ public class TdrUIHandler extends ContentTableUIHandler<SetLonglineTdrDto, TdrDt |
| 104 | 101 |
Boolean newValue = (Boolean) evt.getNewValue();
|
| 105 | 102 |
onToogleTimeEditorSliderChanged(newValue);
|
| 106 | 103 |
};
|
| 104 |
+ addReferentialFilter(TdrDto.PROPERTY_SPECIES, (ReferentialReferencesFilter<SpeciesDto>) incomingReferences -> {
|
|
| 105 |
+ String speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListLonglineCatchId();
|
|
| 106 |
+ String tripLonglineId = getDataContext().getSelectedTripLonglineId();
|
|
| 107 |
+ List<ReferentialReference<SpeciesDto>> result = getTripLonglineService().getSpeciesByListAndTrip(tripLonglineId, speciesListId);
|
|
| 108 |
+ return ReferentialReferences.filterEnabled(result);
|
|
| 109 |
+ });
|
|
| 107 | 110 |
}
|
| 108 | 111 |
|
| 109 | 112 |
@Override
|
| ... | ... | @@ -447,36 +450,6 @@ public class TdrUIHandler extends ContentTableUIHandler<SetLonglineTdrDto, TdrDt |
| 447 | 450 |
}
|
| 448 | 451 |
|
| 449 | 452 |
@Override
|
| 450 |
- protected <D extends ReferentialDto> Collection<ReferentialReference<D>> filterReferentialReferences(Class<D> dtoType, String propertyName, LinkedList<ReferentialReference<D>> incomingReferences) {
|
|
| 451 |
- |
|
| 452 |
- Collection<ReferentialReference<D>> result = super.filterReferentialReferences(dtoType, propertyName, incomingReferences);
|
|
| 453 |
- |
|
| 454 |
- switch (propertyName) {
|
|
| 455 |
- |
|
| 456 |
- case TdrDto.PROPERTY_SPECIES: {
|
|
| 457 |
- String speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListLonglineCatchId();
|
|
| 458 |
- |
|
| 459 |
- String tripLonglineId = getDataContext().getSelectedTripLonglineId();
|
|
| 460 |
- |
|
| 461 |
- TripLonglineService tripLonglineService = getTripLonglineService();
|
|
| 462 |
- result = (List) tripLonglineService.getSpeciesByListAndTrip(tripLonglineId, speciesListId);
|
|
| 463 |
- |
|
| 464 |
- result = ReferentialReferences.filterEnabled(result);
|
|
| 465 |
- |
|
| 466 |
- if (log.isDebugEnabled()) {
|
|
| 467 |
- log.debug(String.format("Filter referential references (type %s - property %s), final size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size()));
|
|
| 468 |
- }
|
|
| 469 |
- |
|
| 470 |
- break;
|
|
| 471 |
- }
|
|
| 472 |
- |
|
| 473 |
- }
|
|
| 474 |
- |
|
| 475 |
- return result;
|
|
| 476 |
- |
|
| 477 |
- }
|
|
| 478 |
- |
|
| 479 |
- @Override
|
|
| 480 | 453 |
protected void loadEditBean(String beanId) {
|
| 481 | 454 |
|
| 482 | 455 |
Form<SetLonglineTdrDto> form = getTdrService().loadForm(beanId);
|
| ... | ... | @@ -29,7 +29,7 @@ import fr.ird.observe.client.ui.util.table.AutotSelectRowAndShowPopupActionSuppo |
| 29 | 29 |
import fr.ird.observe.common.constants.seine.NonTargetCatchReleaseStatus;
|
| 30 | 30 |
import fr.ird.observe.services.dto.form.Form;
|
| 31 | 31 |
import fr.ird.observe.services.dto.reference.ReferentialReference;
|
| 32 |
-import fr.ird.observe.services.dto.referential.ReferentialDto;
|
|
| 32 |
+import fr.ird.observe.services.dto.reference.ReferentialReferenceSet;
|
|
| 33 | 33 |
import fr.ird.observe.services.dto.referential.SexDto;
|
| 34 | 34 |
import fr.ird.observe.services.dto.referential.SpeciesDto;
|
| 35 | 35 |
import fr.ird.observe.services.dto.referential.SpeciesGroupDto;
|
| ... | ... | @@ -40,7 +40,6 @@ import fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchReleaseDto; |
| 40 | 40 |
import fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchReleaseHelper;
|
| 41 | 41 |
import java.beans.PropertyChangeListener;
|
| 42 | 42 |
import java.util.ArrayList;
|
| 43 |
-import java.util.Collection;
|
|
| 44 | 43 |
import java.util.Collections;
|
| 45 | 44 |
import java.util.Date;
|
| 46 | 45 |
import java.util.LinkedList;
|
| ... | ... | @@ -89,6 +88,11 @@ public class NonTargetCatchReleaseUIHandler extends ContentTableUIHandler<SetSei |
| 89 | 88 |
Boolean newValue = (Boolean) evt.getNewValue();
|
| 90 | 89 |
onToggleTimeEditorSliderChanged(newValue);
|
| 91 | 90 |
};
|
| 91 |
+ addReferentialFilter(NonTargetCatchReleaseDto.PROPERTY_SPECIES, incomingReferences -> {
|
|
| 92 |
+ ReferentialReferenceSet<SpeciesDto> sampleSpecies = getNonTargetCatchReleaseService().getSampleSpecies(getSelectedParentId());
|
|
| 93 |
+ return new LinkedList<>(sampleSpecies.getReferences());
|
|
| 94 |
+// return ReferentialReferences.filterEnabled(result);
|
|
| 95 |
+ });
|
|
| 92 | 96 |
}
|
| 93 | 97 |
|
| 94 | 98 |
private void updateSpecies(ReferentialReference species) {
|
| ... | ... | @@ -254,29 +258,6 @@ public class NonTargetCatchReleaseUIHandler extends ContentTableUIHandler<SetSei |
| 254 | 258 |
loadReferentialReferenceSetsInModel(form);
|
| 255 | 259 |
getModel().setForm(form);
|
| 256 | 260 |
SetSeineNonTargetCatchReleaseHelper.copySetSeineNonTargetCatchReleaseDto(form.getObject(), getBean());
|
| 257 |
- }
|
|
| 258 |
- |
|
| 259 |
- @Override
|
|
| 260 |
- protected <D extends ReferentialDto> Collection<ReferentialReference<D>> filterReferentialReferences(Class<D> dtoType, String propertyName, LinkedList<ReferentialReference<D>> incomingReferences) {
|
|
| 261 |
- |
|
| 262 |
- Collection<ReferentialReference<D>> result = super.filterReferentialReferences(dtoType, propertyName, incomingReferences);
|
|
| 263 |
- |
|
| 264 |
- switch (propertyName) {
|
|
| 265 |
- |
|
| 266 |
- case NonTargetCatchReleaseDto.PROPERTY_SPECIES: {
|
|
| 267 |
- |
|
| 268 |
- result = (Collection) getNonTargetCatchReleaseService().getSampleSpecies(getSelectedParentId()).getReferences();
|
|
| 269 |
- |
|
| 270 |
- if (log.isDebugEnabled()) {
|
|
| 271 |
- log.debug(String.format("Filter referential references (type %s - property %s), final size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size()));
|
|
| 272 |
- }
|
|
| 273 |
- }
|
|
| 274 |
- |
|
| 275 |
- break;
|
|
| 276 |
- |
|
| 277 |
- }
|
|
| 278 |
- |
|
| 279 |
- return result;
|
|
| 280 | 261 |
|
| 281 | 262 |
}
|
| 282 | 263 |
|
| ... | ... | @@ -33,7 +33,6 @@ import fr.ird.observe.services.decoration.decorators.ReferentialReferenceDecorat |
| 33 | 33 |
import fr.ird.observe.services.dto.form.Form;
|
| 34 | 34 |
import fr.ird.observe.services.dto.reference.ReferentialReference;
|
| 35 | 35 |
import fr.ird.observe.services.dto.reference.ReferentialReferences;
|
| 36 |
-import fr.ird.observe.services.dto.referential.ReferentialDto;
|
|
| 37 | 36 |
import fr.ird.observe.services.dto.referential.SpeciesDto;
|
| 38 | 37 |
import fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto;
|
| 39 | 38 |
import fr.ird.observe.services.dto.referential.seine.SpeciesFateDto;
|
| ... | ... | @@ -42,11 +41,8 @@ import fr.ird.observe.services.dto.seine.NonTargetCatchDto; |
| 42 | 41 |
import fr.ird.observe.services.dto.seine.NonTargetCatchHelper;
|
| 43 | 42 |
import fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchDto;
|
| 44 | 43 |
import fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchHelper;
|
| 45 |
-import fr.ird.observe.services.service.data.seine.TripSeineService;
|
|
| 46 | 44 |
import java.beans.PropertyChangeListener;
|
| 47 | 45 |
import java.util.ArrayList;
|
| 48 |
-import java.util.Collection;
|
|
| 49 |
-import java.util.LinkedList;
|
|
| 50 | 46 |
import java.util.List;
|
| 51 | 47 |
import java.util.Set;
|
| 52 | 48 |
import javax.swing.JComponent;
|
| ... | ... | @@ -374,36 +370,16 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeineNonTa |
| 374 | 370 |
loadReferentialReferenceSetsInModel(form);
|
| 375 | 371 |
getModel().setForm(form);
|
| 376 | 372 |
SetSeineNonTargetCatchHelper.copySetSeineNonTargetCatchDto(form.getObject(), getBean());
|
| 377 |
- }
|
|
| 378 |
- |
|
| 379 |
- @Override
|
|
| 380 |
- protected <D extends ReferentialDto> Collection<ReferentialReference<D>> filterReferentialReferences(Class<D> dtoType, String propertyName, LinkedList<ReferentialReference<D>> incomingReferences) {
|
|
| 381 |
- |
|
| 382 |
- Collection<ReferentialReference<D>> result = super.filterReferentialReferences(dtoType, propertyName, incomingReferences);
|
|
| 383 |
- |
|
| 384 |
- switch (propertyName) {
|
|
| 385 |
- |
|
| 386 |
- case NonTargetCatchDto.PROPERTY_SPECIES: {
|
|
| 387 |
- |
|
| 388 |
- String speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListSeineNonTargetCatchId();
|
|
| 389 |
- String tripSeineId = getDataContext().getSelectedTripSeineId();
|
|
| 373 |
+ addReferentialFilter(NonTargetCatchDto.PROPERTY_SPECIES, (ReferentialReferencesFilter<SpeciesDto>) incomingReferences -> {
|
|
| 390 | 374 |
|
| 391 |
- TripSeineService tripSeineService = getTripSeineService();
|
|
| 392 |
- result = (List) tripSeineService.getSpeciesByListAndTrip(tripSeineId, speciesListId);
|
|
| 375 |
+ String speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListSeineNonTargetCatchId();
|
|
| 376 |
+ String tripLonglineId = getDataContext().getSelectedTripLonglineId();
|
|
| 393 | 377 |
|
| 394 |
- result = ReferentialReferences.filterEnabled(result);
|
|
| 378 |
+ List<ReferentialReference<SpeciesDto>> result = getTripSeineService().getSpeciesByListAndTrip(tripLonglineId, speciesListId);
|
|
| 395 | 379 |
|
| 396 |
- if (log.isDebugEnabled()) {
|
|
| 397 |
- log.debug(String.format("Filter referential references (type %s - property %s), final size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size()));
|
|
| 398 |
- }
|
|
| 399 |
- }
|
|
| 400 |
- |
|
| 401 |
- break;
|
|
| 402 |
- |
|
| 403 |
- }
|
|
| 404 |
- |
|
| 405 |
- return result;
|
|
| 380 |
+ return ReferentialReferences.filterEnabled(result);
|
|
| 406 | 381 |
|
| 382 |
+ });
|
|
| 407 | 383 |
}
|
| 408 | 384 |
|
| 409 | 385 |
boolean showReasonForDiscard(ReferentialReference<SpeciesFateDto> speciesFate) {
|
| ... | ... | @@ -29,7 +29,7 @@ import fr.ird.observe.client.ui.content.ContentMode; |
| 29 | 29 |
import fr.ird.observe.client.ui.content.table.ContentTableModel;
|
| 30 | 30 |
import fr.ird.observe.services.dto.form.Form;
|
| 31 | 31 |
import fr.ird.observe.services.dto.reference.ReferentialReference;
|
| 32 |
-import fr.ird.observe.services.dto.referential.ReferentialDto;
|
|
| 32 |
+import fr.ird.observe.services.dto.reference.ReferentialReferenceSet;
|
|
| 33 | 33 |
import fr.ird.observe.services.dto.referential.SexDto;
|
| 34 | 34 |
import fr.ird.observe.services.dto.referential.SizeMeasureTypeDto;
|
| 35 | 35 |
import fr.ird.observe.services.dto.referential.SpeciesDto;
|
| ... | ... | @@ -64,6 +64,19 @@ public class NonTargetSampleUIHandler extends AbstractSampleUIHandler<NonTargetS |
| 64 | 64 |
/** Logger */
|
| 65 | 65 |
private static final Log log = LogFactory.getLog(NonTargetSampleUIHandler.class);
|
| 66 | 66 |
|
| 67 |
+ NonTargetSampleUIHandler() {
|
|
| 68 |
+ addReferentialFilter(NonTargetLengthDto.PROPERTY_SPECIES, incomingReferences -> {
|
|
| 69 |
+ ReferentialReferenceSet<SpeciesDto> sampleSpecies = getNonTargetSampleService().getSampleSpecies(getSelectedParentId());
|
|
| 70 |
+ return new LinkedList<>(sampleSpecies.getReferences());
|
|
| 71 |
+// return ReferentialReferences.filterEnabled(result);
|
|
| 72 |
+ });
|
|
| 73 |
+ addReferentialFilter(NonTargetLengthDto.PROPERTY_SPECIES_FATE, incomingReferences -> {
|
|
| 74 |
+ Collection<ReferentialReference<SpeciesFateDto>> speciesFate = getModel().getForm().getObject().getSpeciesFate();
|
|
| 75 |
+ return new LinkedList<>(speciesFate);
|
|
| 76 |
+// return ReferentialReferences.filterEnabled(result);
|
|
| 77 |
+ });
|
|
| 78 |
+ }
|
|
| 79 |
+ |
|
| 67 | 80 |
@Override
|
| 68 | 81 |
public void resetIsWeightComputed() {
|
| 69 | 82 |
getTableEditBean().setIsWeightComputed(false);
|
| ... | ... | @@ -314,42 +327,6 @@ public class NonTargetSampleUIHandler extends AbstractSampleUIHandler<NonTargetS |
| 314 | 327 |
updateUiWithReferenceSetsFromModel();
|
| 315 | 328 |
|
| 316 | 329 |
NonTargetSampleHelper.copyNonTargetSampleDto(form.getObject(), getBean());
|
| 317 |
- }
|
|
| 318 |
- |
|
| 319 |
- @Override
|
|
| 320 |
- protected <D extends ReferentialDto> Collection<ReferentialReference<D>> filterReferentialReferences(Class<D> dtoType, String propertyName, LinkedList<ReferentialReference<D>> incomingReferences) {
|
|
| 321 |
- |
|
| 322 |
- Collection<ReferentialReference<D>> result = super.filterReferentialReferences(dtoType, propertyName, incomingReferences);
|
|
| 323 |
- |
|
| 324 |
- switch (propertyName) {
|
|
| 325 |
- |
|
| 326 |
- case NonTargetLengthDto.PROPERTY_SPECIES: {
|
|
| 327 |
- |
|
| 328 |
- result = (Collection) getNonTargetSampleService().getSampleSpecies(getSelectedParentId()).getReferences();
|
|
| 329 |
- |
|
| 330 |
- if (log.isDebugEnabled()) {
|
|
| 331 |
- log.debug(String.format("Filter referential references (type %s - property %s), final size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size()));
|
|
| 332 |
- }
|
|
| 333 |
- }
|
|
| 334 |
- |
|
| 335 |
- break;
|
|
| 336 |
- |
|
| 337 |
- case NonTargetLengthDto.PROPERTY_SPECIES_FATE: {
|
|
| 338 |
- |
|
| 339 |
- // on conserve uniquement les devenir utilisés dans les captures
|
|
| 340 |
- Collection<ReferentialReference<SpeciesFateDto>> speciesFate = getModel().getForm().getObject().getSpeciesFate();
|
|
| 341 |
- result = (Collection) speciesFate;
|
|
| 342 |
- |
|
| 343 |
- if (log.isDebugEnabled()) {
|
|
| 344 |
- log.debug(String.format("Filter referential references (type %s - property %s), final size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size()));
|
|
| 345 |
- }
|
|
| 346 |
- }
|
|
| 347 |
- |
|
| 348 |
- break;
|
|
| 349 |
- |
|
| 350 |
- }
|
|
| 351 |
- |
|
| 352 |
- return result;
|
|
| 353 | 330 |
|
| 354 | 331 |
}
|
| 355 | 332 |
|
| ... | ... | @@ -28,7 +28,6 @@ import fr.ird.observe.client.ui.content.table.ContentTableUIHandler; |
| 28 | 28 |
import fr.ird.observe.services.dto.form.Form;
|
| 29 | 29 |
import fr.ird.observe.services.dto.reference.ReferentialReference;
|
| 30 | 30 |
import fr.ird.observe.services.dto.reference.ReferentialReferences;
|
| 31 |
-import fr.ird.observe.services.dto.referential.ReferentialDto;
|
|
| 32 | 31 |
import fr.ird.observe.services.dto.referential.SpeciesDto;
|
| 33 | 32 |
import fr.ird.observe.services.dto.referential.SpeciesListDto;
|
| 34 | 33 |
import fr.ird.observe.services.dto.referential.seine.SpeciesStatusDto;
|
| ... | ... | @@ -37,9 +36,7 @@ import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; |
| 37 | 36 |
import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesHelper;
|
| 38 | 37 |
import fr.ird.observe.services.dto.seine.ObjectObservedSpeciesDto;
|
| 39 | 38 |
import fr.ird.observe.services.dto.seine.ObjectSchoolEstimateDto;
|
| 40 |
-import fr.ird.observe.services.service.referential.ReferentialService;
|
|
| 41 |
-import java.util.Collection;
|
|
| 42 |
-import java.util.LinkedList;
|
|
| 39 |
+import java.util.List;
|
|
| 43 | 40 |
import java.util.Set;
|
| 44 | 41 |
import javax.swing.JTable;
|
| 45 | 42 |
import javax.swing.table.DefaultTableCellRenderer;
|
| ... | ... | @@ -61,6 +58,17 @@ public class ObjectObservedSpeciesUIHandler extends ContentTableUIHandler<Floati |
| 61 | 58 |
|
| 62 | 59 |
ObjectObservedSpeciesUIHandler() {
|
| 63 | 60 |
super(DataContextType.SetSeine);
|
| 61 |
+ addReferentialFilter(ObjectSchoolEstimateDto.PROPERTY_SPECIES, (ReferentialReferencesFilter<SpeciesDto>) incomingReferences -> {
|
|
| 62 |
+ String speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListSeineObjectObservedSpeciesId();
|
|
| 63 |
+ Form<SpeciesListDto> speciesListDtoForm = getReferentialService().loadForm(SpeciesListDto.class, speciesListId);
|
|
| 64 |
+ SpeciesListDto speciesListDto = speciesListDtoForm.getObject();
|
|
| 65 |
+ |
|
| 66 |
+ Set<String> speciesIds = speciesListDto.getSpeciesIds();
|
|
| 67 |
+ |
|
| 68 |
+ List<ReferentialReference<SpeciesDto>> result = ReferentialReferences.filterContains(incomingReferences, speciesIds);
|
|
| 69 |
+ return ReferentialReferences.filterEnabled(result);
|
|
| 70 |
+ });
|
|
| 71 |
+ |
|
| 64 | 72 |
}
|
| 65 | 73 |
|
| 66 | 74 |
@Override
|
| ... | ... | @@ -110,36 +118,4 @@ public class ObjectObservedSpeciesUIHandler extends ContentTableUIHandler<Floati |
| 110 | 118 |
getModel().setForm(form);
|
| 111 | 119 |
FloatingObjectObservedSpeciesHelper.copyFloatingObjectObservedSpeciesDto(form.getObject(), getBean());
|
| 112 | 120 |
}
|
| 113 |
- |
|
| 114 |
- @Override
|
|
| 115 |
- protected <D extends ReferentialDto> Collection<ReferentialReference<D>> filterReferentialReferences(Class<D> dtoType, String propertyName, LinkedList<ReferentialReference<D>> incomingReferences) {
|
|
| 116 |
- |
|
| 117 |
- Collection<ReferentialReference<D>> result = super.filterReferentialReferences(dtoType, propertyName, incomingReferences);
|
|
| 118 |
- |
|
| 119 |
- switch (propertyName) {
|
|
| 120 |
- |
|
| 121 |
- case ObjectSchoolEstimateDto.PROPERTY_SPECIES: {
|
|
| 122 |
- String speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListSeineObjectObservedSpeciesId();
|
|
| 123 |
- |
|
| 124 |
- ReferentialService referentialService = getReferentialService();
|
|
| 125 |
- Form<SpeciesListDto> speciesListDtoForm = referentialService.loadForm(SpeciesListDto.class, speciesListId);
|
|
| 126 |
- SpeciesListDto speciesListDto = speciesListDtoForm.getObject();
|
|
| 127 |
- |
|
| 128 |
- Set<String> speciesIds = speciesListDto.getSpeciesIds();
|
|
| 129 |
- |
|
| 130 |
- result = ReferentialReferences.filterContains(result, speciesIds);
|
|
| 131 |
- |
|
| 132 |
- if (log.isDebugEnabled()) {
|
|
| 133 |
- log.debug(String.format("Filter referential references (type %s - property %s), final size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size()));
|
|
| 134 |
- }
|
|
| 135 |
- }
|
|
| 136 |
- |
|
| 137 |
- break;
|
|
| 138 |
- |
|
| 139 |
- }
|
|
| 140 |
- |
|
| 141 |
- return result;
|
|
| 142 |
- |
|
| 143 |
- }
|
|
| 144 |
- |
|
| 145 | 121 |
}
|
| ... | ... | @@ -28,16 +28,13 @@ import fr.ird.observe.client.ui.content.table.ContentTableUIHandler; |
| 28 | 28 |
import fr.ird.observe.services.dto.form.Form;
|
| 29 | 29 |
import fr.ird.observe.services.dto.reference.ReferentialReference;
|
| 30 | 30 |
import fr.ird.observe.services.dto.reference.ReferentialReferences;
|
| 31 |
-import fr.ird.observe.services.dto.referential.ReferentialDto;
|
|
| 32 | 31 |
import fr.ird.observe.services.dto.referential.SpeciesDto;
|
| 33 | 32 |
import fr.ird.observe.services.dto.referential.SpeciesListDto;
|
| 34 | 33 |
import fr.ird.observe.services.dto.result.SaveResultDto;
|
| 35 | 34 |
import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto;
|
| 36 | 35 |
import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateHelper;
|
| 37 | 36 |
import fr.ird.observe.services.dto.seine.ObjectSchoolEstimateDto;
|
| 38 |
-import fr.ird.observe.services.service.referential.ReferentialService;
|
|
| 39 |
-import java.util.Collection;
|
|
| 40 |
-import java.util.LinkedList;
|
|
| 37 |
+import java.util.List;
|
|
| 41 | 38 |
import java.util.Set;
|
| 42 | 39 |
import javax.swing.JTable;
|
| 43 | 40 |
import javax.swing.table.DefaultTableCellRenderer;
|
| ... | ... | @@ -60,6 +57,16 @@ public class ObjectSchoolEstimateUIHandler extends ContentTableUIHandler<Floatin |
| 60 | 57 |
|
| 61 | 58 |
ObjectSchoolEstimateUIHandler() {
|
| 62 | 59 |
super(DataContextType.SetSeine);
|
| 60 |
+ addReferentialFilter(ObjectSchoolEstimateDto.PROPERTY_SPECIES, (ReferentialReferencesFilter<SpeciesDto>) incomingReferences -> {
|
|
| 61 |
+ String speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListSeineObjectSchoolEstimateId();
|
|
| 62 |
+ Form<SpeciesListDto> speciesListDtoForm = getReferentialService().loadForm(SpeciesListDto.class, speciesListId);
|
|
| 63 |
+ SpeciesListDto speciesListDto = speciesListDtoForm.getObject();
|
|
| 64 |
+ |
|
| 65 |
+ Set<String> speciesIds = speciesListDto.getSpeciesIds();
|
|
| 66 |
+ |
|
| 67 |
+ List<ReferentialReference<SpeciesDto>> result = ReferentialReferences.filterContains(incomingReferences, speciesIds);
|
|
| 68 |
+ return ReferentialReferences.filterEnabled(result);
|
|
| 69 |
+ });
|
|
| 63 | 70 |
}
|
| 64 | 71 |
|
| 65 | 72 |
@Override
|
| ... | ... | @@ -107,34 +114,4 @@ public class ObjectSchoolEstimateUIHandler extends ContentTableUIHandler<Floatin |
| 107 | 114 |
FloatingObjectSchoolEstimateHelper.copyFloatingObjectSchoolEstimateDto(form.getObject(), getBean());
|
| 108 | 115 |
}
|
| 109 | 116 |
|
| 110 |
- @Override
|
|
| 111 |
- protected <D extends ReferentialDto> Collection<ReferentialReference<D>> filterReferentialReferences(Class<D> dtoType, String propertyName, LinkedList<ReferentialReference<D>> incomingReferences) {
|
|
| 112 |
- |
|
| 113 |
- Collection<ReferentialReference<D>> result = super.filterReferentialReferences(dtoType, propertyName, incomingReferences);
|
|
| 114 |
- |
|
| 115 |
- switch (propertyName) {
|
|
| 116 |
- |
|
| 117 |
- case ObjectSchoolEstimateDto.PROPERTY_SPECIES: {
|
|
| 118 |
- String speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListSeineObjectSchoolEstimateId();
|
|
| 119 |
- |
|
| 120 |
- ReferentialService referentialService = getReferentialService();
|
|
| 121 |
- Form<SpeciesListDto> speciesListDtoForm = referentialService.loadForm(SpeciesListDto.class, speciesListId);
|
|
| 122 |
- SpeciesListDto speciesListDto = speciesListDtoForm.getObject();
|
|
| 123 |
- |
|
| 124 |
- Set<String> speciesIds = speciesListDto.getSpeciesIds();
|
|
| 125 |
- result = ReferentialReferences.filterContains(result, speciesIds);
|
|
| 126 |
- |
|
| 127 |
- if (log.isDebugEnabled()) {
|
|
| 128 |
- log.debug(String.format("Filter referential references (type %s - property %s), final size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size()));
|
|
| 129 |
- }
|
|
| 130 |
- }
|
|
| 131 |
- |
|
| 132 |
- break;
|
|
| 133 |
- |
|
| 134 |
- }
|
|
| 135 |
- |
|
| 136 |
- return result;
|
|
| 137 |
- |
|
| 138 |
- }
|
|
| 139 |
- |
|
| 140 | 117 |
}
|
| ... | ... | @@ -29,25 +29,18 @@ import fr.ird.observe.client.ui.content.table.ContentTableUIHandler; |
| 29 | 29 |
import fr.ird.observe.services.dto.form.Form;
|
| 30 | 30 |
import fr.ird.observe.services.dto.reference.ReferentialReference;
|
| 31 | 31 |
import fr.ird.observe.services.dto.reference.ReferentialReferences;
|
| 32 |
-import fr.ird.observe.services.dto.referential.ReferentialDto;
|
|
| 33 | 32 |
import fr.ird.observe.services.dto.referential.SpeciesDto;
|
| 34 | 33 |
import fr.ird.observe.services.dto.result.SaveResultDto;
|
| 35 |
-import fr.ird.observe.services.dto.seine.ObjectSchoolEstimateDto;
|
|
| 36 | 34 |
import fr.ird.observe.services.dto.seine.SchoolEstimateDto;
|
| 37 | 35 |
import fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDto;
|
| 38 | 36 |
import fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateHelper;
|
| 39 |
-import fr.ird.observe.services.service.data.seine.TripSeineService;
|
|
| 40 |
-import java.util.Collection;
|
|
| 41 | 37 |
import java.util.Collections;
|
| 42 |
-import java.util.LinkedList;
|
|
| 43 | 38 |
import java.util.List;
|
| 44 | 39 |
import java.util.Set;
|
| 45 | 40 |
import java.util.stream.Collectors;
|
| 46 | 41 |
import javax.swing.JComponent;
|
| 47 | 42 |
import javax.swing.JTable;
|
| 48 | 43 |
import javax.swing.table.DefaultTableCellRenderer;
|
| 49 |
-import org.apache.commons.logging.Log;
|
|
| 50 |
-import org.apache.commons.logging.LogFactory;
|
|
| 51 | 44 |
import org.nuiton.jaxx.runtime.spi.UIHandler;
|
| 52 | 45 |
|
| 53 | 46 |
|
| ... | ... | @@ -59,11 +52,15 @@ import static org.nuiton.i18n.I18n.n; |
| 59 | 52 |
*/
|
| 60 | 53 |
public class SchoolEstimateUIHandler extends ContentTableUIHandler<SetSeineSchoolEstimateDto, SchoolEstimateDto, SchoolEstimateUI> implements UIHandler<SchoolEstimateUI> {
|
| 61 | 54 |
|
| 62 |
- /** Logger */
|
|
| 63 |
- private static final Log log = LogFactory.getLog(SchoolEstimateUIHandler.class);
|
|
| 64 |
- |
|
| 65 | 55 |
SchoolEstimateUIHandler() {
|
| 66 | 56 |
super(DataContextType.SetSeine);
|
| 57 |
+ addReferentialFilter(SchoolEstimateDto.PROPERTY_SPECIES, (ReferentialReferencesFilter<SpeciesDto>) incomingReferences -> {
|
|
| 58 |
+ String speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListSeineSchoolEstimateId();
|
|
| 59 |
+ |
|
| 60 |
+ String tripSeineId = getDataContext().getSelectedTripSeineId();
|
|
| 61 |
+ List<ReferentialReference<SpeciesDto>> result = getTripSeineService().getSpeciesByListAndTrip(tripSeineId, speciesListId);
|
|
| 62 |
+ return ReferentialReferences.filterEnabled(result);
|
|
| 63 |
+ });
|
|
| 67 | 64 |
}
|
| 68 | 65 |
|
| 69 | 66 |
@Override
|
| ... | ... | @@ -138,34 +135,4 @@ public class SchoolEstimateUIHandler extends ContentTableUIHandler<SetSeineSchoo |
| 138 | 135 |
SetSeineSchoolEstimateHelper.copySetSeineSchoolEstimateDto(form.getObject(), getBean());
|
| 139 | 136 |
}
|
| 140 | 137 |
|
| 141 |
- @Override
|
|
| 142 |
- protected <D extends ReferentialDto> Collection<ReferentialReference<D>> filterReferentialReferences(Class<D> dtoType, String propertyName, LinkedList<ReferentialReference<D>> incomingReferences) {
|
|
| 143 |
- |
|
| 144 |
- Collection<ReferentialReference<D>> result = super.filterReferentialReferences(dtoType, propertyName, incomingReferences);
|
|
| 145 |
- |
|
| 146 |
- switch (propertyName) {
|
|
| 147 |
- |
|
| 148 |
- case ObjectSchoolEstimateDto.PROPERTY_SPECIES: {
|
|
| 149 |
- |
|
| 150 |
- String speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListSeineSchoolEstimateId();
|
|
| 151 |
- String tripSeineId = getDataContext().getSelectedTripSeineId();
|
|
| 152 |
- |
|
| 153 |
- TripSeineService tripSeineService = getTripSeineService();
|
|
| 154 |
- result = (List) tripSeineService.getSpeciesByListAndTrip(tripSeineId, speciesListId);
|
|
| 155 |
- |
|
| 156 |
- result = ReferentialReferences.filterEnabled(result);
|
|
| 157 |
- |
|
| 158 |
- if (log.isDebugEnabled()) {
|
|
| 159 |
- log.debug(String.format("Filter referential references (type %s - property %s), final size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size()));
|
|
| 160 |
- }
|
|
| 161 |
- }
|
|
| 162 |
- |
|
| 163 |
- break;
|
|
| 164 |
- |
|
| 165 |
- }
|
|
| 166 |
- |
|
| 167 |
- return result;
|
|
| 168 |
- |
|
| 169 |
- }
|
|
| 170 |
- |
|
| 171 | 138 |
}
|
| ... | ... | @@ -31,20 +31,15 @@ import fr.ird.observe.client.ui.content.table.ContentTableUIHandler; |
| 31 | 31 |
import fr.ird.observe.services.dto.form.Form;
|
| 32 | 32 |
import fr.ird.observe.services.dto.reference.ReferentialReference;
|
| 33 | 33 |
import fr.ird.observe.services.dto.reference.ReferentialReferences;
|
| 34 |
-import fr.ird.observe.services.dto.referential.ReferentialDto;
|
|
| 35 | 34 |
import fr.ird.observe.services.dto.referential.SpeciesDto;
|
| 36 | 35 |
import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto;
|
| 37 | 36 |
import fr.ird.observe.services.dto.referential.seine.WeightCategoryHelper;
|
| 38 | 37 |
import fr.ird.observe.services.dto.result.SaveResultDto;
|
| 39 |
-import fr.ird.observe.services.dto.seine.ObjectSchoolEstimateDto;
|
|
| 40 | 38 |
import fr.ird.observe.services.dto.seine.SetSeineTargetCatchDto;
|
| 41 | 39 |
import fr.ird.observe.services.dto.seine.SetSeineTargetCatchHelper;
|
| 42 | 40 |
import fr.ird.observe.services.dto.seine.TargetCatchDto;
|
| 43 | 41 |
import fr.ird.observe.services.dto.seine.TargetCatchHelper;
|
| 44 |
-import fr.ird.observe.services.service.data.seine.TripSeineService;
|
|
| 45 |
-import java.util.Collection;
|
|
| 46 | 42 |
import java.util.Collections;
|
| 47 |
-import java.util.LinkedList;
|
|
| 48 | 43 |
import java.util.List;
|
| 49 | 44 |
import java.util.Set;
|
| 50 | 45 |
import javax.swing.JComponent;
|
| ... | ... | @@ -72,6 +67,13 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa |
| 72 | 67 |
|
| 73 | 68 |
TargetCatchUIHandler() {
|
| 74 | 69 |
super(DataContextType.SetSeine);
|
| 70 |
+ addReferentialFilter(TargetCatchDto.PROPERTY_SPECIES, (ReferentialReferencesFilter<SpeciesDto>) incomingReferences -> {
|
|
| 71 |
+ String speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListSeineTargetCatchId();
|
|
| 72 |
+ |
|
| 73 |
+ String tripSeineId = getDataContext().getSelectedTripSeineId();
|
|
| 74 |
+ List<ReferentialReference<SpeciesDto>> result = getTripSeineService().getSpeciesByListAndTrip(tripSeineId, speciesListId);
|
|
| 75 |
+ return ReferentialReferences.filterEnabled(result);
|
|
| 76 |
+ });
|
|
| 75 | 77 |
}
|
| 76 | 78 |
|
| 77 | 79 |
@Override
|
| ... | ... | @@ -287,34 +289,4 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa |
| 287 | 289 |
SetSeineTargetCatchHelper.copySetSeineTargetCatchDto(form.getObject(), getBean());
|
| 288 | 290 |
}
|
| 289 | 291 |
|
| 290 |
- @Override
|
|
| 291 |
- protected <D extends ReferentialDto> Collection<ReferentialReference<D>> filterReferentialReferences(Class<D> dtoType, String propertyName, LinkedList<ReferentialReference<D>> incomingReferences) {
|
|
| 292 |
- |
|
| 293 |
- Collection<ReferentialReference<D>> result = super.filterReferentialReferences(dtoType, propertyName, incomingReferences);
|
|
| 294 |
- |
|
| 295 |
- switch (propertyName) {
|
|
| 296 |
- |
|
| 297 |
- case ObjectSchoolEstimateDto.PROPERTY_SPECIES: {
|
|
| 298 |
- |
|
| 299 |
- String speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListSeineTargetCatchId();
|
|
| 300 |
- String tripSeineId = getDataContext().getSelectedTripSeineId();
|
|
| 301 |
- |
|
| 302 |
- TripSeineService tripSeineService = getTripSeineService();
|
|
| 303 |
- result = (List) tripSeineService.getSpeciesByListAndTrip(tripSeineId, speciesListId);
|
|
| 304 |
- |
|
| 305 |
- result = ReferentialReferences.filterEnabled(result);
|
|
| 306 |
- |
|
| 307 |
- if (log.isDebugEnabled()) {
|
|
| 308 |
- log.debug(String.format("Filter referential references (type %s - property %s), final size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size()));
|
|
| 309 |
- }
|
|
| 310 |
- }
|
|
| 311 |
- |
|
| 312 |
- break;
|
|
| 313 |
- |
|
| 314 |
- }
|
|
| 315 |
- |
|
| 316 |
- return result;
|
|
| 317 |
- |
|
| 318 |
- }
|
|
| 319 |
- |
|
| 320 | 292 |
}
|
| ... | ... | @@ -31,22 +31,18 @@ import fr.ird.observe.client.ui.content.table.ContentTableUIHandler; |
| 31 | 31 |
import fr.ird.observe.services.dto.form.Form;
|
| 32 | 32 |
import fr.ird.observe.services.dto.reference.ReferentialReference;
|
| 33 | 33 |
import fr.ird.observe.services.dto.reference.ReferentialReferences;
|
| 34 |
-import fr.ird.observe.services.dto.referential.ReferentialDto;
|
|
| 35 | 34 |
import fr.ird.observe.services.dto.referential.SpeciesDto;
|
| 36 | 35 |
import fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto;
|
| 37 | 36 |
import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto;
|
| 38 | 37 |
import fr.ird.observe.services.dto.referential.seine.WeightCategoryHelper;
|
| 39 | 38 |
import fr.ird.observe.services.dto.result.SaveResultDto;
|
| 40 |
-import fr.ird.observe.services.dto.seine.ObjectSchoolEstimateDto;
|
|
| 41 | 39 |
import fr.ird.observe.services.dto.seine.SetSeineTargetCatchDto;
|
| 42 | 40 |
import fr.ird.observe.services.dto.seine.SetSeineTargetCatchHelper;
|
| 43 | 41 |
import fr.ird.observe.services.dto.seine.TargetCatchDto;
|
| 44 | 42 |
import fr.ird.observe.services.dto.seine.TargetCatchHelper;
|
| 45 |
-import fr.ird.observe.services.service.data.seine.TripSeineService;
|
|
| 46 | 43 |
import java.util.ArrayList;
|
| 47 | 44 |
import java.util.Collection;
|
| 48 | 45 |
import java.util.Collections;
|
| 49 |
-import java.util.LinkedList;
|
|
| 50 | 46 |
import java.util.List;
|
| 51 | 47 |
import java.util.Optional;
|
| 52 | 48 |
import java.util.Set;
|
| ... | ... | @@ -75,6 +71,13 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT |
| 75 | 71 |
|
| 76 | 72 |
TargetDiscardCatchUIHandler() {
|
| 77 | 73 |
super(DataContextType.SetSeine);
|
| 74 |
+ addReferentialFilter(TargetCatchDto.PROPERTY_SPECIES, (ReferentialReferencesFilter<SpeciesDto>) incomingReferences -> {
|
|
| 75 |
+ String speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListSeineTargetCatchId();
|
|
| 76 |
+ |
|
| 77 |
+ String tripSeineId = getDataContext().getSelectedTripSeineId();
|
|
| 78 |
+ List<ReferentialReference<SpeciesDto>> result = getTripSeineService().getSpeciesByListAndTrip(tripSeineId, speciesListId);
|
|
| 79 |
+ return ReferentialReferences.filterEnabled(result);
|
|
| 80 |
+ });
|
|
| 78 | 81 |
}
|
| 79 | 82 |
|
| 80 | 83 |
@Override
|
| ... | ... | @@ -416,35 +419,4 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT |
| 416 | 419 |
SetSeineTargetCatchHelper.copySetSeineTargetCatchDto(form.getObject(), getBean());
|
| 417 | 420 |
}
|
| 418 | 421 |
|
| 419 |
- |
|
| 420 |
- @Override
|
|
| 421 |
- protected <D extends ReferentialDto> Collection<ReferentialReference<D>> filterReferentialReferences(Class<D> dtoType, String propertyName, LinkedList<ReferentialReference<D>> incomingReferences) {
|
|
| 422 |
- |
|
| 423 |
- Collection<ReferentialReference<D>> result = super.filterReferentialReferences(dtoType, propertyName, incomingReferences);
|
|
| 424 |
- |
|
| 425 |
- switch (propertyName) {
|
|
| 426 |
- |
|
| 427 |
- case ObjectSchoolEstimateDto.PROPERTY_SPECIES: {
|
|
| 428 |
- |
|
| 429 |
- String speciesListId = ObserveSwingApplicationContext.get().getConfig().getSpeciesListSeineTargetCatchId();
|
|
| 430 |
- String tripSeineId = getDataContext().getSelectedTripSeineId();
|
|
| 431 |
- |
|
| 432 |
- TripSeineService tripSeineService = getTripSeineService();
|
|
| 433 |
- result = (List) tripSeineService.getSpeciesByListAndTrip(tripSeineId, speciesListId);
|
|
| 434 |
- |
|
| 435 |
- result = ReferentialReferences.filterEnabled(result);
|
|
| 436 |
- |
|
| 437 |
- if (log.isDebugEnabled()) {
|
|
| 438 |
- log.debug(String.format("Filter referential references (type %s - property %s), final size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size()));
|
|
| 439 |
- }
|
|
| 440 |
- }
|
|
| 441 |
- |
|
| 442 |
- break;
|
|
| 443 |
- |
|
| 444 |
- }
|
|
| 445 |
- |
|
| 446 |
- return result;
|
|
| 447 |
- |
|
| 448 |
- }
|
|
| 449 |
- |
|
| 450 | 422 |
}
|
| ... | ... | @@ -29,6 +29,8 @@ import fr.ird.observe.client.ui.content.table.ContentTableModel; |
| 29 | 29 |
import fr.ird.observe.client.ui.content.table.ContentTableUI;
|
| 30 | 30 |
import fr.ird.observe.services.dto.form.Form;
|
| 31 | 31 |
import fr.ird.observe.services.dto.reference.ReferentialReference;
|
| 32 |
+import fr.ird.observe.services.dto.reference.ReferentialReferenceSet;
|
|
| 33 |
+import fr.ird.observe.services.dto.reference.ReferentialReferences;
|
|
| 32 | 34 |
import fr.ird.observe.services.dto.referential.ReferentialDto;
|
| 33 | 35 |
import fr.ird.observe.services.dto.referential.SexDto;
|
| 34 | 36 |
import fr.ird.observe.services.dto.referential.SizeMeasureTypeDto;
|
| ... | ... | @@ -73,6 +75,15 @@ public class TargetSampleUIHandler<U extends ContentTableUI<TargetSampleDto, Tar |
| 73 | 75 |
|
| 74 | 76 |
public TargetSampleUIHandler(boolean discarded) {
|
| 75 | 77 |
this.discarded = discarded;
|
| 78 |
+ addReferentialFilter(TargetLengthDto.PROPERTY_SPECIES, (ReferentialReferencesFilter<SpeciesDto>) incomingReferences -> {
|
|
| 79 |
+ List<ReferentialReference<SpeciesDto>> result = TargetSampleUIHandler.this.getTargetSampleService().getSampleSpecies(TargetSampleUIHandler.this.getSelectedParentId(), discarded);
|
|
| 80 |
+ return ReferentialReferences.filterEnabled(result);
|
|
| 81 |
+ });
|
|
| 82 |
+ addReferentialFilter(TargetLengthDto.PROPERTY_SIZE_MEASURE_TYPE, (ReferentialReferencesFilter<SizeMeasureTypeDto>) incomingReferences -> {
|
|
| 83 |
+ List<ReferentialReference<SizeMeasureTypeDto>> result = SizeMeasureTypeHelper.filterForSeine(incomingReferences);
|
|
| 84 |
+ checkSizeMeasureTypes(result);
|
|
| 85 |
+ return ReferentialReferences.filterEnabled(result);
|
|
| 86 |
+ });
|
|
| 76 | 87 |
}
|
| 77 | 88 |
|
| 78 | 89 |
@Override
|
| ... | ... | @@ -353,40 +364,6 @@ public class TargetSampleUIHandler<U extends ContentTableUI<TargetSampleDto, Tar |
| 353 | 364 |
TargetSampleHelper.copyTargetSampleDto(form.getObject(), getBean());
|
| 354 | 365 |
}
|
| 355 | 366 |
|
| 356 |
- @Override
|
|
| 357 |
- protected <D extends ReferentialDto> Collection<ReferentialReference<D>> filterReferentialReferences(Class<D> dtoType, String propertyName, LinkedList<ReferentialReference<D>> incomingReferences) {
|
|
| 358 |
- |
|
| 359 |
- Collection<ReferentialReference<D>> result = super.filterReferentialReferences(dtoType, propertyName, incomingReferences);
|
|
| 360 |
- |
|
| 361 |
- switch (propertyName) {
|
|
| 362 |
- |
|
| 363 |
- case TargetLengthDto.PROPERTY_SPECIES: {
|
|
| 364 |
- |
|
| 365 |
- result = (List) getTargetSampleService().getSampleSpecies(getSelectedParentId(), discarded);
|
|
| 366 |
- |
|
| 367 |
- if (log.isDebugEnabled()) {
|
|
| 368 |
- log.debug(String.format("Filter referential references (type %s - property %s), final size: %d", dtoType.getSimpleName(), propertyName, incomingReferences.size()));
|
|
| 369 |
- }
|
|
| 370 |
- |
|
| 371 |
- }
|
|
| 372 |
- |
|
| 373 |
- break;
|
|
| 374 |
- |
|
| 375 |
- case TargetLengthDto.PROPERTY_SIZE_MEASURE_TYPE: {
|
|
| 376 |
- |
|
| 377 |
- result = SizeMeasureTypeHelper.filterForSeine((Collection) incomingReferences);
|
|
| 378 |
- if (log.isInfoEnabled()) {
|
|
| 379 |
- log.info("Using " + result.size() + " size measure type(s).");
|
|
| 380 |
- }
|
|
| 381 |
- checkSizeMeasureTypes((List) result);
|
|
| 382 |
- }
|
|
| 383 |
- }
|
|
| 384 |
- |
|
| 385 |
- |
|
| 386 |
- return result;
|
|
| 387 |
- |
|
| 388 |
- }
|
|
| 389 |
- |
|
| 390 | 367 |
private Optional<ReferentialReference<SizeMeasureTypeDto>> getSpeciesDefaultSizeMeasureType(ReferentialReference<SpeciesDto> species) {
|
| 391 | 368 |
Optional<ReferentialReference<SizeMeasureTypeDto>> result = Optional.empty();
|
| 392 | 369 |
if (species != null) {
|