Observe-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
April 2023
- 1 participants
- 35 discussions
[Git][ultreiaio/ird-observe][develop] Appariement des activités à la loupe - Closes #2660
by Tony CHEMIT (@tchemit) 01 Apr '23
by Tony CHEMIT (@tchemit) 01 Apr '23
01 Apr '23
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
805d64d7 by Tony Chemit at 2023-04-01T17:57:16+02:00
Appariement des activités à la loupe - Closes #2660
- - - - -
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:
=====================================
client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/pairing/ps/RootNodeBuilder.java
=====================================
@@ -31,6 +31,7 @@ import fr.ird.observe.client.datasource.actions.pairing.tree.node.GroupByNode;
import fr.ird.observe.decoration.DecoratorService;
import fr.ird.observe.dto.ProgressionModel;
import fr.ird.observe.dto.ToolkitIdLabel;
+import fr.ird.observe.dto.data.ActivityAware;
import fr.ird.observe.dto.data.ps.logbook.ActivityReference;
import fr.ird.observe.dto.data.ps.logbook.RouteReference;
import fr.ird.observe.dto.data.ps.pairing.ActivityPairingResult;
@@ -106,7 +107,7 @@ public class RootNodeBuilder {
public RootNodeBuilder(DecoratorService decoratorService) {
activityLogbookDecorator = decoratorService.getDecoratorByType(ActivityReference.class);
routeLogbookDecorator = decoratorService.getDecoratorByType(RouteReference.class);
- activityObservationDecorator = decoratorService.getDecoratorByType(fr.ird.observe.dto.data.ps.observation.ActivityReference.class);
+ activityObservationDecorator = decoratorService.getDecoratorByType(fr.ird.observe.dto.data.ps.observation.ActivityReference.class, ActivityAware.CLASSIFIER_WITH_ROUTE);
itemDecorator = decoratorService.getDecoratorByType(ActivityPairingResultItem.class);
rootNode = new RootNode();
}
@@ -130,6 +131,7 @@ public class RootNodeBuilder {
}
public void addRoute(RoutePairingResult routePairingResult) {
+ flushRouteNode();
decorate(routePairingResult);
if (!routePairingResult.getItems().isEmpty()) {
routeNode = new RouteNode(routePairingResult.getRoute().toString());
=====================================
client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/logbook/ActivityUIModelStates.java
=====================================
@@ -218,7 +218,7 @@ public class ActivityUIModelStates extends GeneratedActivityUIModelStates {
if (pairingContext == null || vesselActivityId == null || timeStamp == null) {
activityObs = Collections.emptyList();
} else {
- RoutePairingContextRequest request = pairingContext.getRequest(tripId, source().getParentReference().getId(), vesselActivityId);
+ RoutePairingContextRequest request = new RoutePairingContextRequest(tripId, source().getParentReference().getId(), vesselActivityId);
activityObs = pairingContext.getActivityObsList(request, timeStamp);
}
log.info(String.format("%s Found %d related observed activities.", getPrefix(), activityObs.size()));
=====================================
core/api/dto/src/main/java/fr/ird/observe/dto/data/ps/pairing/RoutePairingContext.java
=====================================
@@ -28,12 +28,12 @@ import fr.ird.observe.dto.data.ps.logbook.RouteDto;
import io.ultreia.java4all.util.Dates;
import org.apache.commons.lang3.time.DateUtils;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import java.util.Objects;
-import java.util.stream.Collectors;
/**
* Created on 21/12/2021.
@@ -43,23 +43,11 @@ import java.util.stream.Collectors;
*/
public abstract class RoutePairingContext implements ObserveDto {
- private RoutePairingContextRequest pairingRequest;
private RoutePairingContextRequest lastRequest;
private TripDto trip;
private RouteDto route;
private List<fr.ird.observe.dto.data.ps.observation.ActivityReference> candidates;
- public RoutePairingContextRequest getRequest(String tripId, String routeLogbookId, String vesselActivityId) {
- if (pairingRequest == null) {
- pairingRequest = new RoutePairingContextRequest(tripId, routeLogbookId, vesselActivityId);
- } else {
- pairingRequest.setTripId(tripId);
- pairingRequest.setRouteLogbookId(routeLogbookId);
- pairingRequest.setVesselActivityId(vesselActivityId);
- }
- return pairingRequest;
- }
-
public List<fr.ird.observe.dto.data.ps.observation.ActivityReference> getActivityObsList(RoutePairingContextRequest request, Date date) {
if (date == null) {
return Collections.emptyList();
@@ -67,9 +55,7 @@ public abstract class RoutePairingContext implements ObserveDto {
if (!Objects.equals(request, lastRequest)) {
reloadCandidates(request);
}
- long minDate = Dates.getYesterday(date).getTime();
- long maxDate = DateUtils.addDays(Dates.getEndOfDay(date), 1).getTime();
- return candidates.stream().filter(e -> filterDate(e.getDate(), minDate, maxDate)).collect(Collectors.toList());
+ return new ArrayList<>(candidates);
}
public void reloadCandidates(RoutePairingContextRequest request) {
=====================================
core/api/dto/src/main/java/fr/ird/observe/dto/data/ps/pairing/TripPairingContext.java
=====================================
@@ -31,7 +31,6 @@ import fr.ird.observe.dto.data.ps.logbook.RouteReference;
import fr.ird.observe.dto.referential.ReferentialLocale;
import java.util.ArrayList;
-import java.util.Date;
import java.util.LinkedList;
import java.util.List;
@@ -71,9 +70,9 @@ public class TripPairingContext implements ObserveDto {
}
private void computeRouteResult(String tripId, String routeLogbookId, List<ActivityPairingResult> resultBuilder) {
- List<fr.ird.observe.dto.data.ps.logbook.ActivityReference> activityLogbookList = getActivityLogbookList(routeLogbookId);
+ List<fr.ird.observe.dto.data.ps.logbook.ActivityReference> activityLogbookList = routePairingContext.getLogbookActivityList(routeLogbookId);
activityLogbookList.forEach(activityLogbook -> {
- RoutePairingContextRequest pairingRequest = getRequest(tripId, routeLogbookId, activityLogbook.getVesselActivityId());
+ RoutePairingContextRequest pairingRequest = new RoutePairingContextRequest(tripId, routeLogbookId, activityLogbook.getVesselActivityId());
ActivityPairingResult activityPairingResult = computeActivityLogbook(pairingRequest, activityLogbook);
if (activityPairingResult != null) {
// only add if there is some data
@@ -83,7 +82,7 @@ public class TripPairingContext implements ObserveDto {
}
private ActivityPairingResult computeActivityLogbook(RoutePairingContextRequest pairingRequest, ActivityAware activityLogbook) {
- List<fr.ird.observe.dto.data.ps.observation.ActivityReference> activityObsList = getActivityObsList(pairingRequest, activityLogbook.getDate());
+ List<fr.ird.observe.dto.data.ps.observation.ActivityReference> activityObsList = routePairingContext.getActivityObsList(pairingRequest, activityLogbook.getDate());
List<ActivityPairingResultItem> itemBuilder = new ArrayList<>(activityObsList.size());
for (fr.ird.observe.dto.data.ps.observation.ActivityReference activityObs : activityObsList) {
itemBuilder.add(new ActivityPairingResultItem(activityLogbook, activityObs));
@@ -102,20 +101,6 @@ public class TripPairingContext implements ObserveDto {
return new ActivityPairingResult(reference, itemBuilder);
}
- public RoutePairingContextRequest getRequest(String tripId, String routeLogbookId, String vesselActivityId) {
- return routePairingContext.getRequest(tripId, routeLogbookId, vesselActivityId);
- }
-
- public List<fr.ird.observe.dto.data.ps.observation.ActivityReference> getActivityObsList(RoutePairingContextRequest request, Date date) {
- return routePairingContext.getActivityObsList(request, date);
- }
-
-
- public List<fr.ird.observe.dto.data.ps.logbook.ActivityReference> getActivityLogbookList(String routeLogbookId) {
- return routePairingContext.getLogbookActivityList(routeLogbookId);
- }
-
-
public TripDto loadTrip(String tripId) {
TripDto result = routePairingContext.loadTrip(tripId);
routePairingContext.setTrip(result);
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/805d64d73d3a6c21e0dab43ea…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/805d64d73d3a6c21e0dab43ea…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop-9.0.x] Appariement des activités à la loupe - Closes #2660
by Tony CHEMIT (@tchemit) 01 Apr '23
by Tony CHEMIT (@tchemit) 01 Apr '23
01 Apr '23
Tony CHEMIT pushed to branch develop-9.0.x at ultreiaio / ird-observe
Commits:
7e1e2d0f by Tony Chemit at 2023-04-01T17:56:51+02:00
Appariement des activités à la loupe - Closes #2660
- - - - -
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:
=====================================
client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/pairing/ps/RootNodeBuilder.java
=====================================
@@ -31,6 +31,7 @@ import fr.ird.observe.client.datasource.actions.pairing.tree.node.GroupByNode;
import fr.ird.observe.decoration.DecoratorService;
import fr.ird.observe.dto.ProgressionModel;
import fr.ird.observe.dto.ToolkitIdLabel;
+import fr.ird.observe.dto.data.ActivityAware;
import fr.ird.observe.dto.data.ps.logbook.ActivityReference;
import fr.ird.observe.dto.data.ps.logbook.RouteReference;
import fr.ird.observe.dto.data.ps.pairing.ActivityPairingResult;
@@ -106,7 +107,7 @@ public class RootNodeBuilder {
public RootNodeBuilder(DecoratorService decoratorService) {
activityLogbookDecorator = decoratorService.getDecoratorByType(ActivityReference.class);
routeLogbookDecorator = decoratorService.getDecoratorByType(RouteReference.class);
- activityObservationDecorator = decoratorService.getDecoratorByType(fr.ird.observe.dto.data.ps.observation.ActivityReference.class);
+ activityObservationDecorator = decoratorService.getDecoratorByType(fr.ird.observe.dto.data.ps.observation.ActivityReference.class, ActivityAware.CLASSIFIER_WITH_ROUTE);
itemDecorator = decoratorService.getDecoratorByType(ActivityPairingResultItem.class);
rootNode = new RootNode();
}
@@ -130,6 +131,7 @@ public class RootNodeBuilder {
}
public void addRoute(RoutePairingResult routePairingResult) {
+ flushRouteNode();
decorate(routePairingResult);
if (!routePairingResult.getItems().isEmpty()) {
routeNode = new RouteNode(routePairingResult.getRoute().toString());
=====================================
client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/logbook/ActivityUIModelStates.java
=====================================
@@ -218,7 +218,7 @@ public class ActivityUIModelStates extends GeneratedActivityUIModelStates {
if (pairingContext == null || vesselActivityId == null || timeStamp == null) {
activityObs = Collections.emptyList();
} else {
- RoutePairingContextRequest request = pairingContext.getRequest(tripId, source().getParentReference().getId(), vesselActivityId);
+ RoutePairingContextRequest request = new RoutePairingContextRequest(tripId, source().getParentReference().getId(), vesselActivityId);
activityObs = pairingContext.getActivityObsList(request, timeStamp);
}
log.info(String.format("%s Found %d related observed activities.", getPrefix(), activityObs.size()));
=====================================
core/api/dto/src/main/java/fr/ird/observe/dto/data/ps/pairing/RoutePairingContext.java
=====================================
@@ -28,12 +28,12 @@ import fr.ird.observe.dto.data.ps.logbook.RouteDto;
import io.ultreia.java4all.util.Dates;
import org.apache.commons.lang3.time.DateUtils;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import java.util.Objects;
-import java.util.stream.Collectors;
/**
* Created on 21/12/2021.
@@ -43,23 +43,11 @@ import java.util.stream.Collectors;
*/
public abstract class RoutePairingContext implements ObserveDto {
- private RoutePairingContextRequest pairingRequest;
private RoutePairingContextRequest lastRequest;
private TripDto trip;
private RouteDto route;
private List<fr.ird.observe.dto.data.ps.observation.ActivityReference> candidates;
- public RoutePairingContextRequest getRequest(String tripId, String routeLogbookId, String vesselActivityId) {
- if (pairingRequest == null) {
- pairingRequest = new RoutePairingContextRequest(tripId, routeLogbookId, vesselActivityId);
- } else {
- pairingRequest.setTripId(tripId);
- pairingRequest.setRouteLogbookId(routeLogbookId);
- pairingRequest.setVesselActivityId(vesselActivityId);
- }
- return pairingRequest;
- }
-
public List<fr.ird.observe.dto.data.ps.observation.ActivityReference> getActivityObsList(RoutePairingContextRequest request, Date date) {
if (date == null) {
return Collections.emptyList();
@@ -67,9 +55,7 @@ public abstract class RoutePairingContext implements ObserveDto {
if (!Objects.equals(request, lastRequest)) {
reloadCandidates(request);
}
- long minDate = Dates.getYesterday(date).getTime();
- long maxDate = DateUtils.addDays(Dates.getEndOfDay(date), 1).getTime();
- return candidates.stream().filter(e -> filterDate(e.getDate(), minDate, maxDate)).collect(Collectors.toList());
+ return new ArrayList<>(candidates);
}
public void reloadCandidates(RoutePairingContextRequest request) {
=====================================
core/api/dto/src/main/java/fr/ird/observe/dto/data/ps/pairing/TripPairingContext.java
=====================================
@@ -31,7 +31,6 @@ import fr.ird.observe.dto.data.ps.logbook.RouteReference;
import fr.ird.observe.dto.referential.ReferentialLocale;
import java.util.ArrayList;
-import java.util.Date;
import java.util.LinkedList;
import java.util.List;
@@ -71,9 +70,9 @@ public class TripPairingContext implements ObserveDto {
}
private void computeRouteResult(String tripId, String routeLogbookId, List<ActivityPairingResult> resultBuilder) {
- List<fr.ird.observe.dto.data.ps.logbook.ActivityReference> activityLogbookList = getActivityLogbookList(routeLogbookId);
+ List<fr.ird.observe.dto.data.ps.logbook.ActivityReference> activityLogbookList = routePairingContext.getLogbookActivityList(routeLogbookId);
activityLogbookList.forEach(activityLogbook -> {
- RoutePairingContextRequest pairingRequest = getRequest(tripId, routeLogbookId, activityLogbook.getVesselActivityId());
+ RoutePairingContextRequest pairingRequest = new RoutePairingContextRequest(tripId, routeLogbookId, activityLogbook.getVesselActivityId());
ActivityPairingResult activityPairingResult = computeActivityLogbook(pairingRequest, activityLogbook);
if (activityPairingResult != null) {
// only add if there is some data
@@ -83,7 +82,7 @@ public class TripPairingContext implements ObserveDto {
}
private ActivityPairingResult computeActivityLogbook(RoutePairingContextRequest pairingRequest, ActivityAware activityLogbook) {
- List<fr.ird.observe.dto.data.ps.observation.ActivityReference> activityObsList = getActivityObsList(pairingRequest, activityLogbook.getDate());
+ List<fr.ird.observe.dto.data.ps.observation.ActivityReference> activityObsList = routePairingContext.getActivityObsList(pairingRequest, activityLogbook.getDate());
List<ActivityPairingResultItem> itemBuilder = new ArrayList<>(activityObsList.size());
for (fr.ird.observe.dto.data.ps.observation.ActivityReference activityObs : activityObsList) {
itemBuilder.add(new ActivityPairingResultItem(activityLogbook, activityObs));
@@ -102,20 +101,6 @@ public class TripPairingContext implements ObserveDto {
return new ActivityPairingResult(reference, itemBuilder);
}
- public RoutePairingContextRequest getRequest(String tripId, String routeLogbookId, String vesselActivityId) {
- return routePairingContext.getRequest(tripId, routeLogbookId, vesselActivityId);
- }
-
- public List<fr.ird.observe.dto.data.ps.observation.ActivityReference> getActivityObsList(RoutePairingContextRequest request, Date date) {
- return routePairingContext.getActivityObsList(request, date);
- }
-
-
- public List<fr.ird.observe.dto.data.ps.logbook.ActivityReference> getActivityLogbookList(String routeLogbookId) {
- return routePairingContext.getLogbookActivityList(routeLogbookId);
- }
-
-
public TripDto loadTrip(String tripId) {
TripDto result = routePairingContext.loadTrip(tripId);
routePairingContext.setTrip(result);
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/7e1e2d0fea794d2086e017fad…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/7e1e2d0fea794d2086e017fad…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Appariement des activités à la loupe - Closes #2660
by Tony CHEMIT (@tchemit) 01 Apr '23
by Tony CHEMIT (@tchemit) 01 Apr '23
01 Apr '23
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
2d694007 by Tony Chemit at 2023-04-01T17:33:51+02:00
Appariement des activités à la loupe - Closes #2660
- - - - -
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:
=====================================
client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/pairing/ps/RootNodeBuilder.java
=====================================
@@ -130,6 +130,7 @@ public class RootNodeBuilder {
}
public void addRoute(RoutePairingResult routePairingResult) {
+ flushRouteNode();
decorate(routePairingResult);
if (!routePairingResult.getItems().isEmpty()) {
routeNode = new RouteNode(routePairingResult.getRoute().toString());
=====================================
client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/logbook/ActivityUIModelStates.java
=====================================
@@ -218,7 +218,7 @@ public class ActivityUIModelStates extends GeneratedActivityUIModelStates {
if (pairingContext == null || vesselActivityId == null || timeStamp == null) {
activityObs = Collections.emptyList();
} else {
- RoutePairingContextRequest request = pairingContext.getRequest(tripId, source().getParentReference().getId(), vesselActivityId);
+ RoutePairingContextRequest request = new RoutePairingContextRequest(tripId, source().getParentReference().getId(), vesselActivityId);
activityObs = pairingContext.getActivityObsList(request, timeStamp);
}
log.info(String.format("%s Found %d related observed activities.", getPrefix(), activityObs.size()));
=====================================
core/api/dto/src/main/java/fr/ird/observe/dto/data/ps/pairing/RoutePairingContext.java
=====================================
@@ -33,7 +33,6 @@ import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import java.util.Objects;
-import java.util.stream.Collectors;
/**
* Created on 21/12/2021.
@@ -43,23 +42,11 @@ import java.util.stream.Collectors;
*/
public abstract class RoutePairingContext implements ObserveDto {
- private RoutePairingContextRequest pairingRequest;
private RoutePairingContextRequest lastRequest;
private TripDto trip;
private RouteDto route;
private List<fr.ird.observe.dto.data.ps.observation.ActivityReference> candidates;
- public RoutePairingContextRequest getRequest(String tripId, String routeLogbookId, String vesselActivityId) {
- if (pairingRequest == null) {
- pairingRequest = new RoutePairingContextRequest(tripId, routeLogbookId, vesselActivityId);
- } else {
- pairingRequest.setTripId(tripId);
- pairingRequest.setRouteLogbookId(routeLogbookId);
- pairingRequest.setVesselActivityId(vesselActivityId);
- }
- return pairingRequest;
- }
-
public List<fr.ird.observe.dto.data.ps.observation.ActivityReference> getActivityObsList(RoutePairingContextRequest request, Date date) {
if (date == null) {
return Collections.emptyList();
@@ -67,9 +54,7 @@ public abstract class RoutePairingContext implements ObserveDto {
if (!Objects.equals(request, lastRequest)) {
reloadCandidates(request);
}
- long minDate = Dates.getYesterday(date).getTime();
- long maxDate = DateUtils.addDays(Dates.getEndOfDay(date), 1).getTime();
- return candidates.stream().filter(e -> filterDate(e.getDate(), minDate, maxDate)).collect(Collectors.toList());
+ return List.copyOf(candidates);
}
public void reloadCandidates(RoutePairingContextRequest request) {
=====================================
core/api/dto/src/main/java/fr/ird/observe/dto/data/ps/pairing/TripPairingContext.java
=====================================
@@ -31,7 +31,6 @@ import fr.ird.observe.dto.data.ps.logbook.RouteReference;
import fr.ird.observe.dto.referential.ReferentialLocale;
import java.util.ArrayList;
-import java.util.Date;
import java.util.LinkedList;
import java.util.List;
@@ -71,9 +70,9 @@ public class TripPairingContext implements ObserveDto {
}
private void computeRouteResult(String tripId, String routeLogbookId, List<ActivityPairingResult> resultBuilder) {
- List<fr.ird.observe.dto.data.ps.logbook.ActivityReference> activityLogbookList = getActivityLogbookList(routeLogbookId);
+ List<fr.ird.observe.dto.data.ps.logbook.ActivityReference> activityLogbookList = routePairingContext.getLogbookActivityList(routeLogbookId);
activityLogbookList.forEach(activityLogbook -> {
- RoutePairingContextRequest pairingRequest = getRequest(tripId, routeLogbookId, activityLogbook.getVesselActivityId());
+ RoutePairingContextRequest pairingRequest = new RoutePairingContextRequest(tripId, routeLogbookId, activityLogbook.getVesselActivityId());
ActivityPairingResult activityPairingResult = computeActivityLogbook(pairingRequest, activityLogbook);
if (activityPairingResult != null) {
// only add if there is some data
@@ -83,7 +82,7 @@ public class TripPairingContext implements ObserveDto {
}
private ActivityPairingResult computeActivityLogbook(RoutePairingContextRequest pairingRequest, ActivityAware activityLogbook) {
- List<fr.ird.observe.dto.data.ps.observation.ActivityReference> activityObsList = getActivityObsList(pairingRequest, activityLogbook.getDate());
+ List<fr.ird.observe.dto.data.ps.observation.ActivityReference> activityObsList = routePairingContext.getActivityObsList(pairingRequest, activityLogbook.getDate());
List<ActivityPairingResultItem> itemBuilder = new ArrayList<>(activityObsList.size());
for (fr.ird.observe.dto.data.ps.observation.ActivityReference activityObs : activityObsList) {
itemBuilder.add(new ActivityPairingResultItem(activityLogbook, activityObs));
@@ -102,20 +101,6 @@ public class TripPairingContext implements ObserveDto {
return new ActivityPairingResult(reference, itemBuilder);
}
- public RoutePairingContextRequest getRequest(String tripId, String routeLogbookId, String vesselActivityId) {
- return routePairingContext.getRequest(tripId, routeLogbookId, vesselActivityId);
- }
-
- public List<fr.ird.observe.dto.data.ps.observation.ActivityReference> getActivityObsList(RoutePairingContextRequest request, Date date) {
- return routePairingContext.getActivityObsList(request, date);
- }
-
-
- public List<fr.ird.observe.dto.data.ps.logbook.ActivityReference> getActivityLogbookList(String routeLogbookId) {
- return routePairingContext.getLogbookActivityList(routeLogbookId);
- }
-
-
public TripDto loadTrip(String tripId) {
TripDto result = routePairingContext.loadTrip(tripId);
routePairingContext.setTrip(result);
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/2d69400727cb6a5d49c5e8620…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/2d69400727cb6a5d49c5e8620…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 4 commits: Erreur sur déplacement de données d'observation (la marée cible n'est pas bien...
by Tony CHEMIT (@tchemit) 01 Apr '23
by Tony CHEMIT (@tchemit) 01 Apr '23
01 Apr '23
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
4fde4c23 by Tony Chemit at 2023-04-01T16:02:43+02:00
Erreur sur déplacement de données d'observation (la marée cible n'est pas bien rafrachît dans l'arbre de navigation) - Closes #2656
- - - - -
5930e9e5 by Tony Chemit at 2023-04-01T16:02:43+02:00
Lorsque l'on réinitialise le programme d'une marée, il faudrait certainement rafraichir l'arbre - Closes #2658
- - - - -
445e730f by Tony Chemit at 2023-04-01T16:02:43+02:00
Navigation UI - improve delete root data
- - - - -
acb6bc6c by Tony Chemit at 2023-04-01T16:02:44+02:00
Sur le nœud Observations embarqués, il est possible de tout déplacer même si le formulaire n'est pas accéssible - Closes #2665
- - - - -
10 changed files:
- client/core/src/main/resources/fr/ird/observe/client/ui/ObserveCommon.jcss
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/delete/DeleteRootTreeAdapter.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/move/MoveExecutor.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/move/MoveTreeAdapter.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/move/layout/MoveLayoutExecutor.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/move/layout/MoveLayoutTreeAdapter.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/ropen/actions/SaveContentRootOpenableUIAdapter.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationUIHandler.java
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/RouteListUI.jaxx
- toolkit/api-services/src/main/java/fr/ird/observe/services/service/data/MoveRequest.java
Changes:
=====================================
client/core/src/main/resources/fr/ird/observe/client/ui/ObserveCommon.jcss
=====================================
@@ -195,3 +195,7 @@ BlockingLayerUI {
.editableAndNotModified {
enabled:{states.isEditable() && !states.isModified()};
}
+
+.editableAndShowDataAndNotEmpty {
+ enabled:{states.isEditable() && states.isShowData() && !states.isEmpty()};
+}
=====================================
client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/delete/DeleteRootTreeAdapter.java
=====================================
@@ -23,7 +23,6 @@ package fr.ird.observe.client.datasource.editor.api.content.actions.delete;
*/
import fr.ird.observe.client.datasource.editor.api.navigation.NavigationUI;
-import fr.ird.observe.client.datasource.editor.api.navigation.NavigationUIHandler;
import fr.ird.observe.client.datasource.editor.api.navigation.tree.NavigationNode;
import fr.ird.observe.client.datasource.editor.api.navigation.tree.root.RootNavigationInitializer;
@@ -45,6 +44,8 @@ public abstract class DeleteRootTreeAdapter<OldParent extends NavigationNode> ex
@Override
public void removeChildren(NavigationUI navigationUI, OldParent parentNode, Set<String> ids) {
super.removeChildren(navigationUI, parentNode, ids);
+ // update navigation result
+ navigationUI.getTree().getModel().updateNavigationResult();
NavigationNode rootNode = parentNode.getRoot();
RootNavigationInitializer initializer = (RootNavigationInitializer) rootNode.getInitializer();
boolean removeGroupBy = parentNode.getChildCount() == 0 && !initializer.getRequest().isLoadEmptyGroupBy();
@@ -54,6 +55,5 @@ public abstract class DeleteRootTreeAdapter<OldParent extends NavigationNode> ex
navigationUI.getTree().selectFirstNode();
}
}
- NavigationUIHandler.updateStatistics(navigationUI, removeGroupBy ? -1 : 0, -ids.size());
}
}
=====================================
client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/move/MoveExecutor.java
=====================================
@@ -27,6 +27,7 @@ import fr.ird.observe.client.datasource.editor.api.navigation.NavigationTree;
import fr.ird.observe.client.util.ObserveSwingTechnicalException;
import fr.ird.observe.datasource.security.ConcurrentModificationException;
import fr.ird.observe.dto.ToolkitIdDtoBean;
+import fr.ird.observe.navigation.tree.navigation.NavigationTreeConfig;
import fr.ird.observe.services.service.data.MoveRequest;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -90,7 +91,14 @@ public class MoveExecutor {
ToolkitIdDtoBean oldParentId = request.getOldParentId();
Set<String> referenceId = request.getIds();
log.info(String.format("Move adapt tree [start] %s from parent: %s to %s", referenceId, oldParentId, newParentId));
-
+ String oldGroupByValue;
+ if (request.isNewParentIsRootType()) {
+ // if new parent id is a Trip, then we need to keep back his groupBy value
+ NavigationTreeConfig config = tree.getModel().getConfig();
+ oldGroupByValue = tree.getModel().getDataSourcesManager().getMainDataSource().getRootOpenableService().getGroupByValue(config.getGroupByName(), config.getGroupByFlavor(), newParentId.getId());
+ } else {
+ oldGroupByValue = null;
+ }
Set<String> newIds;
try {
newIds = requestConsumer.apply(request, newParentId, referenceId);
@@ -100,7 +108,7 @@ public class MoveExecutor {
MoveTreeAdapter<?, ?, ?> moveTreeAdapter = this.treeAdapter.apply(request);
try {
- SwingUtilities.invokeAndWait(() -> moveTreeAdapter.adaptTree(request, tree, newIds));
+ SwingUtilities.invokeAndWait(() -> moveTreeAdapter.adaptTree(request, tree, newIds, oldGroupByValue));
} catch (InterruptedException | InvocationTargetException e) {
throw new ObserveSwingTechnicalException(e.getCause());
}
=====================================
client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/move/MoveTreeAdapter.java
=====================================
@@ -22,8 +22,10 @@ package fr.ird.observe.client.datasource.editor.api.content.actions.move;
* #L%
*/
+import fr.ird.observe.client.datasource.editor.api.content.data.rlist.ContentRootListUINavigationNode;
import fr.ird.observe.client.datasource.editor.api.navigation.NavigationTree;
import fr.ird.observe.client.datasource.editor.api.navigation.tree.NavigationNode;
+import fr.ird.observe.navigation.tree.navigation.NavigationTreeConfig;
import fr.ird.observe.services.service.data.MoveRequest;
import java.util.Objects;
@@ -50,24 +52,44 @@ public abstract class MoveTreeAdapter<OldParent extends NavigationNode, NewParen
public abstract NewNode addMissingChildren(NewParent newParentNode, String newId);
- public final void adaptTree(MoveRequest request, NavigationTree tree, Set<String> newIds) {
+ public final void adaptTree(MoveRequest request, NavigationTree tree, Set<String> newIds, String oldGroupByValue) {
Set<String> ids = request.getIds();
boolean selectTarget = request.isSelectTarget();
boolean multiple = !request.isSingle();
OldParent oldParentNode = getOldParentNode(getIncomingNode());
- NewParent newParentNode = getNewParentNode(oldParentNode, request.getNewParentId().getId());
- NavigationNode nodeToSelect = adaptNewParentNode(newParentNode, multiple || !selectTarget ? null : newIds.iterator().next());
+ String newParentId = request.getNewParentId().getId();
+ if (request.isNewParentIsRootType()) {
+ NavigationTreeConfig config = tree.getModel().getConfig();
+ String groupByValue = oldParentNode.getContext().getServicesProvider().getRootOpenableService().getGroupByValue(config.getGroupByName(), config.getGroupByFlavor(), newParentId);
+ if (!Objects.equals(oldGroupByValue, groupByValue)) {
+ // the navigation must be updated, new parent groupBy value has changed
+ String[] previousPaths = oldParentNode.toPaths();
+ tree.getModel().updateNavigationResult();
+ // update the old parent parent node
+ ContentRootListUINavigationNode oldParentNodeParent = (ContentRootListUINavigationNode) oldParentNode.upToGroupByValue();
+ oldParentNodeParent.updateNode();
+ // get the new old parent node
+ oldParentNode = (OldParent) tree.getModel().getNodeFromPath(previousPaths, false);
+ // need also to update the new parent old parent node
+ ContentRootListUINavigationNode newParentOldParentNode = (ContentRootListUINavigationNode) tree.getModel().getNodeFromPath(new String[]{oldGroupByValue}, false);
+ if (newParentOldParentNode != null) {
+ // only update it if it still exist (the node may have been removed from navigation tree)
+ newParentOldParentNode.updateNode();
+ if (!config.isLoadEmptyGroupBy() && newParentOldParentNode.getChildCount() == 0) {
+ // the configuration requires that node to be removed
+ newParentOldParentNode.removeFromParent();
+ }
+ }
+ }
+ }
+ NewParent newParentNode = getNewParentNode(oldParentNode, newParentId);
+
+ // kep old node paths
+ String[] oldNodePaths = oldParentNode.toPaths();
+ NavigationNode nodeToSelect = adaptNewParentNode(tree, newParentNode, multiple || !selectTarget ? null : newIds.iterator().next());
if (!selectTarget) {
// stay on old parent node
- nodeToSelect = oldParentNode;
- } else {
- if (multiple) {
- // on multiple move select new parent node
- nodeToSelect = newParentNode;
- } else if (nodeToSelect == null) {
- // this can happen if new parent node was not loaded before the service call
- nodeToSelect = newParentNode;
- }
+ nodeToSelect = tree.getModel().getNodeFromPath(oldNodePaths, false);
}
adaptOldParentNode(oldParentNode, ids);
doFinalSelect(selectTarget, tree, nodeToSelect);
@@ -82,18 +104,17 @@ public abstract class MoveTreeAdapter<OldParent extends NavigationNode, NewParen
oldParentNode.reloadNodeDataToRootAndChildren();
}
- public final NewNode adaptNewParentNode(NewParent newParentNode, String newId) {
+ public final NavigationNode adaptNewParentNode(NavigationTree tree, NewParent newParentNode, String newId) {
// reload node
- newParentNode.reloadNodeDataToRootAndChildren();
- // add new nodes
- // refresh ui FIXME:Tree this should be done by addMissingChildren ?
- newParentNode.nodeChanged();
- NewNode newNode = addMissingChildren(newParentNode, newId);
-// if (newNode!=null) {
-// // and reload his parent
-// newNode.getParent().reloadNodeData();
-// }
- return newNode;
+ String[] paths = newParentNode.toPaths();
+ ContentRootListUINavigationNode newParentOldParentNode = (ContentRootListUINavigationNode) newParentNode.upToGroupByValue();
+ newParentOldParentNode.updateNode();
+ newParentNode = (NewParent) tree.getModel().getNodeFromPath(paths, false);
+ if (newId == null) {
+ return newParentNode;
+ }
+ // get new node
+ return addMissingChildren(newParentNode, newId);
}
public final void doFinalSelect(boolean selectTarget, NavigationTree tree, NavigationNode nodeToSelect) {
=====================================
client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/move/layout/MoveLayoutExecutor.java
=====================================
@@ -25,6 +25,7 @@ package fr.ird.observe.client.datasource.editor.api.content.actions.move.layout;
import fr.ird.observe.client.datasource.editor.api.DataSourceEditor;
import fr.ird.observe.client.datasource.editor.api.navigation.NavigationTree;
import fr.ird.observe.client.util.ObserveSwingTechnicalException;
+import fr.ird.observe.navigation.tree.navigation.NavigationTreeConfig;
import fr.ird.observe.services.service.data.MoveLayoutRequest;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -88,11 +89,14 @@ public class MoveLayoutExecutor {
String oldParentId = request.getOldParentId();
log.info(String.format("Move adapt tree [start] from parent: %s to %s", oldParentId, newParentId));
+ NavigationTreeConfig config = tree.getModel().getConfig();
+ String oldGroupByValue = tree.getModel().getDataSourcesManager().getMainDataSource().getRootOpenableService().getGroupByValue(config.getGroupByName(), config.getGroupByFlavor(), newParentId);
+
requestConsumer.accept(request);
MoveLayoutTreeAdapter<?, ?> moveTreeAdapter = treeAdapter.apply(request);
try {
- SwingUtilities.invokeAndWait(() -> moveTreeAdapter.adaptTree(request, tree));
+ SwingUtilities.invokeAndWait(() -> moveTreeAdapter.adaptTree(request, tree, oldGroupByValue));
} catch (InterruptedException | InvocationTargetException e) {
throw new ObserveSwingTechnicalException(e.getCause());
}
=====================================
client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/move/layout/MoveLayoutTreeAdapter.java
=====================================
@@ -22,6 +22,7 @@ package fr.ird.observe.client.datasource.editor.api.content.actions.move.layout;
* #L%
*/
+import fr.ird.observe.client.datasource.editor.api.content.data.rlist.ContentRootListUINavigationNode;
import fr.ird.observe.client.datasource.editor.api.content.data.ropen.ContentRootOpenableUINavigationNode;
import fr.ird.observe.client.datasource.editor.api.navigation.NavigationTree;
import fr.ird.observe.client.datasource.editor.api.navigation.tree.NavigationNode;
@@ -48,15 +49,36 @@ public abstract class MoveLayoutTreeAdapter<ParentNode extends ContentRootOpenab
public abstract SourceNode getNodeToSelect(ParentNode parentNode);
- public final void adaptTree(MoveLayoutRequest request, NavigationTree tree) {
+ public final void adaptTree(MoveLayoutRequest request, NavigationTree tree, String oldGroupByValue) {
boolean selectTarget = request.isSelectTarget();
ParentNode oldParentNode = oldParentSupplier.get();
NavigationTreeConfig config = tree.getModel().getConfig();
String newParentId = request.getNewParentId();
- //FIXME NPE See https://gitlab.com/ultreiaio/ird-observe/-/issues/2656
String groupByValue = oldParentNode.getContext().getServicesProvider().getRootOpenableService().getGroupByValue(config.getGroupByName(), config.getGroupByFlavor(), newParentId);
+ if (!Objects.equals(oldGroupByValue, groupByValue)) {
+ // the navigation must be updated, new parent groupBy value has changed
+ tree.getModel().updateNavigationResult();
+ // update the old parent parent node
+ ContentRootListUINavigationNode oldParentNodeParent = oldParentNode.getParent();
+ oldParentNodeParent.updateNode();
+ // get the new old parent node
+ oldParentNode = (ParentNode) oldParentNodeParent.findChildById(request.getOldParentId());
+
+ // need also to update the new parent old parent node
+ ContentRootListUINavigationNode newParentOldParentNode = (ContentRootListUINavigationNode) tree.getModel().getNodeFromPath(new String[]{oldGroupByValue}, false);
+ if (newParentOldParentNode != null) {
+ // only update it if it still exist (the node may have been removed from navigation tree)
+ newParentOldParentNode.updateNode();
+ if (!config.isLoadEmptyGroupBy() && newParentOldParentNode.getChildCount() == 0) {
+ // the configuration requires that node to be removed
+ newParentOldParentNode.removeFromParent();
+ }
+ }
+ } else {
+
+ oldParentNode.updateNode();
+ }
@SuppressWarnings("unchecked") ParentNode newParentNode = (ParentNode) tree.getModel().getNodeFromPath(new String[]{groupByValue, newParentId}, true);
- oldParentNode.updateNode();
newParentNode.updateNode();
if (selectTarget) {
NavigationNode nodeToSelect = getNodeToSelect(newParentNode);
=====================================
client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/ropen/actions/SaveContentRootOpenableUIAdapter.java
=====================================
@@ -30,13 +30,12 @@ import fr.ird.observe.client.datasource.editor.api.content.data.ropen.ContentRoo
import fr.ird.observe.client.datasource.editor.api.content.data.ropen.ContentRootOpenableUINavigationNode;
import fr.ird.observe.client.datasource.editor.api.navigation.NavigationTree;
import fr.ird.observe.client.datasource.editor.api.navigation.NavigationUI;
-import fr.ird.observe.client.datasource.editor.api.navigation.NavigationUIHandler;
-import fr.ird.observe.client.datasource.editor.api.navigation.tree.NavigationNode;
import fr.ird.observe.client.datasource.editor.api.navigation.tree.capability.ReferenceContainerCapability;
import fr.ird.observe.client.datasource.editor.api.navigation.tree.root.RootNavigationNode;
import fr.ird.observe.dto.data.DataGroupByDto;
import fr.ird.observe.dto.data.RootOpenableDto;
import fr.ird.observe.dto.reference.DataDtoReference;
+import fr.ird.observe.navigation.tree.NavigationResult;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -70,16 +69,13 @@ public class SaveContentRootOpenableUIAdapter<D extends RootOpenableDto, U exten
boolean groupByChanged = !Objects.equals(oldGroupByDto.getFilterValue(), newGroupByValue);
// We need to inject ot node the new reference (it could does not know the id if not persisted)
// As I prefer to use a unique code (for persisted or not, keep it like this)
- node = updateReference(dataSourceEditor.getNavigationUI(), node, bean.getId(), oldGroupByDto, groupByChanged ? newGroupByValue : null);
+ node = updateReference(dataSourceEditor.getNavigationUI(), node, bean.getId(), oldGroupByDto, groupByChanged, newGroupByValue);
tree.reSelectSafeNodeThen(node, () -> {
dataSourceEditor.getModel().resetFromPreviousUi(ui);
if (notPersisted) {
tree.expandPath(tree.getSelectionPath());
}
- if (!groupByChanged) {
- NavigationUIHandler.updateStatistics(dataSourceEditor.getNavigationUI(), 0, 1);
- }
});
}
@@ -87,11 +83,13 @@ public class SaveContentRootOpenableUIAdapter<D extends RootOpenableDto, U exten
ContentRootOpenableUINavigationNode node,
String id,
DataGroupByDto<D> oldGroupByDto,
+ boolean groupByChanged,
String newGroupByValue) {
boolean notPersisted = node.getInitializer().isNotPersisted();
- NavigationNode parent = node.getParent();
- boolean groupByChanged = newGroupByValue != null;
+ ContentRootListUINavigationNode parent = node.getParent();
if (groupByChanged) {
+ // the navigation must be updated, new parent groupBy value has changed
+ NavigationResult navigationResult = navigationUI.getTree().getModel().updateNavigationResult();
// groupBy has changed (remove node from parent)
RootNavigationNode rootNode = (RootNavigationNode) node.getRoot();
node.removeFromParent();
@@ -99,19 +97,19 @@ public class SaveContentRootOpenableUIAdapter<D extends RootOpenableDto, U exten
boolean removeGroupBy = parent.getChildCount() == 0 && !rootNode.getInitializer().getRequest().isLoadEmptyGroupBy();
if (removeGroupBy) {
parent.removeFromParent();
- NavigationUIHandler.updateStatistics(navigationUI, -1, 0);
} else {
// update old parent to root
parent.reloadNodeDataToRoot();
}
// find parent
- parent = rootNode.findChildById(newGroupByValue);
+ parent = (ContentRootListUINavigationNode) rootNode.findChildById(newGroupByValue);
if (parent == null) {
// must create it (will update navigation result)
- parent = rootNode.getCapability().createMissingNode(newGroupByValue);
+ DataGroupByDto<?> reference = navigationResult.getGroupBy(newGroupByValue);
+ parent = rootNode.getCapability().insertChildNode(reference);
} else {
// update parent reference in node
- DataGroupByDto<?> parentReference = ((ContentRootListUINavigationNode) parent).getInitializer().getParentReference();
+ DataGroupByDto<?> parentReference = parent.getInitializer().getParentReference();
node.getInitializer().setParentReference(() -> parentReference);
}
}
@@ -129,7 +127,7 @@ public class SaveContentRootOpenableUIAdapter<D extends RootOpenableDto, U exten
node.populateChildrenIfNotLoaded();
}
- ReferenceContainerCapability<?> capability = (ReferenceContainerCapability<?>) parent.getCapability();
+ ReferenceContainerCapability<?> capability = parent.getCapability();
if (groupByChanged) {
if (parent.isNotLoaded()) {
// will load all children even the updated one
=====================================
client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationUIHandler.java
=====================================
@@ -50,18 +50,6 @@ public class NavigationUIHandler implements UIHandler<NavigationUI>, WithClientU
private Set<ReloadAction> actionsToReload;
private NavigationUIInitializer initializer;
- public static void updateStatistics(NavigationUI ui, int groupByCountDiff, int dataCountDiff) {
- NavigationResult navigationResult = ui.getTree().getRootNode().getInitializer().getNavigationResult();
- TreeConfigUIHandler.updateStatistics(navigationResult.getRequest(),
- ui.getTree().getModel().getGroupByHelper(),
- () -> navigationResult.getGroupByCount() + groupByCountDiff,
- () -> navigationResult.getGroupByDataCount() + dataCountDiff,
- () -> navigationResult.getDataCount() + dataCountDiff,
- ui::setStatisticsText,
- ui::setStatisticsTip,
- ui.getStatisticsLabel()::setIcon);
- }
-
public static void updateStatistics(NavigationUI ui) {
NavigationResult navigationResult = ui.getTree().getRootNode().getInitializer().getNavigationResult();
TreeConfigUIHandler.updateStatistics(navigationResult.getRequest(),
=====================================
client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/RouteListUI.jaxx
=====================================
@@ -28,5 +28,5 @@
<RouteListUIModel id='model' constructorParams='@override:getNavigationSource(this)'/>
<RouteListUIModelStates id='states'/>
<TripDto id='bean'/>
- <JMenuItem id='moveAll' styleClass='editableAndNotModified'/>
+ <JMenuItem id='moveAll' styleClass='editableAndShowDataAndNotEmpty'/>
</fr.ird.observe.client.datasource.editor.api.content.data.list.ContentListUI>
=====================================
toolkit/api-services/src/main/java/fr/ird/observe/services/service/data/MoveRequest.java
=====================================
@@ -24,6 +24,7 @@ package fr.ird.observe.services.service.data;
import fr.ird.observe.dto.BusinessDto;
import fr.ird.observe.dto.ToolkitIdDtoBean;
+import fr.ird.observe.dto.data.RootOpenableDto;
import java.util.Set;
import java.util.StringJoiner;
@@ -92,6 +93,10 @@ public class MoveRequest {
return ids.size() == 1;
}
+ public boolean isNewParentIsRootType() {
+ return RootOpenableDto.class.isAssignableFrom(getParentTargetDtoType());
+ }
+
@Override
public String toString() {
return new StringJoiner(", ", MoveRequest.class.getSimpleName() + "[", "]")
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/5898d698338b3b12bb4dea34…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/5898d698338b3b12bb4dea34…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop-9.0.x] 2 commits: tck - ajout country 0#0 pour faciliter le test de suppression
by Tony CHEMIT (@tchemit) 01 Apr '23
by Tony CHEMIT (@tchemit) 01 Apr '23
01 Apr '23
Tony CHEMIT pushed to branch develop-9.0.x at ultreiaio / ird-observe
Commits:
3b96ba25 by Tony Chemit at 2023-03-30T17:43:12+02:00
tck - ajout country 0#0 pour faciliter le test de suppression
- - - - -
537471eb by Tony Chemit at 2023-04-01T10:40:44+02:00
fix ReplicateRequestCallback accept method (dataType is an entity type and test is on dto type...) - See #2656
- - - - -
5 changed files:
- core/persistence/migration/src/main/resources/db/migration/v9/9.0/100-tck_add_referential_for_delete_test-common.sql
- core/persistence/test/src/test/resources/fixtures/persistence/table_count/referential.properties
- core/services/test/src/main/java/fr/ird/observe/services/service/DataSourceServiceFixtures.java
- model/src/main/resources/fixtures/global.properties
- model/src/main/resources/fixtures/variables.properties
Changes:
=====================================
core/persistence/migration/src/main/resources/db/migration/v9/9.0/100-tck_add_referential_for_delete_test-common.sql
=====================================
@@ -40,3 +40,5 @@ INSERT INTO ps_common.schoolType(topiaId, topiaCreateDate, topiaVersion, lastUpd
INSERT INTO ps_localmarket.batchComposition(topiaId, topiaCreateDate, topiaVersion, lastUpdateDate, code, uri, homeId, needComment, status, label1, label2, label3, label4, label5, label6, label7, label8) VALUES ('fr.ird.referential.ps.localmarket.BatchComposition#0#0', '2021-09-17 00:00:00.0', 0, '2021-09-17 00:00:00.0', '22', NULL, NULL, false, 1, 'Mono specific (no survey) 2', 'Mono spécifique (pas de sondage) 2', 'Mono specific (no survey) #TODO 2', NULL, NULL, NULL, NULL, NULL);
-- BatchWeightType
INSERT INTO ps_localmarket.batchWeightType(topiaId, topiaCreateDate, topiaVersion, lastUpdateDate, code, uri, homeId, needComment, status, label1, label2, label3, label4, label5, label6, label7, label8) VALUES ('fr.ird.referential.ps.localmarket.BatchWeightType#0#0', '2021-09-17 00:00:00.0', 0, '2021-09-17 00:00:00.0', '12', NULL, NULL, false, 1, 'Weighing 2', 'Pesée 2', 'Weighing #TODO 2', NULL, NULL, NULL, NULL, NULL);
+-- Country
+INSERT INTO observe_common.country(topiaid, topiaversion, topiacreatedate, lastupdatedate, code, uri, needcomment, status, label1, label2, label3, label4, label5, label6, label7, label8, iso2code, iso3code) VALUES ('fr.ird.referential.common.Country#0#0', 5, '2011-06-15 00:00:00.043', '2016-11-26 08:35:40.72', '666', NULL, false, 1, 'Tck data', 'Tck data Fr', 'Tck data Es', NULL, NULL, NULL, NULL, NULL, '__', '___');
\ No newline at end of file
=====================================
core/persistence/test/src/test/resources/fixtures/persistence/table_count/referential.properties
=====================================
@@ -19,7 +19,7 @@
# <http://www.gnu.org/licenses/gpl-3.0.html>.
# #L%
###
-common.country=90
+common.country=91
common.dataQuality=5
common.fpaZone=45
common.gear=28
=====================================
core/services/test/src/main/java/fr/ird/observe/services/service/DataSourceServiceFixtures.java
=====================================
@@ -145,32 +145,52 @@ public class DataSourceServiceFixtures extends GeneratedDataSourceServiceFixture
}
protected void produceMoveSqlScript(DataSourceService service, boolean pg) {
- String psObsRouteId = getVariable(getVariableName(fr.ird.observe.dto.data.ps.observation.RouteDto.class));
- String psObsActivityId = getVariable(getVariableName(fr.ird.observe.dto.data.ps.observation.ActivityDto.class));
+ String psObsRouteVariable = getVariableName(fr.ird.observe.dto.data.ps.observation.RouteDto.class);
+ String psObsRouteId = getVariable(psObsRouteVariable);
+ String psObsRouteIdTarget = getVariable(psObsRouteVariable+".move");
+ String psObsActivityVariable = getVariableName(fr.ird.observe.dto.data.ps.observation.ActivityDto.class);
+ String psObsActivityId = getVariable(psObsActivityVariable);
+ String psObsActivityIdTarget = getVariable(psObsActivityVariable+".move");
String psObsSetId = getVariable(getVariableName(fr.ird.observe.dto.data.ps.observation.SetDto.class));
- String psLogbookRouteId = getVariable(getVariableName(fr.ird.observe.dto.data.ps.logbook.RouteDto.class));
+
+ String psLogbookRouteVariable = getVariableName(fr.ird.observe.dto.data.ps.logbook.RouteDto.class);
+ String psLogbookRouteId = getVariable(psLogbookRouteVariable);
+ String psLogbookRouteIdTarget = getVariable(psLogbookRouteVariable+".move");
String psLogbookActivityId = getVariable(getVariableName(fr.ird.observe.dto.data.ps.logbook.ActivityDto.class));
- String llObsActivityId = getVariable(getVariableName(fr.ird.observe.dto.data.ll.observation.ActivityDto.class));
+ String llObsActivityVariable = getVariableName(fr.ird.observe.dto.data.ll.observation.ActivityDto.class);
+ String llObsActivityId = getVariable(llObsActivityVariable);
+ String llObsActivityIdTarget = getVariable(llObsActivityVariable+".move");
+
String llObSetId = getVariable(getVariableName(fr.ird.observe.dto.data.ll.observation.SetDto.class));
- String llLogbookActivityId = getVariable(getVariableName(fr.ird.observe.dto.data.ll.logbook.ActivityDto.class));
+ String llLogbookActivityVariable = getVariableName(fr.ird.observe.dto.data.ll.logbook.ActivityDto.class);
+ String llLogbookActivityId = getVariable(llLogbookActivityVariable);
+ String llLogbookActivityIdTarget = getVariable(llLogbookActivityVariable+".move");
+
String llLogbookSetId = getVariable(getVariableName(fr.ird.observe.dto.data.ll.logbook.SetDto.class));
- String psCommonTripId = getPsCommonTripId();
- String llCommonTripId = getLlCommonTripId();
+ String psCommTripVariable = getVariableName(fr.ird.observe.dto.data.ps.common.TripDto.class);
+
+ String psCommonTripId = getVariable(psCommTripVariable);
+ String psCommonTripIdTarget = getVariable(psCommTripVariable +".move");
+
+ String llCommTripVariable = getVariableName(fr.ird.observe.dto.data.ll.common.TripDto.class);
+ String llCommonTripId = getVariable(llCommTripVariable);
+ String llCommonTripIdTarget = getVariable(llCommTripVariable +".move");
+
+ testRequest(service, new ReplicateRequest(pg, psCommonTripId, psCommonTripIdTarget, "fr.ird.observe.entities.data.ps.observation.Route", psObsRouteId));
- testRequest(service, new ReplicateRequest(pg, psCommonTripId, psCommonTripId + "00", "fr.ird.observe.entities.data.ps.observation.Route", psObsRouteId));
- testRequest(service, new ReplicateRequest(pg, psObsRouteId, psObsRouteId + "00", "fr.ird.observe.entities.data.ps.observation.Activity", psObsActivityId));
- testRequest(service, new ReplicateRequest(pg, psObsActivityId, psObsActivityId + "00", "fr.ird.observe.entities.data.ps.observation.Set", psObsSetId));
+ testRequest(service, new ReplicateRequest(pg, psObsRouteId, psObsRouteIdTarget, "fr.ird.observe.entities.data.ps.observation.Activity", psObsActivityId));
+ testRequest(service, new ReplicateRequest(pg, psObsActivityId, psObsActivityIdTarget, "fr.ird.observe.entities.data.ps.observation.Set", psObsSetId));
- testRequest(service, new ReplicateRequest(pg, psCommonTripId, psCommonTripId + "00", "fr.ird.observe.entities.data.ps.logbook.Route", psLogbookRouteId));
- testRequest(service, new ReplicateRequest(pg, psLogbookRouteId, psLogbookRouteId + "00", "fr.ird.observe.entities.data.ps.logbook.Activity", psLogbookActivityId));
+ testRequest(service, new ReplicateRequest(pg, psCommonTripId, psCommonTripIdTarget, "fr.ird.observe.entities.data.ps.logbook.Route", psLogbookRouteId));
+ testRequest(service, new ReplicateRequest(pg, psLogbookRouteId, psLogbookRouteIdTarget, "fr.ird.observe.entities.data.ps.logbook.Activity", psLogbookActivityId));
- testRequest(service, new ReplicateRequest(pg, llCommonTripId, llCommonTripId + "00", "fr.ird.observe.entities.data.ll.observation.Activity", llObsActivityId));
- testRequest(service, new ReplicateRequest(pg, llObsActivityId, llObsActivityId + "00", "fr.ird.observe.entities.data.ll.observation.Set", llObSetId));
+ testRequest(service, new ReplicateRequest(pg, llCommonTripId, llCommonTripIdTarget, "fr.ird.observe.entities.data.ll.observation.Activity", llObsActivityId));
+ testRequest(service, new ReplicateRequest(pg, llObsActivityId, llObsActivityIdTarget, "fr.ird.observe.entities.data.ll.observation.Set", llObSetId));
- testRequest(service, new ReplicateRequest(pg, llCommonTripId, llCommonTripId + "00", "fr.ird.observe.entities.data.ll.logbook.Activity", llLogbookActivityId));
- testRequest(service, new ReplicateRequest(pg, llLogbookActivityId, llLogbookActivityId + "00", "fr.ird.observe.entities.data.ll.logbook.Set", llLogbookSetId));
+ testRequest(service, new ReplicateRequest(pg, llCommonTripId, llCommonTripIdTarget, "fr.ird.observe.entities.data.ll.logbook.Activity", llLogbookActivityId));
+ testRequest(service, new ReplicateRequest(pg, llLogbookActivityId, llLogbookActivityIdTarget, "fr.ird.observe.entities.data.ll.logbook.Set", llLogbookSetId));
}
//FIXME Add tests for replicatePartial, delete and deletePartial
=====================================
model/src/main/resources/fixtures/global.properties
=====================================
@@ -25,4 +25,4 @@ REFERENCE_DATA_COUNT=66
ENTITIES_LIMIT_SIZE=100
# fr.ird.observe.services.service.referential.ReferentialService
# fr.ird.observe.services.local.service.referential.DifferentialModelTest
-REFERENTIAL_COUNT=4094
+REFERENTIAL_COUNT=4095
=====================================
model/src/main/resources/fixtures/variables.properties
=====================================
@@ -22,9 +22,11 @@
data.ll.common.GearUseFeatures.id=fr.ird.data.ll.common.GearUseFeatures#1612699679823#0.5458656018490842
data.ll.common.GearUseFeaturesMeasurement.id=fr.ird.data.ll.common.GearUseFeaturesMeasurement#1612699679825#0.11912898889431767
data.ll.common.Trip.id=fr.ird.data.ll.common.Trip#1573218053521#0.35390398604784334
+data.ll.common.Trip.id.move=fr.ird.data.ll.common.Trip#1547805002869#0.37785124313873586
data.ll.landing.Landing.id=fr.ird.data.ll.landing.Landing#1464000000000#0.00017977
data.ll.landing.LandingPart.id=fr.ird.data.ll.landing.LandingPart#1609975393941#0.412674413528293
data.ll.logbook.Activity.id=fr.ird.data.ll.logbook.Activity#1464000000000#0.01093484
+data.ll.logbook.Activity.id.move=fr.ird.data.ll.logbook.Activity#1464000000000#0.02093485
data.ll.logbook.ActivitySample.id=fr.ird.data.ll.logbook.Sample#1464000000000#0.00036654
data.ll.logbook.BaitsComposition.id=fr.ird.data.ll.logbook.BaitsComposition#1619857303896#0.6134138605054349
data.ll.logbook.BranchlinesComposition.id=fr.ird.data.ll.logbook.BranchlinesComposition#1619857303908#0.463973082762536
@@ -35,6 +37,7 @@ data.ll.logbook.Sample.id=fr.ird.data.ll.logbook.Sample#1464000000000#0.00036655
data.ll.logbook.SamplePart.id=fr.ird.data.ll.logbook.SamplePart#1610199320689#0.0111575757618994
data.ll.logbook.Set.id=fr.ird.data.ll.logbook.Set#1464000000000#0.01093484
data.ll.observation.Activity.id=fr.ird.data.ll.observation.Activity#1538025383462#0.7048860714573149
+data.ll.observation.Activity.id.move=fr.ird.data.ll.observation.Activity#1538113373974#0.18854771823362426
data.ll.observation.BaitsComposition.id=fr.ird.data.ll.observation.BaitsComposition#1538025750031#0.9637636762242816
data.ll.observation.Basket.id=fr.ird.data.ll.observation.Basket#1613391727265#0.2552774405657089
data.ll.observation.Branchline.id=fr.ird.data.ll.observation.Branchline#1613391727344#0.8268423721739928
@@ -52,6 +55,7 @@ data.ll.observation.WeightMeasure.id=fr.ird.data.ll.observation.WeightMeasure#16
data.ps.common.GearUseFeatures.id=fr.ird.data.ps.common.GearUseFeatures#1612698996131#0.6058958440089384
data.ps.common.GearUseFeaturesMeasurement.id=fr.ird.data.ps.common.GearUseFeaturesMeasurement#1612698996149#0.4415127885939093
data.ps.common.Trip.id=fr.ird.data.ps.common.Trip#1553970328158#0.44863535394269627
+data.ps.common.Trip.id.move=fr.ird.data.ps.common.Trip#1573473170279#0.39901519164877486
data.ps.landing.Landing.id=fr.ird.data.ps.landing.Landing#1616955391466#0.9083548924412933
data.ps.localmarket.Batch.id=fr.ird.data.ps.localmarket.Batch#1617103690104#0.11538487864349034
data.ps.localmarket.Sample.id=fr.ird.data.ps.localmarket.Sample#1616832487726#0.257522479716059
@@ -64,6 +68,7 @@ data.ps.logbook.Catch.id=fr.ird.data.ps.logbook.Catch#1616768024297#0.2863597930
data.ps.logbook.FloatingObject.id=fr.ird.data.ps.logbook.FloatingObject#1616955224271#0.8748844202241
data.ps.logbook.FloatingObjectPart.id=fr.ird.data.ps.logbook.FloatingObjectPart#1616955312002#0.004817068771328259
data.ps.logbook.Route.id=fr.ird.data.ps.logbook.Route#1616767950667#0.2733836567509864
+data.ps.logbook.Route.id.move=fr.ird.data.ps.logbook.Route#1616767950667#0.2733836567509865
data.ps.logbook.Sample.id=fr.ird.data.ps.logbook.Sample#1616768092884#0.8805004437915559
data.ps.logbook.SampleActivity.id=fr.ird.data.ps.logbook.SampleActivity#1612861310013#0.9926675881926301
data.ps.logbook.SampleSpecies.id=fr.ird.data.ps.logbook.SampleSpecies#1617096981782#0.17042072657028862
@@ -71,6 +76,7 @@ data.ps.logbook.SampleSpeciesMeasure.id=fr.ird.data.ps.logbook.SampleSpeciesMeas
data.ps.logbook.TransmittingBuoy.id=fr.ird.data.ps.logbook.TransmittingBuoy#1616955224272#0.1758599871793043
data.ps.logbook.WellPlan.id=fr.ird.data.ps.logbook.WellPlan#1616768075749#0.1331568688022804
data.ps.observation.Activity.id=fr.ird.data.ps.observation.Activity#1554113237260#0.6013473195166136
+data.ps.observation.Activity.id.move=fr.ird.data.ps.observation.Activity#1554113237260#0.6013473195166137
data.ps.observation.Catch.id=fr.ird.data.ps.observation.Catch#1554119972110#0.2402835209929618
data.ps.observation.FloatingObject.id=fr.ird.data.ps.observation.FloatingObject#1612860069119#0.061511249860604966
data.ps.observation.FloatingObjectPart.id=fr.ird.data.ps.observation.FloatingObjectPart#1612860082601#0.30983583751473864
@@ -78,13 +84,14 @@ data.ps.observation.NonTargetCatchRelease.id=fr.ird.data.ps.observation.NonTarge
data.ps.observation.ObjectObservedSpecies.id=fr.ird.data.ps.observation.ObjectObservedSpecies#1612860141918#0.8897715192745859
data.ps.observation.ObjectSchoolEstimate.id=fr.ird.data.ps.observation.ObjectSchoolEstimate#1612860112430#0.9202212602076519
data.ps.observation.Route.id=fr.ird.data.ps.observation.Route#1554106229992#0.7639861071473422
+data.ps.observation.Route.id.move=fr.ird.data.ps.observation.Route#1554712844284#0.10553716343500474
data.ps.observation.Sample.id=fr.ird.data.ps.observation.Sample#1612861249115#0.09925784341428623
data.ps.observation.SampleMeasure.id=fr.ird.data.ps.observation.SampleMeasure#1612861249139#0.99644487513718
data.ps.observation.SchoolEstimate.id=fr.ird.data.ps.observation.SchoolEstimate#1612860210852#0.6866668025183136
data.ps.observation.Set.id=fr.ird.data.ps.observation.Set#1554119935526#0.45507383777180943
data.ps.observation.TransmittingBuoy.id=fr.ird.data.ps.observation.TransmittingBuoy#1612860069136#0.39922787297738194
-referential.common.common.Country.id.delete=fr.ird.referential.common.Country#1464000000000#0.00048
referential.common.common.Country.id=fr.ird.referential.common.Country#1239832675593#0.24921769452411147
+referential.common.common.Country.id.delete=fr.ird.referential.common.Country#0#0
referential.common.common.DataQuality.id=fr.ird.referential.common.DataQuality#0#1
referential.common.common.FpaZone.id=fr.ird.referential.common.FpaZone#1239832686122#0.1
referential.common.common.GearCharacteristic.id.delete=fr.ird.referential.common.GearCharacteristic#1239832686124#0.12
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/690b2b9e1601ff0482e40bbe…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/690b2b9e1601ff0482e40bbe…
You're receiving this email because of your account on gitlab.com.
1
0