Tony CHEMIT pushed to branch feature/issue-2549 at ultreiaio / ird-observe Commits: 777cba00 by Tony Chemit at 2023-11-22T10:36:58+01:00 sort items in legend - - - - - 10adf5d7 by Tony Chemit at 2023-11-22T10:37:48+01:00 add new entries in TripMapPointType - - - - - 1fc0533e by Tony Chemit at 2023-11-22T10:40:30+01:00 get logbook activities with sampling and use new entries of TripMapPointType in TripMapBuilder - - - - - 5cd87f5f by Tony Chemit at 2023-11-22T10:41:07+01:00 add new configuration option for logbook activities with sampling (default is yellow) - - - - - dc72c092 by Tony Chemit at 2023-11-22T10:41:48+01:00 update TripMapContentBuilder and ps style to use new type of point (with sampling) - - - - - 0fa755fe by Tony Chemit at 2023-11-22T12:45:05+01:00 add suppressWarning for services with generics and AutoService annotation usage - - - - - 6a0e6978 by Tony Chemit at 2023-11-22T12:45:50+01:00 change shortcut (Alt + Fxx is used under linux by X) - - - - - 22 changed files: - client/configuration/src/main/config/Client.ini - client/configuration/src/main/i18n/getters/config.getter - client/configuration/src/main/java/fr/ird/observe/client/configuration/SeineBycatchObservedSystemConfigConverter.java - client/core/src/main/java/fr/ird/observe/client/datasource/h2/server/H2ServerBodyContent.java - client/core/src/main/java/fr/ird/observe/client/datasource/presets/RemotePresetsBodyContent.java - client/core/src/main/java/fr/ird/observe/client/main/body/ClientConfigBodyContent.java - client/core/src/main/java/fr/ird/observe/client/main/body/ClientConfigUI.java - client/core/src/main/java/fr/ird/observe/client/main/body/NoBodyContent.java - client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminUIBodyContent.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/ObserveKeyStrokesEditorApi.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/map/TripMapContentBuilderSupport.java - client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/common/TripMapContentBuilder.java - client/datasource/editor/ps/src/main/resources/map/ps-style.xml - client/runner/src/main/i18n/translations/client-runner_en_GB.properties - client/runner/src/main/i18n/translations/client-runner_es_ES.properties - client/runner/src/main/i18n/translations/client-runner_fr_FR.properties - core/api/dto/src/main/i18n/getters/java-enumeration.getter - core/api/dto/src/main/java/fr/ird/observe/dto/data/TripMapPointType.java - core/persistence/java/src/main/java/fr/ird/observe/entities/data/ps/common/TripMapBuilder.java - core/services/i18n/src/main/i18n/translations/services_en_GB.properties - core/services/i18n/src/main/i18n/translations/services_es_ES.properties - core/services/i18n/src/main/i18n/translations/services_fr_FR.properties Changes: ===================================== client/configuration/src/main/config/Client.ini ===================================== @@ -846,6 +846,12 @@ key = ui.map.ps.style.logbook.point.color type = color defaultValue = java.awt.Color[r=255,g=0,b=0] +[option mapPsStyleLogbookWithSamplingPointColor] +description = observe.config.map.ps.style.logbook.withSampling.point.color +key = ui.map.ps.style.logbook.withSampling.point.color +type = color +defaultValue = java.awt.Color[r=255,g=255,b=0] + [option mapPsStyleLogbookTextColor] description = observe.config.map.ps.style.logbook.text.color key = ui.map.ps.style.logbook.text.color ===================================== client/configuration/src/main/i18n/getters/config.getter ===================================== @@ -86,6 +86,7 @@ observe.config.map.ps.style.logbook.point.color observe.config.map.ps.style.logbook.text.color observe.config.map.ps.style.logbook.text.size observe.config.map.ps.style.logbook.transmitting.buoy.lost.point.color +observe.config.map.ps.style.logbook.withSampling.point.color observe.config.map.ps.style.observations.line.color observe.config.map.ps.style.observations.point.color observe.config.map.ps.style.observations.text.color ===================================== client/configuration/src/main/java/fr/ird/observe/client/configuration/SeineBycatchObservedSystemConfigConverter.java ===================================== @@ -36,6 +36,7 @@ import org.nuiton.converter.NuitonConverter; * * @author Tony Chemit - dev@tchemit.fr */ +@SuppressWarnings("rawtypes") @AutoService(NuitonConverter.class) public class SeineBycatchObservedSystemConfigConverter implements NuitonConverter<SeineBycatchObservedSystemConfig> { ===================================== client/core/src/main/java/fr/ird/observe/client/datasource/h2/server/H2ServerBodyContent.java ===================================== @@ -38,6 +38,7 @@ import static io.ultreia.java4all.i18n.I18n.t; * @author Tony Chemit - dev@tchemit.fr * @since ? */ +@SuppressWarnings("rawtypes") @AutoService(MainUIBodyContent.class) public class H2ServerBodyContent extends MainUIBodyContent<H2ServerUI> implements WithClientUIContextApi { ===================================== client/core/src/main/java/fr/ird/observe/client/datasource/presets/RemotePresetsBodyContent.java ===================================== @@ -29,6 +29,7 @@ import fr.ird.observe.client.main.body.MainUIBodyContent; * @author Tony Chemit - dev@tchemit.fr * @since 8 */ +@SuppressWarnings("rawtypes") @AutoService(MainUIBodyContent.class) public class RemotePresetsBodyContent extends MainUIBodyContent<RemotePresetsUI> { ===================================== client/core/src/main/java/fr/ird/observe/client/main/body/ClientConfigBodyContent.java ===================================== @@ -33,6 +33,7 @@ import java.util.function.Supplier; * @author Tony Chemit - dev@tchemit.fr * @since 8 */ +@SuppressWarnings("rawtypes") @AutoService(MainUIBodyContent.class) public class ClientConfigBodyContent extends MainUIBodyContent<ClientConfigUI> implements WithClientUIContextApi { ===================================== client/core/src/main/java/fr/ird/observe/client/main/body/ClientConfigUI.java ===================================== @@ -334,6 +334,7 @@ public class ClientConfigUI extends JXTitledPanel implements WithClientUIContext helper.addOption(ClientConfigOption.MAP_PS_STYLE_LOGBOOK_TEXT_SIZE); helper.addOption(ClientConfigOption.MAP_PS_STYLE_LOGBOOK_LINE_COLOR); helper.addOption(ClientConfigOption.MAP_PS_STYLE_LOGBOOK_POINT_COLOR); + helper.addOption(ClientConfigOption.MAP_PS_STYLE_LOGBOOK_WITH_SAMPLING_POINT_COLOR); helper.addOption(ClientConfigOption.MAP_PS_STYLE_LOGBOOK_TRANSMITTING_BUOY_LOST_POINT_COLOR); helper.addOption(ClientConfigOption.MAP_LL_STYLE_FILE); helper.addOption(ClientConfigOption.MAP_LL_STYLE_OBSERVATIONS_LINE_TRIP_COLOR); ===================================== client/core/src/main/java/fr/ird/observe/client/main/body/NoBodyContent.java ===================================== @@ -28,6 +28,7 @@ import com.google.auto.service.AutoService; * @author Tony Chemit - dev@tchemit.fr * @since 8 */ +@SuppressWarnings("rawtypes") @AutoService(MainUIBodyContent.class) public class NoBodyContent extends MainUIBodyContent<NoBodyContentComponent> { ===================================== client/datasource/actions/src/main/java/fr/ird/observe/client/datasource/actions/AdminUIBodyContent.java ===================================== @@ -55,6 +55,7 @@ import java.util.function.Supplier; * @author Tony Chemit - dev@tchemit.fr * @since 8 */ +@SuppressWarnings("rawtypes") @AutoService(MainUIBodyContent.class) public class AdminUIBodyContent extends MainUIBodyContent<AdminUI> implements WithClientUIContextApi { ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/ObserveKeyStrokesEditorApi.java ===================================== @@ -37,7 +37,7 @@ public class ObserveKeyStrokesEditorApi extends ObserveKeyStrokesSupport { //FIXME Let's design a nice new API to register KeyStroke (a new annotation, processed to generate KeyStroke resources) // Navigation - public static final KeyStroke KEY_STROKE_MAP_CONFIGURE = KeyStroke.getKeyStroke("alt pressed F2"); + public static final KeyStroke KEY_STROKE_MAP_CONFIGURE = KeyStroke.getKeyStroke("ctrl pressed F2"); public static final KeyStroke KEY_STROKE_NAVIGATION_CONFIGURE = KeyStroke.getKeyStroke("pressed F12"); public static final KeyStroke KEY_STROKE_STORAGE_MENU_LEFT = KeyStroke.getKeyStroke("pressed F1"); ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/map/TripMapContentBuilderSupport.java ===================================== @@ -68,6 +68,7 @@ import java.nio.file.Path; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; +import java.util.Comparator; import java.util.Date; import java.util.EnumMap; import java.util.HashSet; @@ -77,6 +78,7 @@ import java.util.List; import java.util.Map; import java.util.Optional; import java.util.Set; +import java.util.stream.Collectors; /** * @author Tony Chemit - dev@tchemit.fr @@ -266,9 +268,10 @@ public abstract class TripMapContentBuilderSupport implements TripMapContentBuil mapContent.addLayer(pointsLayer); } - Set<TripMapPointType> notValidTypes = new LinkedHashSet<>(notValidPoints.keySet()); + Set<TripMapPointType> notValidTypes = notValidPoints.keySet().stream().sorted(Comparator.comparing(TripMapPointType::getLabel)).collect(Collectors.toCollection(LinkedHashSet::new)); - for (TripMapPointType type : pointTypeInLegend) { + List<TripMapPointType> sortedPointTypeInLegend = pointTypeInLegend.stream().sorted(Comparator.comparing(TripMapPointType::getLabel)).collect(Collectors.toList()); + for (TripMapPointType type : sortedPointTypeInLegend) { List<TripMapPoint> notValidPointsForType = notValidPoints.get(type); String label = type.getLabel(); if (notValidPointsForType != null && !notValidPointsForType.isEmpty()) { ===================================== client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/common/TripMapContentBuilder.java ===================================== @@ -63,9 +63,12 @@ public class TripMapContentBuilder extends fr.ird.observe.client.datasource.edit TripMapPointType.psActivityObsWithFreeSchoolType, TripMapPointType.psActivityObsWithObjectSchoolType, TripMapPointType.psActivityLogbook, + TripMapPointType.psActivityLogbookWithSampling, TripMapPointType.psActivityLogbookInHarbour, TripMapPointType.psActivityLogbookWithFreeSchoolType, + TripMapPointType.psActivityLogbookWithFreeSchoolTypeWithSampling, TripMapPointType.psActivityLogbookWithObjectSchoolType, + TripMapPointType.psActivityLogbookWithObjectSchoolTypeWithSampling, TripMapPointType.psTransmittingBuoyLostLogbook )), createLineBuilder(true)); } @@ -81,6 +84,7 @@ public class TripMapContentBuilder extends fr.ird.observe.client.datasource.edit result.add("mapPsStyleLogbookTextSize"); result.add("mapPsStyleLogbookLineColor"); result.add("mapPsStyleLogbookPointColor"); + result.add("mapPsStyleLogbookWithSamplingPointColor"); result.add("mapPsStyleLogbookTransmittingBuoyLostPointColor"); return result; } ===================================== client/datasource/editor/ps/src/main/resources/map/ps-style.xml ===================================== @@ -318,6 +318,33 @@ </Rule> </FeatureTypeStyle> + <FeatureTypeStyle> + <Rule> + <Name>Other (with sampling)</Name> + <ogc:Filter> + <ogc:PropertyIsEqualTo> + <ogc:PropertyName>pointType</ogc:PropertyName> + <ogc:Literal>psActivityLogbookWithSampling</ogc:Literal> + </ogc:PropertyIsEqualTo> + </ogc:Filter> + <PointSymbolizer> + <Graphic> + <Mark> + <WellKnownName>ttf://Serif#U+2299</WellKnownName> + <Fill> + <CssParameter name="fill">${mapPsStyleLogbookWithSamplingPointColor}</CssParameter> + </Fill> + <Stroke> + <CssParameter name="stroke">#000000</CssParameter> + <CssParameter name="stroke-width">1</CssParameter> + </Stroke> + </Mark> + <Size>16</Size> + </Graphic> + </PointSymbolizer> + </Rule> + </FeatureTypeStyle> + <FeatureTypeStyle> <Rule> <Name>With free school type</Name> @@ -345,6 +372,33 @@ </Rule> </FeatureTypeStyle> + <FeatureTypeStyle> + <Rule> + <Name>With free school type (with sampling)</Name> + <ogc:Filter> + <ogc:PropertyIsEqualTo> + <ogc:PropertyName>pointType</ogc:PropertyName> + <ogc:Literal>psActivityLogbookWithFreeSchoolTypeWithSampling</ogc:Literal> + </ogc:PropertyIsEqualTo> + </ogc:Filter> + <PointSymbolizer> + <Graphic> + <Mark> + <WellKnownName>ttf://Serif#U+25C8</WellKnownName> + <Fill> + <CssParameter name="fill">${mapPsStyleLogbookWithSamplingPointColor}</CssParameter> + </Fill> + <Stroke> + <CssParameter name="stroke">#000000</CssParameter> + <CssParameter name="stroke-width">1</CssParameter> + </Stroke> + </Mark> + <Size>16</Size> + </Graphic> + </PointSymbolizer> + </Rule> + </FeatureTypeStyle> + <FeatureTypeStyle> <Rule> <Name>With object school type</Name> @@ -366,7 +420,34 @@ <CssParameter name="stroke-width">1</CssParameter> </Stroke> </Mark> - <Size>12</Size> + <Size>16</Size> + </Graphic> + </PointSymbolizer> + </Rule> + </FeatureTypeStyle> + + <FeatureTypeStyle> + <Rule> + <Name>With object school type (with sampling)</Name> + <ogc:Filter> + <ogc:PropertyIsEqualTo> + <ogc:PropertyName>pointType</ogc:PropertyName> + <ogc:Literal>psActivityLogbookWithObjectSchoolTypeWithSampling</ogc:Literal> + </ogc:PropertyIsEqualTo> + </ogc:Filter> + <PointSymbolizer> + <Graphic> + <Mark> + <WellKnownName>ttf://Serif#U+2295</WellKnownName> + <Fill> + <CssParameter name="fill">${mapPsStyleLogbookWithSamplingPointColor}</CssParameter> + </Fill> + <Stroke> + <CssParameter name="stroke">#000000</CssParameter> + <CssParameter name="stroke-width">1</CssParameter> + </Stroke> + </Mark> + <Size>16</Size> </Graphic> </PointSymbolizer> </Rule> ===================================== client/runner/src/main/i18n/translations/client-runner_en_GB.properties ===================================== @@ -103,6 +103,7 @@ observe.config.map.ps.style.logbook.point.color=[PS - Logbook] Color for points observe.config.map.ps.style.logbook.text.color=[PS - Logbook] Color for text observe.config.map.ps.style.logbook.text.size=[PS - Logbook] Size for text observe.config.map.ps.style.logbook.transmitting.buoy.lost.point.color=[PS - Logbook] Color for transmitting buoy lost points +observe.config.map.ps.style.logbook.withSampling.point.color=[PS - Logbook] Color for points (with sampling) observe.config.map.ps.style.observations.line.color=[PS - Observations] Color for lines observe.config.map.ps.style.observations.point.color=[PS - Observations] Color for points observe.config.map.ps.style.observations.text.color=[PS - Observations] Color for text ===================================== client/runner/src/main/i18n/translations/client-runner_es_ES.properties ===================================== @@ -103,6 +103,7 @@ observe.config.map.ps.style.logbook.point.color=[PS - Logbook] Color for points observe.config.map.ps.style.logbook.text.color=[PS - Logbook] Color for text observe.config.map.ps.style.logbook.text.size=[PS - Logbook] Size for text observe.config.map.ps.style.logbook.transmitting.buoy.lost.point.color=[PS - Logbook] Color for transmitting buoy lost points +observe.config.map.ps.style.logbook.withSampling.point.color=[PS - Logbook] Color for points (with sampling) \#TODO observe.config.map.ps.style.observations.line.color=[PS - Observations] Color for lines observe.config.map.ps.style.observations.point.color=[PS - Observations] Color for points observe.config.map.ps.style.observations.text.color=[PS - Observations] Color for text ===================================== client/runner/src/main/i18n/translations/client-runner_fr_FR.properties ===================================== @@ -103,6 +103,7 @@ observe.config.map.ps.style.logbook.point.color=[Senne - Livre de bord] Couleur observe.config.map.ps.style.logbook.text.color=[Senne - Livre de bord] Couleur pour les textes observe.config.map.ps.style.logbook.text.size=[Senne - Livre de bord] Taille pour les textes observe.config.map.ps.style.logbook.transmitting.buoy.lost.point.color=[Senne - Observations] Couleur pour la fin de transmission de balise +observe.config.map.ps.style.logbook.withSampling.point.color=[Senne - Livre de bord] Couleur pour les points (avec échantillonnage) observe.config.map.ps.style.observations.line.color=[Senne - Observations] Couleur pour les traces observe.config.map.ps.style.observations.point.color=[Senne - Observations] Couleur pour les points observe.config.map.ps.style.observations.text.color=[Senne - Observations] Couleur pour les textes ===================================== core/api/dto/src/main/i18n/getters/java-enumeration.getter ===================================== @@ -33,7 +33,10 @@ observe.constant.TripMapPointType.llTripLandingHarbour observe.constant.TripMapPointType.psActivityLogbook observe.constant.TripMapPointType.psActivityLogbookInHarbour observe.constant.TripMapPointType.psActivityLogbookWithFreeSchoolType +observe.constant.TripMapPointType.psActivityLogbookWithFreeSchoolTypeWithSampling observe.constant.TripMapPointType.psActivityLogbookWithObjectSchoolType +observe.constant.TripMapPointType.psActivityLogbookWithObjectSchoolTypeWithSampling +observe.constant.TripMapPointType.psActivityLogbookWithSampling observe.constant.TripMapPointType.psActivityObs observe.constant.TripMapPointType.psActivityObsInHarbour observe.constant.TripMapPointType.psActivityObsWithFreeSchoolType ===================================== core/api/dto/src/main/java/fr/ird/observe/dto/data/TripMapPointType.java ===================================== @@ -43,9 +43,12 @@ public enum TripMapPointType { psActivityObsWithObjectSchoolType, psActivityLogbook, + psActivityLogbookWithSampling, psActivityLogbookInHarbour, psActivityLogbookWithFreeSchoolType, + psActivityLogbookWithFreeSchoolTypeWithSampling, psActivityLogbookWithObjectSchoolType, + psActivityLogbookWithObjectSchoolTypeWithSampling, psTransmittingBuoyLostLogbook, llTripDepartureHarbour, ===================================== core/persistence/java/src/main/java/fr/ird/observe/entities/data/ps/common/TripMapBuilder.java ===================================== @@ -94,7 +94,8 @@ public class TripMapBuilder { /* 03 */ " a.latitude," + /* 04 */ " a.longitude," + /* 05 */ " a.vesselActivity," + - /* 06 */ " a.schoolType" + + /* 06 */ " a.schoolType," + + /* 07 */ " (SELECT count(*) FROM ps_logbook.sampleActivity sa WHERE sa.activity = a.topiaId)" + " FROM ps_logbook.route r" + " INNER JOIN ps_logbook.activity a ON a.route = r.topiaId" + " WHERE r.trip = ?" + @@ -106,15 +107,25 @@ public class TripMapBuilder { String schoolType = resultSet.getString(6); String vesselActivityId = resultSet.getString(5); TripMapPointType type = TripMapPointType.psActivityLogbook; + boolean withSample = resultSet.getInt(7) > 0; + if (withSample) { + type = TripMapPointType.psActivityLogbookWithSampling; + } if (ProtectedIdsPs.PS_COMMON_ACTIVITY_HARBOUR_ID.equals(vesselActivityId)) { type = TripMapPointType.psActivityLogbookInHarbour; } else if (schoolType != null) { switch (schoolType) { case ProtectedIdsPs.PS_COMMON_SCHOOL_TYPE_FREE_ID: type = TripMapPointType.psActivityLogbookWithFreeSchoolType; + if (withSample) { + type = TripMapPointType.psActivityLogbookWithFreeSchoolTypeWithSampling; + } break; case ProtectedIdsPs.PS_COMMON_SCHOOL_TYPE_OBJECT_ID: type = TripMapPointType.psActivityLogbookWithObjectSchoolType; + if (withSample) { + type = TripMapPointType.psActivityLogbookWithObjectSchoolTypeWithSampling; + } break; } } ===================================== core/services/i18n/src/main/i18n/translations/services_en_GB.properties ===================================== @@ -460,7 +460,10 @@ observe.constant.TripMapPointType.llTripLandingHarbour=Port landing observe.constant.TripMapPointType.psActivityLogbook=Logbook - Other activity observe.constant.TripMapPointType.psActivityLogbookInHarbour=Logbook - In port observe.constant.TripMapPointType.psActivityLogbookWithFreeSchoolType=Logbook - Free School type +observe.constant.TripMapPointType.psActivityLogbookWithFreeSchoolTypeWithSampling=Logbook - Free School type (with sampling) observe.constant.TripMapPointType.psActivityLogbookWithObjectSchoolType=Logbook - Object School type +observe.constant.TripMapPointType.psActivityLogbookWithObjectSchoolTypeWithSampling=Logbook - Object School type (with sampling) +observe.constant.TripMapPointType.psActivityLogbookWithSampling=Logbook - Other activity (with sampling) observe.constant.TripMapPointType.psActivityObs=Observation - Other activity observe.constant.TripMapPointType.psActivityObsInHarbour=Observation - In port observe.constant.TripMapPointType.psActivityObsWithFreeSchoolType=Observation - Free School type ===================================== core/services/i18n/src/main/i18n/translations/services_es_ES.properties ===================================== @@ -460,7 +460,10 @@ observe.constant.TripMapPointType.llTripLandingHarbour=Puerto de llegada observe.constant.TripMapPointType.psActivityLogbook=Logbook - Otro Actividad observe.constant.TripMapPointType.psActivityLogbookInHarbour=Logbook - En puerto observe.constant.TripMapPointType.psActivityLogbookWithFreeSchoolType=Logbook - Banco libre +observe.constant.TripMapPointType.psActivityLogbookWithFreeSchoolTypeWithSampling=Logbook - Banco libre (with sampling) \#TODO observe.constant.TripMapPointType.psActivityLogbookWithObjectSchoolType=Logbook - Banco a objeto +observe.constant.TripMapPointType.psActivityLogbookWithObjectSchoolTypeWithSampling=Logbook - Banco a objeto (with sampling) \#TODO +observe.constant.TripMapPointType.psActivityLogbookWithSampling=Logbook - Otro Actividad (with sampling) \#TODO observe.constant.TripMapPointType.psActivityObs=Observation - Otro Actividad observe.constant.TripMapPointType.psActivityObsInHarbour=Observation - En puerto observe.constant.TripMapPointType.psActivityObsWithFreeSchoolType=Observation - Banco libre ===================================== core/services/i18n/src/main/i18n/translations/services_fr_FR.properties ===================================== @@ -457,10 +457,13 @@ observe.constant.TripMapPointType.llActivityObsWithSettingEnd=Observation - Fin observe.constant.TripMapPointType.llActivityObsWithSettingStart=Observation - Début de filage observe.constant.TripMapPointType.llTripDepartureHarbour=Port de départ observe.constant.TripMapPointType.llTripLandingHarbour=Port d'arrivée -observe.constant.TripMapPointType.psActivityLogbook=Livre de Bord - Autre activité -observe.constant.TripMapPointType.psActivityLogbookInHarbour=Livre de Bord - Au port -observe.constant.TripMapPointType.psActivityLogbookWithFreeSchoolType=Livre de Bord - Banc libre -observe.constant.TripMapPointType.psActivityLogbookWithObjectSchoolType=Livre de Bord - Banc objet +observe.constant.TripMapPointType.psActivityLogbook=Livre de bord - Autre activité +observe.constant.TripMapPointType.psActivityLogbookInHarbour=Livre de bord - Au port +observe.constant.TripMapPointType.psActivityLogbookWithFreeSchoolType=Livre de bord - Banc libre +observe.constant.TripMapPointType.psActivityLogbookWithFreeSchoolTypeWithSampling=Livre de bord - Banc libre (avec échantillonnage) +observe.constant.TripMapPointType.psActivityLogbookWithObjectSchoolType=Livre de bord - Banc objet +observe.constant.TripMapPointType.psActivityLogbookWithObjectSchoolTypeWithSampling=Livre de bord - Banc objet (avec échantillonnage) +observe.constant.TripMapPointType.psActivityLogbookWithSampling=Livre de bord - Autre activité (avec échantillonnage) observe.constant.TripMapPointType.psActivityObs=Observation - Autre activité observe.constant.TripMapPointType.psActivityObsInHarbour=Observation - Au port observe.constant.TripMapPointType.psActivityObsWithFreeSchoolType=Observation - Banc libre View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/5a1869b73eb86a3709ab9a621... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/5a1869b73eb86a3709ab9a621... You're receiving this email because of your account on gitlab.com.