Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
-
32971917
by Tony Chemit at 2022-03-19T13:52:46+01:00
-
c02275e0
by Tony Chemit at 2022-03-19T13:55:57+01:00
-
4af4a51f
by Tony Chemit at 2022-03-19T13:55:57+01:00
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:
| ... | ... | @@ -54,7 +54,13 @@ public abstract class ContentOpenableUINavigationHandler<N extends ContentOpenab |
| 54 | 54 | |
| 55 | 55 | @Override
|
| 56 | 56 | public final boolean isLeaf() {
|
| 57 | - return getNode().getInitializer().isNotPersisted() || getNode().getInitializer().isLeaf() || super.isLeaf();
|
|
| 57 | + if (getNode().getInitializer().isNotPersisted()) {
|
|
| 58 | + return true;
|
|
| 59 | + }
|
|
| 60 | + if (!super.isLeaf()) {
|
|
| 61 | + return false;
|
|
| 62 | + }
|
|
| 63 | + return getNode().getInitializer().isLeaf();
|
|
| 58 | 64 | }
|
| 59 | 65 | |
| 60 | 66 | @Override
|
| ... | ... | @@ -54,7 +54,13 @@ public abstract class ContentRootOpenableUINavigationHandler<N extends ContentRo |
| 54 | 54 | |
| 55 | 55 | @Override
|
| 56 | 56 | public final boolean isLeaf() {
|
| 57 | - return getNode().getInitializer().isNotPersisted() || getNode().getInitializer().isLeaf() || super.isLeaf();
|
|
| 57 | + if (getNode().getInitializer().isNotPersisted()) {
|
|
| 58 | + return true;
|
|
| 59 | + }
|
|
| 60 | + if (!super.isLeaf()) {
|
|
| 61 | + return false;
|
|
| 62 | + }
|
|
| 63 | + return getNode().getInitializer().isLeaf();
|
|
| 58 | 64 | }
|
| 59 | 65 | |
| 60 | 66 | @Override
|
| ... | ... | @@ -43,6 +43,10 @@ |
| 43 | 43 | |
| 44 | 44 | <BeanValidator id='validator' autoField='true' beanClass='fr.ird.observe.dto.data.ps.observation.SetDto'
|
| 45 | 45 | errorTableModel='{getErrorTableModel()}' context='update'>
|
| 46 | + <field name='endDate' component='endTimeStamp'/>
|
|
| 47 | + <field name='endTime' component='endTimeStamp'/>
|
|
| 48 | + <field name='haulingEndDate' component='haulingEndTimeStamp'/>
|
|
| 49 | + <field name='haulingEndTime' component='haulingEndTimeStamp'/>
|
|
| 46 | 50 | </BeanValidator>
|
| 47 | 51 | |
| 48 | 52 | <JPanel id="contentBody" layout='{new BorderLayout()}'>
|
| ... | ... | @@ -155,12 +155,14 @@ public class TripSpi extends GeneratedTripSpi { |
| 155 | 155 | return new TripGroupByReferentialHelper(context);
|
| 156 | 156 | }
|
| 157 | 157 | |
| 158 | - protected void updateEndDate(Trip entity) {
|
|
| 158 | + public static boolean updateEndDate(Trip entity) {
|
|
| 159 | 159 | Date theoreticalEndDate = entity.getTheoreticalEndDate();
|
| 160 | 160 | Date realEndDate = entity.getEndDate();
|
| 161 | 161 | if (realEndDate == null || theoreticalEndDate.after(realEndDate)) {
|
| 162 | 162 | entity.setEndDate(theoreticalEndDate);
|
| 163 | + return true;
|
|
| 163 | 164 | }
|
| 165 | + return false;
|
|
| 164 | 166 | }
|
| 165 | 167 | |
| 166 | 168 | public ReferentialDtoReferenceSet<SpeciesReference> getSpeciesByListAndTrip(ServiceContext context, String tripId, String speciesListId) {
|
| ... | ... | @@ -26,7 +26,9 @@ import fr.ird.observe.dto.ToolkitIdDtoBean; |
| 26 | 26 | import fr.ird.observe.dto.data.ps.logbook.ActivityDto;
|
| 27 | 27 | import fr.ird.observe.dto.data.ps.logbook.RouteDto;
|
| 28 | 28 | import fr.ird.observe.dto.form.Form;
|
| 29 | +import fr.ird.observe.dto.result.SaveResultDto;
|
|
| 29 | 30 | import fr.ird.observe.entities.data.ps.common.Trip;
|
| 31 | +import fr.ird.observe.entities.data.ps.common.TripSpi;
|
|
| 30 | 32 | import fr.ird.observe.spi.service.ServiceContext;
|
| 31 | 33 | import io.ultreia.java4all.util.Dates;
|
| 32 | 34 | import org.apache.commons.lang3.time.DateUtils;
|
| ... | ... | @@ -77,6 +79,17 @@ public class RouteSpi extends GeneratedRouteSpi { |
| 77 | 79 | super.onDelete(context, parentEntity, entityToDelete, oldCollection);
|
| 78 | 80 | }
|
| 79 | 81 | |
| 82 | + @Override
|
|
| 83 | + protected SaveResultDto saveEntity(ServiceContext context, Trip parent, Route entity) {
|
|
| 84 | + if (TripSpi.updateEndDate(parent)) {
|
|
| 85 | + return newSaveHelper(context)
|
|
| 86 | + .update(parentSpi(), parent)
|
|
| 87 | + .update(this, entity)
|
|
| 88 | + .build(entity);
|
|
| 89 | + }
|
|
| 90 | + return super.saveEntity(context, parent, entity);
|
|
| 91 | + }
|
|
| 92 | + |
|
| 80 | 93 | @Override
|
| 81 | 94 | public Set<ToolkitIdDtoBean> getRealDependencies(ServiceContext context, Set<String> ids) {
|
| 82 | 95 | return Activity.SPI.byParentId(context, ids).map(id -> ToolkitIdDtoBean.of(ActivityDto.class, id)).collect(Collectors.toSet());
|
| ... | ... | @@ -27,8 +27,10 @@ import fr.ird.observe.dto.data.ps.observation.ActivityDto; |
| 27 | 27 | import fr.ird.observe.dto.data.ps.observation.ActivityStubDto;
|
| 28 | 28 | import fr.ird.observe.dto.data.ps.observation.RouteDto;
|
| 29 | 29 | import fr.ird.observe.dto.form.Form;
|
| 30 | +import fr.ird.observe.dto.result.SaveResultDto;
|
|
| 30 | 31 | import fr.ird.observe.entities.data.DataEntity;
|
| 31 | 32 | import fr.ird.observe.entities.data.ps.common.Trip;
|
| 33 | +import fr.ird.observe.entities.data.ps.common.TripSpi;
|
|
| 32 | 34 | import fr.ird.observe.spi.service.ServiceContext;
|
| 33 | 35 | import io.ultreia.java4all.util.Dates;
|
| 34 | 36 | import org.apache.commons.lang3.time.DateUtils;
|
| ... | ... | @@ -87,6 +89,17 @@ public class RouteSpi extends GeneratedRouteSpi { |
| 87 | 89 | super.onSave(context, parent, entity, dto, needCopy);
|
| 88 | 90 | }
|
| 89 | 91 | |
| 92 | + @Override
|
|
| 93 | + protected SaveResultDto saveEntity(ServiceContext context, Trip parent, Route entity) {
|
|
| 94 | + if (TripSpi.updateEndDate(parent)) {
|
|
| 95 | + return newSaveHelper(context)
|
|
| 96 | + .update(parentSpi(), parent)
|
|
| 97 | + .update(this, entity)
|
|
| 98 | + .build(entity);
|
|
| 99 | + }
|
|
| 100 | + return super.saveEntity(context, parent, entity);
|
|
| 101 | + }
|
|
| 102 | + |
|
| 90 | 103 | @SuppressWarnings("unchecked")
|
| 91 | 104 | @Override
|
| 92 | 105 | public Class<? extends DataEntity>[] getEntityTypeToCreateOnReplicate() {
|