Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 32971917 by Tony Chemit at 2022-03-19T13:52:46+01:00 auto update end date of trip when saving route observation - - - - - c02275e0 by Tony Chemit at 2022-03-19T13:55:57+01:00 missing validators on ps observations set - - - - - 4af4a51f by Tony Chemit at 2022-03-19T13:55:57+01:00 fix Open node isLeaf method - - - - - 6 changed files: - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/ContentOpenableUINavigationHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/ropen/ContentRootOpenableUINavigationHandler.java - client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetUI.jaxx - core/persistence/java/src/main/java/fr/ird/observe/entities/data/ps/common/TripSpi.java - core/persistence/java/src/main/java/fr/ird/observe/entities/data/ps/logbook/RouteSpi.java - core/persistence/java/src/main/java/fr/ird/observe/entities/data/ps/observation/RouteSpi.java Changes: ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/ContentOpenableUINavigationHandler.java ===================================== @@ -54,7 +54,13 @@ public abstract class ContentOpenableUINavigationHandler<N extends ContentOpenab @Override public final boolean isLeaf() { - return getNode().getInitializer().isNotPersisted() || getNode().getInitializer().isLeaf() || super.isLeaf(); + if (getNode().getInitializer().isNotPersisted()) { + return true; + } + if (!super.isLeaf()) { + return false; + } + return getNode().getInitializer().isLeaf(); } @Override ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/ropen/ContentRootOpenableUINavigationHandler.java ===================================== @@ -54,7 +54,13 @@ public abstract class ContentRootOpenableUINavigationHandler<N extends ContentRo @Override public final boolean isLeaf() { - return getNode().getInitializer().isNotPersisted() || getNode().getInitializer().isLeaf() || super.isLeaf(); + if (getNode().getInitializer().isNotPersisted()) { + return true; + } + if (!super.isLeaf()) { + return false; + } + return getNode().getInitializer().isLeaf(); } @Override ===================================== client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/SetUI.jaxx ===================================== @@ -43,6 +43,10 @@ <BeanValidator id='validator' autoField='true' beanClass='fr.ird.observe.dto.data.ps.observation.SetDto' errorTableModel='{getErrorTableModel()}' context='update'> + <field name='endDate' component='endTimeStamp'/> + <field name='endTime' component='endTimeStamp'/> + <field name='haulingEndDate' component='haulingEndTimeStamp'/> + <field name='haulingEndTime' component='haulingEndTimeStamp'/> </BeanValidator> <JPanel id="contentBody" layout='{new BorderLayout()}'> ===================================== core/persistence/java/src/main/java/fr/ird/observe/entities/data/ps/common/TripSpi.java ===================================== @@ -155,12 +155,14 @@ public class TripSpi extends GeneratedTripSpi { return new TripGroupByReferentialHelper(context); } - protected void updateEndDate(Trip entity) { + public static boolean updateEndDate(Trip entity) { Date theoreticalEndDate = entity.getTheoreticalEndDate(); Date realEndDate = entity.getEndDate(); if (realEndDate == null || theoreticalEndDate.after(realEndDate)) { entity.setEndDate(theoreticalEndDate); + return true; } + return false; } public ReferentialDtoReferenceSet<SpeciesReference> getSpeciesByListAndTrip(ServiceContext context, String tripId, String speciesListId) { ===================================== core/persistence/java/src/main/java/fr/ird/observe/entities/data/ps/logbook/RouteSpi.java ===================================== @@ -26,7 +26,9 @@ import fr.ird.observe.dto.ToolkitIdDtoBean; import fr.ird.observe.dto.data.ps.logbook.ActivityDto; import fr.ird.observe.dto.data.ps.logbook.RouteDto; import fr.ird.observe.dto.form.Form; +import fr.ird.observe.dto.result.SaveResultDto; import fr.ird.observe.entities.data.ps.common.Trip; +import fr.ird.observe.entities.data.ps.common.TripSpi; import fr.ird.observe.spi.service.ServiceContext; import io.ultreia.java4all.util.Dates; import org.apache.commons.lang3.time.DateUtils; @@ -77,6 +79,17 @@ public class RouteSpi extends GeneratedRouteSpi { super.onDelete(context, parentEntity, entityToDelete, oldCollection); } + @Override + protected SaveResultDto saveEntity(ServiceContext context, Trip parent, Route entity) { + if (TripSpi.updateEndDate(parent)) { + return newSaveHelper(context) + .update(parentSpi(), parent) + .update(this, entity) + .build(entity); + } + return super.saveEntity(context, parent, entity); + } + @Override public Set<ToolkitIdDtoBean> getRealDependencies(ServiceContext context, Set<String> ids) { return Activity.SPI.byParentId(context, ids).map(id -> ToolkitIdDtoBean.of(ActivityDto.class, id)).collect(Collectors.toSet()); ===================================== core/persistence/java/src/main/java/fr/ird/observe/entities/data/ps/observation/RouteSpi.java ===================================== @@ -27,8 +27,10 @@ import fr.ird.observe.dto.data.ps.observation.ActivityDto; import fr.ird.observe.dto.data.ps.observation.ActivityStubDto; import fr.ird.observe.dto.data.ps.observation.RouteDto; import fr.ird.observe.dto.form.Form; +import fr.ird.observe.dto.result.SaveResultDto; import fr.ird.observe.entities.data.DataEntity; import fr.ird.observe.entities.data.ps.common.Trip; +import fr.ird.observe.entities.data.ps.common.TripSpi; import fr.ird.observe.spi.service.ServiceContext; import io.ultreia.java4all.util.Dates; import org.apache.commons.lang3.time.DateUtils; @@ -87,6 +89,17 @@ public class RouteSpi extends GeneratedRouteSpi { super.onSave(context, parent, entity, dto, needCopy); } + @Override + protected SaveResultDto saveEntity(ServiceContext context, Trip parent, Route entity) { + if (TripSpi.updateEndDate(parent)) { + return newSaveHelper(context) + .update(parentSpi(), parent) + .update(this, entity) + .build(entity); + } + return super.saveEntity(context, parent, entity); + } + @SuppressWarnings("unchecked") @Override public Class<? extends DataEntity>[] getEntityTypeToCreateOnReplicate() { View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/9fcd579f4a5f7410aa71e3edd... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/9fcd579f4a5f7410aa71e3edd... You're receiving this email because of your account on gitlab.com.
participants (1)
-
Tony CHEMIT (@tchemit)