Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
-
2d694007
by Tony Chemit at 2023-04-01T17:33:51+02:00
4 changed files:
- client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/pairing/ps/RootNodeBuilder.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/logbook/ActivityUIModelStates.java
- core/api/dto/src/main/java/fr/ird/observe/dto/data/ps/pairing/RoutePairingContext.java
- core/api/dto/src/main/java/fr/ird/observe/dto/data/ps/pairing/TripPairingContext.java
Changes:
| ... | ... | @@ -130,6 +130,7 @@ public class RootNodeBuilder { |
| 130 | 130 | }
|
| 131 | 131 | |
| 132 | 132 | public void addRoute(RoutePairingResult routePairingResult) {
|
| 133 | + flushRouteNode();
|
|
| 133 | 134 | decorate(routePairingResult);
|
| 134 | 135 | if (!routePairingResult.getItems().isEmpty()) {
|
| 135 | 136 | routeNode = new RouteNode(routePairingResult.getRoute().toString());
|
| ... | ... | @@ -218,7 +218,7 @@ public class ActivityUIModelStates extends GeneratedActivityUIModelStates { |
| 218 | 218 | if (pairingContext == null || vesselActivityId == null || timeStamp == null) {
|
| 219 | 219 | activityObs = Collections.emptyList();
|
| 220 | 220 | } else {
|
| 221 | - RoutePairingContextRequest request = pairingContext.getRequest(tripId, source().getParentReference().getId(), vesselActivityId);
|
|
| 221 | + RoutePairingContextRequest request = new RoutePairingContextRequest(tripId, source().getParentReference().getId(), vesselActivityId);
|
|
| 222 | 222 | activityObs = pairingContext.getActivityObsList(request, timeStamp);
|
| 223 | 223 | }
|
| 224 | 224 | log.info(String.format("%s Found %d related observed activities.", getPrefix(), activityObs.size()));
|
| ... | ... | @@ -33,7 +33,6 @@ import java.util.Date; |
| 33 | 33 | import java.util.LinkedList;
|
| 34 | 34 | import java.util.List;
|
| 35 | 35 | import java.util.Objects;
|
| 36 | -import java.util.stream.Collectors;
|
|
| 37 | 36 | |
| 38 | 37 | /**
|
| 39 | 38 | * Created on 21/12/2021.
|
| ... | ... | @@ -43,23 +42,11 @@ import java.util.stream.Collectors; |
| 43 | 42 | */
|
| 44 | 43 | public abstract class RoutePairingContext implements ObserveDto {
|
| 45 | 44 | |
| 46 | - private RoutePairingContextRequest pairingRequest;
|
|
| 47 | 45 | private RoutePairingContextRequest lastRequest;
|
| 48 | 46 | private TripDto trip;
|
| 49 | 47 | private RouteDto route;
|
| 50 | 48 | private List<fr.ird.observe.dto.data.ps.observation.ActivityReference> candidates;
|
| 51 | 49 | |
| 52 | - public RoutePairingContextRequest getRequest(String tripId, String routeLogbookId, String vesselActivityId) {
|
|
| 53 | - if (pairingRequest == null) {
|
|
| 54 | - pairingRequest = new RoutePairingContextRequest(tripId, routeLogbookId, vesselActivityId);
|
|
| 55 | - } else {
|
|
| 56 | - pairingRequest.setTripId(tripId);
|
|
| 57 | - pairingRequest.setRouteLogbookId(routeLogbookId);
|
|
| 58 | - pairingRequest.setVesselActivityId(vesselActivityId);
|
|
| 59 | - }
|
|
| 60 | - return pairingRequest;
|
|
| 61 | - }
|
|
| 62 | - |
|
| 63 | 50 | public List<fr.ird.observe.dto.data.ps.observation.ActivityReference> getActivityObsList(RoutePairingContextRequest request, Date date) {
|
| 64 | 51 | if (date == null) {
|
| 65 | 52 | return Collections.emptyList();
|
| ... | ... | @@ -67,9 +54,7 @@ public abstract class RoutePairingContext implements ObserveDto { |
| 67 | 54 | if (!Objects.equals(request, lastRequest)) {
|
| 68 | 55 | reloadCandidates(request);
|
| 69 | 56 | }
|
| 70 | - long minDate = Dates.getYesterday(date).getTime();
|
|
| 71 | - long maxDate = DateUtils.addDays(Dates.getEndOfDay(date), 1).getTime();
|
|
| 72 | - return candidates.stream().filter(e -> filterDate(e.getDate(), minDate, maxDate)).collect(Collectors.toList());
|
|
| 57 | + return List.copyOf(candidates);
|
|
| 73 | 58 | }
|
| 74 | 59 | |
| 75 | 60 | public void reloadCandidates(RoutePairingContextRequest request) {
|
| ... | ... | @@ -31,7 +31,6 @@ import fr.ird.observe.dto.data.ps.logbook.RouteReference; |
| 31 | 31 | import fr.ird.observe.dto.referential.ReferentialLocale;
|
| 32 | 32 | |
| 33 | 33 | import java.util.ArrayList;
|
| 34 | -import java.util.Date;
|
|
| 35 | 34 | import java.util.LinkedList;
|
| 36 | 35 | import java.util.List;
|
| 37 | 36 | |
| ... | ... | @@ -71,9 +70,9 @@ public class TripPairingContext implements ObserveDto { |
| 71 | 70 | }
|
| 72 | 71 | |
| 73 | 72 | private void computeRouteResult(String tripId, String routeLogbookId, List<ActivityPairingResult> resultBuilder) {
|
| 74 | - List<fr.ird.observe.dto.data.ps.logbook.ActivityReference> activityLogbookList = getActivityLogbookList(routeLogbookId);
|
|
| 73 | + List<fr.ird.observe.dto.data.ps.logbook.ActivityReference> activityLogbookList = routePairingContext.getLogbookActivityList(routeLogbookId);
|
|
| 75 | 74 | activityLogbookList.forEach(activityLogbook -> {
|
| 76 | - RoutePairingContextRequest pairingRequest = getRequest(tripId, routeLogbookId, activityLogbook.getVesselActivityId());
|
|
| 75 | + RoutePairingContextRequest pairingRequest = new RoutePairingContextRequest(tripId, routeLogbookId, activityLogbook.getVesselActivityId());
|
|
| 77 | 76 | ActivityPairingResult activityPairingResult = computeActivityLogbook(pairingRequest, activityLogbook);
|
| 78 | 77 | if (activityPairingResult != null) {
|
| 79 | 78 | // only add if there is some data
|
| ... | ... | @@ -83,7 +82,7 @@ public class TripPairingContext implements ObserveDto { |
| 83 | 82 | }
|
| 84 | 83 | |
| 85 | 84 | private ActivityPairingResult computeActivityLogbook(RoutePairingContextRequest pairingRequest, ActivityAware activityLogbook) {
|
| 86 | - List<fr.ird.observe.dto.data.ps.observation.ActivityReference> activityObsList = getActivityObsList(pairingRequest, activityLogbook.getDate());
|
|
| 85 | + List<fr.ird.observe.dto.data.ps.observation.ActivityReference> activityObsList = routePairingContext.getActivityObsList(pairingRequest, activityLogbook.getDate());
|
|
| 87 | 86 | List<ActivityPairingResultItem> itemBuilder = new ArrayList<>(activityObsList.size());
|
| 88 | 87 | for (fr.ird.observe.dto.data.ps.observation.ActivityReference activityObs : activityObsList) {
|
| 89 | 88 | itemBuilder.add(new ActivityPairingResultItem(activityLogbook, activityObs));
|
| ... | ... | @@ -102,20 +101,6 @@ public class TripPairingContext implements ObserveDto { |
| 102 | 101 | return new ActivityPairingResult(reference, itemBuilder);
|
| 103 | 102 | }
|
| 104 | 103 | |
| 105 | - public RoutePairingContextRequest getRequest(String tripId, String routeLogbookId, String vesselActivityId) {
|
|
| 106 | - return routePairingContext.getRequest(tripId, routeLogbookId, vesselActivityId);
|
|
| 107 | - }
|
|
| 108 | - |
|
| 109 | - public List<fr.ird.observe.dto.data.ps.observation.ActivityReference> getActivityObsList(RoutePairingContextRequest request, Date date) {
|
|
| 110 | - return routePairingContext.getActivityObsList(request, date);
|
|
| 111 | - }
|
|
| 112 | - |
|
| 113 | - |
|
| 114 | - public List<fr.ird.observe.dto.data.ps.logbook.ActivityReference> getActivityLogbookList(String routeLogbookId) {
|
|
| 115 | - return routePairingContext.getLogbookActivityList(routeLogbookId);
|
|
| 116 | - }
|
|
| 117 | - |
|
| 118 | - |
|
| 119 | 104 | public TripDto loadTrip(String tripId) {
|
| 120 | 105 | TripDto result = routePairingContext.loadTrip(tripId);
|
| 121 | 106 | routePairingContext.setTrip(result);
|