[Git][ultreiaio/ird-observe][develop] 2 commits: Sanitize NonTargetSampleUI SpeciesFate referential filter
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 80d3acfd by tchemit at 2020-01-02T11:17:41+01:00 Sanitize NonTargetSampleUI SpeciesFate referential filter - - - - - e9c164f4 by tchemit at 2020-01-02T11:36:46+01:00 Bad extra zone layout in ContentTableUI - Closes #1415 - - - - - 6 changed files: - client-core/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/NonTargetSampleUIHandler.java - client-datasource-editor/src/main/java/fr/ird/observe/client/datasource/editor/content/data/table/ContentTableUI.jaxx - dto/src/main/models/Observe-20-data-ps-observation.model - server-core/src/main/filtered-resources/mapping - services-local/src/main/java/fr/ird/observe/services/local/service/data/ps/observation/NonTargetSampleServiceLocal.java - services/src/main/java/fr/ird/observe/services/service/data/ps/observation/NonTargetSampleService.java Changes: ===================================== client-core/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/NonTargetSampleUIHandler.java ===================================== @@ -21,7 +21,6 @@ */ package fr.ird.observe.client.datasource.editor.content.data.ps.observation; -import com.google.common.collect.Lists; import fr.ird.observe.client.constants.AcquisitionMode; import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableModel; import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableUILayoutFocusTraversalPolicy; @@ -50,7 +49,7 @@ import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer; import java.awt.Component; import java.awt.Container; -import java.util.Collection; +import java.util.Collections; import java.util.LinkedList; import java.util.List; import java.util.Optional; @@ -81,12 +80,12 @@ public class NonTargetSampleUIHandler extends AbstractSampleUIHandler<NonTargetS super.afterInit(ui); } - @Override - protected void onOpenBeforeOpenModel() { - super.onOpenBeforeOpenModel(); - // We can't add filter since it uses the model.form, so add them now - onAfterInitAddReferentialFilters(getModel().getReferenceCache()); - } +// @Override +// protected void onOpenBeforeOpenModel() { +// super.onOpenBeforeOpenModel(); +// // We can't add filter since it uses the model.form, so add them now +// onAfterInitAddReferentialFilters(getModel().getReferenceCache()); +// } @Override protected ContentTableUILayoutFocusTraversalPolicy<NonTargetSampleUI> createFocusTraversalPolicy() { @@ -113,9 +112,6 @@ public class NonTargetSampleUIHandler extends AbstractSampleUIHandler<NonTargetS @Override protected void onAfterInitAddReferentialFilters(ContentUIReferenceCache referenceCache) { - if (getModel().getForm() == null) { - return; - } referenceCache.addReferentialFilter(NonTargetLengthDto.PROPERTY_SPECIES, newSpeciesList()); referenceCache.addReferentialFilter(NonTargetLengthDto.PROPERTY_SPECIES_FATE, newSpeciesFateList()); } @@ -129,8 +125,8 @@ public class NonTargetSampleUIHandler extends AbstractSampleUIHandler<NonTargetS private ReferentialReferencesFilter<SpeciesFateDto, SpeciesFateReference> newSpeciesFateList() { return incomingReferences -> { - Collection<SpeciesFateReference> speciesFate = getModel().getForm().getObject().getSpeciesFate(); - return new LinkedList<>(speciesFate); + ReferentialDtoReferenceSet<SpeciesFateReference> speciesFateSet = getPsObservationNonTargetSampleService().getSampleSpeciesFate(getModel().getSelectedId()); + return new LinkedList<>(speciesFateSet.toSet()); }; } @@ -211,7 +207,6 @@ public class NonTargetSampleUIHandler extends AbstractSampleUIHandler<NonTargetS } - @SuppressWarnings("unchecked") @Override protected void onSelectedRowChanged(int editingRow, NonTargetLengthDto bean, boolean create) { ContentTableModel<NonTargetSampleDto, NonTargetLengthDto> model = getTableModel(); @@ -247,7 +242,7 @@ public class NonTargetSampleUIHandler extends AbstractSampleUIHandler<NonTargetS AcquisitionMode enumValue = AcquisitionMode.valueOf(acquisitionMode); ui.getAcquisitionModeGroup().setSelectedValue(null); ui.getAcquisitionModeGroup().setSelectedValue(enumValue); - availableEspeces = Lists.newArrayList(species); + availableEspeces = Collections.singletonList(species); sizeMeasureType = Optional.ofNullable(bean.getSizeMeasureType()); } ===================================== client-datasource-editor/src/main/java/fr/ird/observe/client/datasource/editor/content/data/table/ContentTableUI.jaxx ===================================== @@ -150,7 +150,7 @@ public abstract SwingValidator<C> getValidatorTable(); </cell> </row> <row> - <cell> + <cell fill="both"> <Table id='extraZone' decorator='boxed'/> </cell> </row> ===================================== dto/src/main/models/Observe-20-data-ps-observation.model ===================================== @@ -102,7 +102,6 @@ lengthMeasureMethod {*:0..1} fr.ird.observe.dto.referential.common.LengthMeasure data.ps.observation.NonTargetSample > data.Commentable | form=data.ps.observation.NonTargetLength nonTargetLength + {*} data.ps.observation.NonTargetLength | ordered -speciesFate {*:*} fr.ird.observe.dto.referential.ps.common.SpeciesFateReference data.ps.observation.ObjectObservedSpecies > data.Data | references=speciesLabel,speciesStatusLabel,count count + {*:1} Integer ===================================== server-core/src/main/filtered-resources/mapping ===================================== @@ -230,6 +230,7 @@ GET /api/v1/data/ps/observation/NonTargetCatchService/loadForm POST /api/v1/data/ps/observation/NonTargetCatchService/save v1.data.ps.observation.NonTargetCatchServiceRestApi.save GET /api/v1/data/ps/observation/NonTargetSampleService/canUseNonTargetSample v1.data.ps.observation.NonTargetSampleServiceRestApi.canUseNonTargetSample GET /api/v1/data/ps/observation/NonTargetSampleService/getSampleSpecies v1.data.ps.observation.NonTargetSampleServiceRestApi.getSampleSpecies +GET /api/v1/data/ps/observation/NonTargetSampleService/getSampleSpeciesFate v1.data.ps.observation.NonTargetSampleServiceRestApi.getSampleSpeciesFate GET /api/v1/data/ps/observation/NonTargetSampleService/loadForm v1.data.ps.observation.NonTargetSampleServiceRestApi.loadForm POST /api/v1/data/ps/observation/NonTargetSampleService/save v1.data.ps.observation.NonTargetSampleServiceRestApi.save GET /api/v1/data/ps/observation/ObjectObservedSpeciesService/loadForm v1.data.ps.observation.ObjectObservedSpeciesServiceRestApi.loadForm ===================================== services-local/src/main/java/fr/ird/observe/services/local/service/data/ps/observation/NonTargetSampleServiceLocal.java ===================================== @@ -32,11 +32,9 @@ import fr.ird.observe.dto.result.SaveResultDto; import fr.ird.observe.entities.data.ps.observation.NonTargetCatch; import fr.ird.observe.entities.data.ps.observation.NonTargetSample; import fr.ird.observe.entities.data.ps.observation.Set; -import fr.ird.observe.entities.referential.ps.common.SpeciesFate; import fr.ird.observe.services.local.service.ObserveServiceLocal; import fr.ird.observe.services.service.data.ps.observation.NonTargetSampleService; -import java.util.List; import java.util.stream.Collectors; /** @@ -54,14 +52,7 @@ public class NonTargetSampleServiceLocal extends ObserveServiceLocal implements public Form<NonTargetSampleDto> loadForm(String setSeineId) { Set set = DATA_PS_OBSERVATION_SET_SPI.loadEntity(getTopiaPersistenceContext(), setSeineId); NonTargetSample nonTargetSample = getNonTargetSample(set); - Form<NonTargetSampleDto> form = DATA_PS_OBSERVATION_NON_TARGET_SAMPLE_SPI.entityToForm(nonTargetSample, getReferentialLocale()); - List<SpeciesFate> entities = set.getNonTargetCatch().stream() - .map(NonTargetCatch::getSpeciesFate) - .distinct() - .collect(Collectors.toList()); - ReferentialDtoReferenceSet<SpeciesFateReference> references = REFERENTIAL_PS_COMMON_SPECIES_FATE_SPI.toReferenceSet(entities, getReferentialLocale(), null); - form.getObject().setSpeciesFate(references.toSet()); - return form; + return DATA_PS_OBSERVATION_NON_TARGET_SAMPLE_SPI.entityToForm(nonTargetSample, getReferentialLocale()); } @Override @@ -74,6 +65,16 @@ public class NonTargetSampleServiceLocal extends ObserveServiceLocal implements getReferentialLocale(), null); } + @Override + public ReferentialDtoReferenceSet<SpeciesFateReference> getSampleSpeciesFate(String setSeineId) { + Set set = DATA_PS_OBSERVATION_SET_SPI.loadEntity(getTopiaPersistenceContext(), setSeineId); + return REFERENTIAL_PS_COMMON_SPECIES_FATE_SPI.toReferenceSet(set.getNonTargetCatch().stream() + .map(NonTargetCatch::getSpeciesFate) + .distinct() + .collect(Collectors.toList()), + getReferentialLocale(), null); + } + @Override public SaveResultDto save(String setSeineId, NonTargetSampleDto dto) { Set set = DATA_PS_OBSERVATION_SET_SPI.loadEntity(getTopiaPersistenceContext(), setSeineId); ===================================== services/src/main/java/fr/ird/observe/services/service/data/ps/observation/NonTargetSampleService.java ===================================== @@ -26,6 +26,7 @@ import fr.ird.observe.dto.data.ps.observation.NonTargetSampleDto; import fr.ird.observe.dto.form.Form; import fr.ird.observe.dto.reference.ReferentialDtoReferenceSet; import fr.ird.observe.dto.referential.common.SpeciesReference; +import fr.ird.observe.dto.referential.ps.common.SpeciesFateReference; import fr.ird.observe.dto.result.SaveResultDto; import fr.ird.observe.services.service.ObserveService; import fr.ird.observe.services.spi.ReadDataPermission; @@ -51,6 +52,10 @@ public interface NonTargetSampleService extends ObserveService { @ReadDataPermission ReferentialDtoReferenceSet<SpeciesReference> getSampleSpecies(String setSeineId); + @Get + @ReadDataPermission + ReferentialDtoReferenceSet<SpeciesFateReference> getSampleSpeciesFate(String setSeineId); + @Write @WriteDataPermission @Post View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/63d388dc32b077b6048e803e3d3... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/63d388dc32b077b6048e803e3d3... You're receiving this email because of your account on gitlab.com.
participants (1)
-
Tony CHEMIT