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
June 2020
- 1 participants
- 51 discussions
[Git][ultreiaio/ird-observe][develop] Bascule entre langues - Closes #1553
by Tony CHEMIT 30 Jun '20
by Tony CHEMIT 30 Jun '20
30 Jun '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
621d20eb by Tony Chemit at 2020-06-30T13:41:44+02:00
Bascule entre langues - Closes #1553
- - - - -
5 changed files:
- client-core/src/main/java/fr/ird/observe/client/ObserveSwingApplicationContext.java
- client-core/src/main/java/fr/ird/observe/client/main/actions/CloseApplicationAction.java
- client-core/src/main/java/fr/ird/observe/client/main/actions/ReloadApplicationAction.java
- client-core/src/main/java/fr/ird/observe/client/main/callback/ReloadApplicationCallback.java
- client-runner/src/main/java/fr/ird/observe/client/RunObserve.java
Changes:
=====================================
client-core/src/main/java/fr/ird/observe/client/ObserveSwingApplicationContext.java
=====================================
@@ -22,7 +22,7 @@
package fr.ird.observe.client;
import fr.ird.observe.client.configuration.ClientConfig;
-import fr.ird.observe.client.configuration.ClientConfigApplicationComponent;
+import fr.ird.observe.client.datasource.api.ObserveSwingDataSource;
import fr.ird.observe.services.ObserveServiceMainFactory;
import fr.ird.observe.services.ObserveServiceMainFactoryApplicationComponent;
import fr.ird.observe.spi.DtoModelHelper;
@@ -30,6 +30,8 @@ import io.ultreia.java4all.application.context.ApplicationContext;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import java.util.Optional;
+
import static io.ultreia.java4all.i18n.I18n.n;
/**
@@ -43,6 +45,7 @@ import static io.ultreia.java4all.i18n.I18n.n;
public class ObserveSwingApplicationContext extends ApplicationContext {
private static final Logger log = LogManager.getLogger(ObserveSwingApplicationContext.class);
+ private static ObserveSwingDataSource dataSourceToReload;
public static ObserveSwingApplicationContext init(ClientConfig config) {
ClientConfigFinderInstance.config = config;
@@ -90,4 +93,12 @@ public class ObserveSwingApplicationContext extends ApplicationContext {
n("observe.runner.initStorage.title.no.local.db.found");
}
+
+ public static void setDataSourceToReload(ObserveSwingDataSource dataSourceToReload) {
+ ObserveSwingApplicationContext.dataSourceToReload = dataSourceToReload;
+ }
+
+ public static Optional<ObserveSwingDataSource> getDataSourceToReload() {
+ return Optional.ofNullable(dataSourceToReload);
+ }
}
=====================================
client-core/src/main/java/fr/ird/observe/client/main/actions/CloseApplicationAction.java
=====================================
@@ -28,6 +28,7 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.nuiton.jaxx.runtime.swing.application.ApplicationRunner;
+import javax.swing.KeyStroke;
import java.awt.event.ActionEvent;
import static io.ultreia.java4all.i18n.I18n.t;
@@ -46,6 +47,22 @@ public class CloseApplicationAction extends MainUIActionSupport implements Runna
super(t("observe.action.exit"), t("observe.action.exit.tip"), "exit", 'Q');
}
+ public CloseApplicationAction(String label, String shortDescription, String actionIcon, KeyStroke acceleratorKey) {
+ super(label, shortDescription, actionIcon, acceleratorKey);
+ }
+
+ public CloseApplicationAction(String actionCommandKey, String label, String shortDescription, String actionIcon, KeyStroke acceleratorKey) {
+ super(actionCommandKey, label, shortDescription, actionIcon, acceleratorKey);
+ }
+
+ public CloseApplicationAction(String label, String shortDescription, String actionIcon, char acceleratorKey) {
+ super(label, shortDescription, actionIcon, acceleratorKey);
+ }
+
+ public CloseApplicationAction(String actionCommandKey, String label, String shortDescription, String actionIcon, char acceleratorKey) {
+ super(actionCommandKey, label, shortDescription, actionIcon, acceleratorKey);
+ }
+
@Override
public void run() {
=====================================
client-core/src/main/java/fr/ird/observe/client/main/actions/ReloadApplicationAction.java
=====================================
@@ -22,12 +22,13 @@ package fr.ird.observe.client.main.actions;
* #L%
*/
-import fr.ird.observe.client.main.ObserveMainUI;
+import fr.ird.observe.client.ObserveSwingApplicationContext;
+import fr.ird.observe.client.datasource.api.ObserveSwingDataSource;
import fr.ird.observe.client.main.body.NoBodyContentComponent;
+import fr.ird.observe.client.util.UIHelper;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-
-import java.awt.event.ActionEvent;
+import org.nuiton.jaxx.runtime.swing.application.ApplicationRunner;
import static io.ultreia.java4all.i18n.I18n.t;
@@ -37,7 +38,7 @@ import static io.ultreia.java4all.i18n.I18n.t;
* @author Tony Chemit - dev(a)tchemit.fr
* @since 8.0
*/
-public class ReloadApplicationAction extends MainUIActionSupport {
+public class ReloadApplicationAction extends CloseApplicationAction {
private static final Logger log = LogManager.getLogger(ReloadApplicationAction.class);
@@ -46,14 +47,28 @@ public class ReloadApplicationAction extends MainUIActionSupport {
}
@Override
- protected void doActionPerformed(ActionEvent event, ObserveMainUI ui) {
-
+ public void run() {
log.info("ObServe reloading...");
+
boolean canContinue = ui.changeBodyContent(NoBodyContentComponent.class);
-// boolean canContinue = ContentUIManagerApplicationComponent.value().closeSelectedContentUI();
- if (canContinue) {
- getClientUIContext().getUiCallbackManager().run("application");
+ if (!canContinue) {
+ return;
+ }
+
+ ObserveSwingDataSource mainDataSource = getObserveDataSourcesManager().getMainDataSource();
+ if (mainDataSource != null) {
+ if (mainDataSource.isOpen()) {
+ try {
+ mainDataSource.close();
+ } catch (Exception e) {
+ UIHelper.handlingError("Can't close data source", e);
+ mainDataSource = null;
+ }
+ }
+ ObserveSwingApplicationContext.setDataSourceToReload(mainDataSource);
}
+ ApplicationRunner.getRunner().setReload(true);
+ super.run();
}
}
=====================================
client-core/src/main/java/fr/ird/observe/client/main/callback/ReloadApplicationCallback.java
=====================================
@@ -25,9 +25,8 @@ package fr.ird.observe.client.main.callback;
import com.google.auto.service.AutoService;
import fr.ird.observe.client.ClientUIContext;
import fr.ird.observe.client.main.ObserveMainUI;
-import fr.ird.observe.client.main.actions.CloseApplicationAction;
+import fr.ird.observe.client.main.actions.ReloadApplicationAction;
import org.nuiton.jaxx.runtime.swing.SwingUtil;
-import org.nuiton.jaxx.runtime.swing.application.ApplicationRunner;
import javax.swing.Icon;
@@ -64,8 +63,7 @@ public class ReloadApplicationCallback implements ObserveUICallback {
@Override
public void run() {
- ApplicationRunner.getRunner().setReload(true);
- CloseApplicationAction action = new CloseApplicationAction();
+ ReloadApplicationAction action = new ReloadApplicationAction();
action.setUi(mainUI);
action.run();
}
=====================================
client-runner/src/main/java/fr/ird/observe/client/RunObserve.java
=====================================
@@ -75,6 +75,7 @@ import java.util.Arrays;
import java.util.Date;
import java.util.EnumSet;
import java.util.Locale;
+import java.util.Optional;
import java.util.Set;
import java.util.logging.Level;
@@ -271,7 +272,9 @@ public class RunObserve extends ApplicationRunner implements WithBackupsManager,
//
// return;
// }
- if (!config.isLoadLocalStorage()) {
+ Optional<ObserveSwingDataSource> dataSourceToReload = ObserveSwingApplicationContext.getDataSourceToReload();
+ ObserveSwingApplicationContext.setDataSourceToReload(null);
+ if (!config.isLoadLocalStorage() && !dataSourceToReload.isPresent()) {
// on ne charge rien au démarrage
log.info(t("observe.runner.loaded", config.getVersion()));
@@ -280,7 +283,8 @@ public class RunObserve extends ApplicationRunner implements WithBackupsManager,
// 4 - init storage
- Runnable initStorage = () -> initStorage(config, ui);
+
+ Runnable initStorage = () -> initStorage(config, ui, dataSourceToReload.orElse(null));
getObserveActionExecutor().addAction(t("observe.runner.load.database"), initStorage);
}
@@ -364,57 +368,65 @@ public class RunObserve extends ApplicationRunner implements WithBackupsManager,
//FIXME Need to have a unified API and only one
//FIXME first try to open specified ds (here local ds)
//FIXME if can not load local ds, then feedback it and propose to load automatic backup, or to create a new local ds
- private void initStorage(ClientConfig config, JFrame ui) {
+ private void initStorage(ClientConfig config, JFrame ui, ObserveSwingDataSource previousDataSource) {
ObserveMainUI mainUI = (ObserveMainUI) ui;
ObserveDataSourcesManager dataSourcesManager = getObserveDataSourcesManager();
BackupsManager backupsManager = getBackupsManager();
- BackupStorage lastAutomaticBackup = backupsManager.getAutomaticBackups().stream().findFirst().orElse(null);
-
- boolean askToCreate = true;
- if (config.isLocalStorageExist()) {
+ if (previousDataSource != null) {
- // une base locale existe, on l'ouvre
+ // reuse previous data source
+ previousDataSource.setProgressModel(new ProgressModel());
+ mainUI.getMainUIBodyContentManager().getBodyTyped(DataSourceEditor.class, DataSourceEditorBodyContent.class).loadStorage(mainUI, previousDataSource, true);
- ObserveSwingDataSource dataSource = dataSourcesManager.newLocalDataSource();
- dataSource.setProgressModel(new ProgressModel());
+ } else if (config.isLoadLocalStorage()){
- try {
+ boolean askToCreate = true;
+ BackupStorage lastAutomaticBackup = backupsManager.getAutomaticBackups().stream().findFirst().orElse(null);
- ObserveDataSourceInformation dataSourceInformation = dataSource.checkCanConnect(false);
- dataSource.setOwner(dataSourceInformation.isOwner());
- dataSource.setSuperUser(dataSourceInformation.isSuperUser());
- dataSource.migrateDataIfPossible(dataSourceInformation, config.getModelVersion());
+ if (config.isLocalStorageExist()) {
- // la source sera utilisée dans les ui
- mainUI.getMainUIBodyContentManager().getBodyTyped(DataSourceEditor.class, DataSourceEditorBodyContent.class).loadStorage(mainUI, dataSource, true);
+ // une base locale existe, on l'ouvre
- askToCreate = false;
- } catch (Exception e) {
+ ObserveSwingDataSource dataSource = dataSourcesManager.newLocalDataSource();
+ dataSource.setProgressModel(new ProgressModel());
- if (lastAutomaticBackup != null) {
+ try {
- log.error("Could not load local database", e);
+ ObserveDataSourceInformation dataSourceInformation = dataSource.checkCanConnect(false);
+ dataSource.setOwner(dataSourceInformation.isOwner());
+ dataSource.setSuperUser(dataSourceInformation.isSuperUser());
+ dataSource.migrateDataIfPossible(dataSourceInformation, config.getModelVersion());
- InitStorageModel initStorageModel = new InitStorageModel(config.getLocalDBDirectory(), lastAutomaticBackup);
+ // la source sera utilisée dans les ui
+ mainUI.getMainUIBodyContentManager().getBodyTyped(DataSourceEditor.class, DataSourceEditorBodyContent.class).loadStorage(mainUI, dataSource, true);
- JOptionPane.showMessageDialog(
- mainUI,
- t("observe.runner.initStorage.local.db.error", initStorageModel.getBackupDate()),
- t("observe.runner.title.error.dialog"),
- JOptionPane.WARNING_MESSAGE
- );
- loadBackup(dataSourcesManager, mainUI, lastAutomaticBackup);
askToCreate = false;
+ } catch (Exception e) {
+
+ if (lastAutomaticBackup != null) {
+
+ log.error("Could not load local database", e);
+
+ InitStorageModel initStorageModel = new InitStorageModel(config.getLocalDBDirectory(), lastAutomaticBackup);
+
+ JOptionPane.showMessageDialog(
+ mainUI,
+ t("observe.runner.initStorage.local.db.error", initStorageModel.getBackupDate()),
+ t("observe.runner.title.error.dialog"),
+ JOptionPane.WARNING_MESSAGE
+ );
+ loadBackup(dataSourcesManager, mainUI, lastAutomaticBackup);
+ askToCreate = false;
+ }
}
- }
- }
- if (askToCreate) {
- askToCreateLocalDatabase(mainUI, config, dataSourcesManager, lastAutomaticBackup);
+ if (askToCreate) {
+ askToCreateLocalDatabase(mainUI, config, dataSourcesManager, lastAutomaticBackup);
+ }
+ }
}
-
log.info(t("observe.runner.initStorage.done"));
}
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/621d20eb4303b6d0fb9854bd5…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/621d20eb4303b6d0fb9854bd5…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 2 commits: Élimination des points non effectifs dans la carte - Closes #1560
by Tony CHEMIT 30 Jun '20
by Tony CHEMIT 30 Jun '20
30 Jun '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
42c7753d by Tony Chemit at 2020-06-30T13:00:25+02:00
Élimination des points non effectifs dans la carte - Closes #1560
- - - - -
7b72d889 by Tony Chemit at 2020-06-30T13:00:26+02:00
Carte - Closes #1517
- - - - -
20 changed files:
- client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/trip/map/ObserveMapPaneLegendItem.java
- client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/trip/map/TripMapContentBuilder.java
- client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/trip/map/TripMapUIHandler.java
- client-datasource-editor-common/src/main/map/ll-style.xml
- client-datasource-editor-common/src/main/map/ps-style.xml
- client-datasource-editor-ll/src/main/i18n/getters/java.getter
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/common/TripMapContentBuilder.java
- client-datasource-editor-ps/src/main/i18n/getters/java.getter
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/common/TripMapContentBuilder.java
- dto/src/main/java/fr/ird/observe/dto/data/TripMapPoint.java
- dto/src/main/java/fr/ird/observe/spi/DtoModelClasses.java
- observe-i18n/src/main/i18n/translations/observe_en_GB.properties
- observe-i18n/src/main/i18n/translations/observe_es_ES.properties
- observe-i18n/src/main/i18n/translations/observe_fr_FR.properties
- persistence/src/main/java/fr/ird/observe/entities/Entities.java
- persistence/src/main/java/fr/ird/observe/entities/data/ll/common/TripTopiaDao.java
- persistence/src/main/java/fr/ird/observe/entities/data/ps/common/TripTopiaDao.java
- services-local/src/main/java/fr/ird/observe/services/local/service/actions/validate/ValidateServiceLocal.java
- services-local/src/main/java/fr/ird/observe/services/local/service/referential/ReferentialServiceLocal.java
- services-local/src/main/java/fr/ird/observe/services/local/service/sql/SqlScriptProducerServiceLocal.java
Changes:
=====================================
client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/trip/map/ObserveMapPaneLegendItem.java
=====================================
@@ -49,13 +49,13 @@ public class ObserveMapPaneLegendItem {
public static Coordinate[] lineCoordinates() {
Coordinate[] coordinates = new Coordinate[2];
- coordinates[0] = new Coordinate(LEGEND_MARGIN, LEGEND_ITEM_HEIGHT / 2);
- coordinates[1] = new Coordinate(LEGEND_SYMBOL_WIDTH - LEGEND_MARGIN, LEGEND_ITEM_HEIGHT / 2);
+ coordinates[0] = new Coordinate(LEGEND_MARGIN, LEGEND_ITEM_HEIGHT / 2.);
+ coordinates[1] = new Coordinate(LEGEND_SYMBOL_WIDTH - LEGEND_MARGIN, LEGEND_ITEM_HEIGHT / 2.);
return coordinates;
}
public static Coordinate pointCoordinates() {
- return new Coordinate(LEGEND_SYMBOL_WIDTH / 2, LEGEND_ITEM_HEIGHT / 2);
+ return new Coordinate(LEGEND_SYMBOL_WIDTH / 2., LEGEND_ITEM_HEIGHT / 2.);
}
public SimpleFeature getSimpleFeature() {
=====================================
client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/trip/map/TripMapContentBuilder.java
=====================================
@@ -62,11 +62,14 @@ import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashSet;
+import java.util.LinkedList;
import java.util.List;
import java.util.Optional;
import java.util.ServiceLoader;
import java.util.Set;
+import static io.ultreia.java4all.i18n.I18n.t;
+
/**
* @author Tony Chemit - dev(a)tchemit.fr
*/
@@ -76,12 +79,14 @@ public abstract class TripMapContentBuilder {
protected static final String TRIP_LOGBOOK_POINTS_LAYER_NAME = "Trip Logbook points";
protected static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("dd/MM");
- protected MapContent mapContent;
+ private static ImmutableSet<TripMapContentBuilder> PROVIDERS;
+
protected final List<ObserveMapPaneLegendItem> legendItems;
+ protected final List<TripMapPoint> notValidPoints = new LinkedList<>();
protected final Set<TripMapPointType> acceptedTripPointTypes;
+ protected MapContent mapContent;
protected StyledLayerDescriptor styledLayerDescriptor;
- private static ImmutableSet<TripMapContentBuilder> PROVIDERS;
public abstract boolean accept(TripMapDto tripMapDto);
@@ -121,7 +126,8 @@ public abstract class TripMapContentBuilder {
private void reset() {
legendItems.clear();
- mapContent=new MapContent();
+ notValidPoints.clear();
+ mapContent = new MapContent();
}
protected TripMapContentBuilder(Set<TripMapPointType> acceptedTripPointTypes) {
@@ -152,7 +158,7 @@ public abstract class TripMapContentBuilder {
mapContent.addLayer(layer);
}
- public void addPoints(List<TripMapPoint> tripMapPoints, String layerName) throws FactoryException {
+ public void addPoints(List<TripMapPoint> tripMapPoints, String layerName, String notValidPointsLabel) throws FactoryException {
GeometryFactory geometryFactory = JTSFactoryFinder.getGeometryFactory();
@@ -171,8 +177,11 @@ public abstract class TripMapContentBuilder {
Style stylePoints = findStyle(styledLayerDescriptor, layerName, null);
Set<TripMapPointType> pointTypeInLegend = new HashSet<>();
-
for (TripMapPoint tripMapPoint : tripMapPoints) {
+ if (!tripMapPoint.isValid()) {
+ notValidPoints.add(tripMapPoint);
+ continue;
+ }
Coordinate coordinate = new Coordinate(tripMapPoint.getLongitude(), tripMapPoint.getLatitude());
TripMapPointType type = tripMapPoint.getType();
@@ -205,6 +214,19 @@ public abstract class TripMapContentBuilder {
mapContent.addLayer(pointsLayer);
}
+ if (!notValidPoints.isEmpty()) {
+ Point point = geometryFactory.createPoint(ObserveMapPaneLegendItem.pointCoordinates());
+ pointBuilder.add(point);
+ pointBuilder.add("");
+ pointBuilder.add("notValidPoint");
+
+ ObserveMapPaneLegendItem legendPoint = new ObserveMapPaneLegendItem(
+ pointBuilder.buildFeature(null),
+ stylePoints,
+ t(notValidPointsLabel, notValidPoints.size()));
+ legendItems.add(legendPoint);
+ }
+
}
=====================================
client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/trip/map/TripMapUIHandler.java
=====================================
@@ -94,7 +94,9 @@ public class TripMapUIHandler implements UIHandler<TripMapUI> {
// set zoom
tripArea = new ReferencedEnvelope();
for (TripMapPoint point : tripMapPoints) {
- tripArea.expandToInclude(new DirectPosition2D(point.getLongitude(), point.getLatitude()));
+ if (point.isValid()) {
+ tripArea.expandToInclude(new DirectPosition2D(point.getLongitude(), point.getLatitude()));
+ }
}
tripArea.expandBy(1.1);
=====================================
client-datasource-editor-common/src/main/map/ll-style.xml
=====================================
@@ -118,7 +118,7 @@
<LineSymbolizer>
<Stroke>
<CssParameter name="stroke">#00FF00</CssParameter>
- <CssParameter name="stroke-width">1</CssParameter>
+ <CssParameter name="stroke-width">2</CssParameter>
<CssParameter name="stroke-dasharray">5 7</CssParameter>
</Stroke>
</LineSymbolizer>
@@ -404,6 +404,33 @@
</TextSymbolizer>
</Rule>
</FeatureTypeStyle>
+ <FeatureTypeStyle>
+ <Rule>
+ <Name>Not valid observation point</Name>
+ <ogc:Filter>
+ <ogc:PropertyIsEqualTo>
+ <ogc:PropertyName>pointType</ogc:PropertyName>
+ <ogc:Literal>notValidPoint</ogc:Literal>
+ </ogc:PropertyIsEqualTo>
+ </ogc:Filter>
+ <PointSymbolizer>
+ <Graphic>
+ <Mark>
+ <WellKnownName>ttf://Serif#U+0021</WellKnownName>
+ <Fill>
+ <CssParameter name="fill">#00FF00</CssParameter>
+ </Fill>
+ <Stroke>
+ <CssParameter name="stroke">#000000</CssParameter>
+ <CssParameter name="stroke-width">1</CssParameter>
+ </Stroke>
+ </Mark>
+ <Size>12</Size>
+ </Graphic>
+ </PointSymbolizer>
+ </Rule>
+ </FeatureTypeStyle>
+
</UserStyle>
</NamedLayer>
@@ -596,6 +623,33 @@
</Rule>
</FeatureTypeStyle>
+ <FeatureTypeStyle>
+ <Rule>
+ <Name>Not valid logbook point</Name>
+ <ogc:Filter>
+ <ogc:PropertyIsEqualTo>
+ <ogc:PropertyName>pointType</ogc:PropertyName>
+ <ogc:Literal>notValidPoint</ogc:Literal>
+ </ogc:PropertyIsEqualTo>
+ </ogc:Filter>
+ <PointSymbolizer>
+ <Graphic>
+ <Mark>
+ <WellKnownName>ttf://Serif#U+0021</WellKnownName>
+ <Fill>
+ <CssParameter name="fill">#FF0000</CssParameter>
+ </Fill>
+ <Stroke>
+ <CssParameter name="stroke">#000000</CssParameter>
+ <CssParameter name="stroke-width">1</CssParameter>
+ </Stroke>
+ </Mark>
+ <Size>12</Size>
+ </Graphic>
+ </PointSymbolizer>
+ </Rule>
+ </FeatureTypeStyle>
+
</UserStyle>
</NamedLayer>
=====================================
client-datasource-editor-common/src/main/map/ps-style.xml
=====================================
@@ -196,6 +196,33 @@
</Rule>
</FeatureTypeStyle>
+ <FeatureTypeStyle>
+ <Rule>
+ <Name>Not valid point</Name>
+ <ogc:Filter>
+ <ogc:PropertyIsEqualTo>
+ <ogc:PropertyName>pointType</ogc:PropertyName>
+ <ogc:Literal>notValidPoint</ogc:Literal>
+ </ogc:PropertyIsEqualTo>
+ </ogc:Filter>
+ <PointSymbolizer>
+ <Graphic>
+ <Mark>
+ <WellKnownName>ttf://Serif#U+0021</WellKnownName>
+ <Fill>
+ <CssParameter name="fill">#00FF00</CssParameter>
+ </Fill>
+ <Stroke>
+ <CssParameter name="stroke">#000000</CssParameter>
+ <CssParameter name="stroke-width">1</CssParameter>
+ </Stroke>
+ </Mark>
+ <Size>12</Size>
+ </Graphic>
+ </PointSymbolizer>
+ </Rule>
+ </FeatureTypeStyle>
+
</UserStyle>
</NamedLayer>
=====================================
client-datasource-editor-ll/src/main/i18n/getters/java.getter
=====================================
@@ -317,6 +317,8 @@ observe.data.ll.observation.WeightMeasure.table.weight.tip
observe.data.ll.observation.WeightMeasure.table.weightMeasureType
observe.data.ll.observation.WeightMeasure.table.weightMeasureType.tip
observe.data.ps.common.GearUseFeatures.delete
+observe.map.logbook.points.not.valid
+observe.map.observation.points.not.valid
observe.menu.navigation.action.move.activityLongline
observe.menu.navigation.action.move.sample
observe.menu.navigation.action.move.sample.choice
=====================================
client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/common/TripMapContentBuilder.java
=====================================
@@ -51,6 +51,7 @@ import java.util.LinkedList;
import java.util.List;
import java.util.stream.Collectors;
+import static io.ultreia.java4all.i18n.I18n.n;
import static io.ultreia.java4all.i18n.I18n.t;
/**
@@ -106,8 +107,8 @@ public class TripMapContentBuilder extends fr.ird.observe.client.datasource.edit
@Override
protected void addPoints(List<TripMapPoint> tripMapPoints) throws FactoryException {
- addPoints(tripMapPoints.stream().filter(f->f.getType().isTrip() || f.getType().isObs()).collect(Collectors.toList()), TRIP_OBS_POINTS_LAYER_NAME);
- addPoints(tripMapPoints.stream().filter(f->f.getType().isTrip() || f.getType().isLogbook()).collect(Collectors.toList()), TRIP_LOGBOOK_POINTS_LAYER_NAME);
+ addPoints(tripMapPoints.stream().filter(f -> f.getType().isTrip() || f.getType().isObs()).collect(Collectors.toList()), TRIP_OBS_POINTS_LAYER_NAME, n("observe.map.observation.points.not.valid"));
+ addPoints(tripMapPoints.stream().filter(f -> f.getType().isTrip() || f.getType().isLogbook()).collect(Collectors.toList()), TRIP_LOGBOOK_POINTS_LAYER_NAME, n("observe.map.logbook.points.not.valid"));
}
private void addLonglineObsFishingZone(List<TripMapPoint> tripMapPoints) throws FactoryException {
@@ -126,24 +127,31 @@ public class TripMapContentBuilder extends fr.ird.observe.client.datasource.edit
DefaultFeatureCollection polygonsFeatures = new DefaultFeatureCollection();
for (int indexPoint = 3; indexPoint < tripMapPoints.size(); indexPoint++) {
- if (tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.llActivityObsWithHaulingEnd)
- && tripMapPoints.get(indexPoint - 1).getType().equals(TripMapPointType.llActivityObsWithHaulingStart)
- && tripMapPoints.get(indexPoint - 2).getType().equals(TripMapPointType.llActivityObsWithSettingEnd)
- && tripMapPoints.get(indexPoint - 3).getType().equals(TripMapPointType.llActivityObsWithSettingStart)) {
+ TripMapPoint tripMapPoint = tripMapPoints.get(indexPoint);
+ TripMapPoint tripMapPoint1 = tripMapPoints.get(indexPoint - 1);
+ TripMapPoint tripMapPoint2 = tripMapPoints.get(indexPoint - 2);
+ TripMapPoint tripMapPoint3 = tripMapPoints.get(indexPoint - 3);
+ if (!(tripMapPoint.isValid()&& tripMapPoint1.isValid() && tripMapPoint2.isValid() && tripMapPoint3.isValid())) {
+ continue;
+ }
+ if (tripMapPoint.getType().equals(TripMapPointType.llActivityObsWithHaulingEnd)
+ && tripMapPoint1.getType().equals(TripMapPointType.llActivityObsWithHaulingStart)
+ && tripMapPoint2.getType().equals(TripMapPointType.llActivityObsWithSettingEnd)
+ && tripMapPoint3.getType().equals(TripMapPointType.llActivityObsWithSettingStart)) {
Coordinate[] coordinates = {
- new Coordinate(tripMapPoints.get(indexPoint - 3).getLongitude(), tripMapPoints.get(indexPoint - 3).getLatitude()),
- new Coordinate(tripMapPoints.get(indexPoint - 2).getLongitude(), tripMapPoints.get(indexPoint - 2).getLatitude()),
- new Coordinate(tripMapPoints.get(indexPoint - 1).getLongitude(), tripMapPoints.get(indexPoint - 1).getLatitude()),
- new Coordinate(tripMapPoints.get(indexPoint).getLongitude(), tripMapPoints.get(indexPoint).getLatitude()),
- new Coordinate(tripMapPoints.get(indexPoint - 3).getLongitude(), tripMapPoints.get(indexPoint - 3).getLatitude())
+ new Coordinate(tripMapPoint3.getLongitude(), tripMapPoint3.getLatitude()),
+ new Coordinate(tripMapPoint2.getLongitude(), tripMapPoint2.getLatitude()),
+ new Coordinate(tripMapPoint1.getLongitude(), tripMapPoint1.getLatitude()),
+ new Coordinate(tripMapPoint.getLongitude(), tripMapPoint.getLatitude()),
+ new Coordinate(tripMapPoint3.getLongitude(), tripMapPoint3.getLatitude())
};
Polygon polygon = geometryFactory.createPolygon(coordinates);
//polygon = (Polygon) polygon.convexHull(); // permet de transformer un poliqgone croisé en polygon convex
polygonBuilder.add(polygon);
- polygonBuilder.add(DATE_FORMAT.format(tripMapPoints.get(indexPoint - 3).getTime()));
+ polygonBuilder.add(DATE_FORMAT.format(tripMapPoint3.getTime()));
polygonBuilder.add("longlineFishingZone");
SimpleFeature feature = polygonBuilder.buildFeature(null);
polygonsFeatures.add(feature);
@@ -174,24 +182,31 @@ public class TripMapContentBuilder extends fr.ird.observe.client.datasource.edit
DefaultFeatureCollection polygonsFeatures = new DefaultFeatureCollection();
for (int indexPoint = 3; indexPoint < tripMapPoints.size(); indexPoint++) {
- if (tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.llActivityLogbookWithHaulingEnd)
- && tripMapPoints.get(indexPoint - 1).getType().equals(TripMapPointType.llActivityLogbookWithHaulingStart)
- && tripMapPoints.get(indexPoint - 2).getType().equals(TripMapPointType.llActivityLogbookWithSettingEnd)
- && tripMapPoints.get(indexPoint - 3).getType().equals(TripMapPointType.llActivityLogbookWithSettingStart)) {
+ TripMapPoint tripMapPoint = tripMapPoints.get(indexPoint);
+ TripMapPoint tripMapPoint1 = tripMapPoints.get(indexPoint - 1);
+ TripMapPoint tripMapPoint2 = tripMapPoints.get(indexPoint - 2);
+ TripMapPoint tripMapPoint3 = tripMapPoints.get(indexPoint - 3);
+ if (!(tripMapPoint.isValid()&& tripMapPoint1.isValid() && tripMapPoint2.isValid() && tripMapPoint3.isValid())) {
+ continue;
+ }
+ if (tripMapPoint.getType().equals(TripMapPointType.llActivityLogbookWithHaulingEnd)
+ && tripMapPoint1.getType().equals(TripMapPointType.llActivityLogbookWithHaulingStart)
+ && tripMapPoint2.getType().equals(TripMapPointType.llActivityLogbookWithSettingEnd)
+ && tripMapPoint3.getType().equals(TripMapPointType.llActivityLogbookWithSettingStart)) {
Coordinate[] coordinates = {
- new Coordinate(tripMapPoints.get(indexPoint - 3).getLongitude(), tripMapPoints.get(indexPoint - 3).getLatitude()),
- new Coordinate(tripMapPoints.get(indexPoint - 2).getLongitude(), tripMapPoints.get(indexPoint - 2).getLatitude()),
- new Coordinate(tripMapPoints.get(indexPoint - 1).getLongitude(), tripMapPoints.get(indexPoint - 1).getLatitude()),
- new Coordinate(tripMapPoints.get(indexPoint).getLongitude(), tripMapPoints.get(indexPoint).getLatitude()),
- new Coordinate(tripMapPoints.get(indexPoint - 3).getLongitude(), tripMapPoints.get(indexPoint - 3).getLatitude())
+ new Coordinate(tripMapPoint3.getLongitude(), tripMapPoint3.getLatitude()),
+ new Coordinate(tripMapPoint2.getLongitude(), tripMapPoint2.getLatitude()),
+ new Coordinate(tripMapPoint1.getLongitude(), tripMapPoint1.getLatitude()),
+ new Coordinate(tripMapPoint.getLongitude(), tripMapPoint.getLatitude()),
+ new Coordinate(tripMapPoint3.getLongitude(), tripMapPoint3.getLatitude())
};
Polygon polygon = geometryFactory.createPolygon(coordinates);
//polygon = (Polygon) polygon.convexHull(); // permet de transformer un poliqgone croisé en polygon convex
polygonBuilder.add(polygon);
- polygonBuilder.add(DATE_FORMAT.format(tripMapPoints.get(indexPoint - 3).getTime()));
+ polygonBuilder.add(DATE_FORMAT.format(tripMapPoint3.getTime()));
polygonBuilder.add("longlineFishingZone");
SimpleFeature feature = polygonBuilder.buildFeature(null);
polygonsFeatures.add(feature);
@@ -223,35 +238,44 @@ public class TripMapContentBuilder extends fr.ird.observe.client.datasource.edit
List<Coordinate> defaultLineCoordinates = new LinkedList<>();
boolean found = false;
for (int indexPoint = 0; indexPoint < tripMapPoints.size(); indexPoint++) {
- if (indexPoint > 1 && tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.llActivityObsWithSettingEnd)
- && tripMapPoints.get(indexPoint - 1).getType().equals(TripMapPointType.llActivityObsWithSettingStart)
- || tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.llActivityObsWithHaulingEnd)
- && tripMapPoints.get(indexPoint - 1).getType().equals(TripMapPointType.llActivityObsWithHaulingStart)) {
-
- found = true;
- Coordinate[] coordinates = {
- new Coordinate(tripMapPoints.get(indexPoint - 1).getLongitude(), tripMapPoints.get(indexPoint - 1).getLatitude()),
- new Coordinate(tripMapPoints.get(indexPoint).getLongitude(), tripMapPoints.get(indexPoint).getLatitude()),
- };
-
- boolean setting = tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.llActivityObsWithSettingEnd);
- LineString lineString = geometryFactory.createLineString(coordinates);
- lineBuilder.add(lineString);
- lineBuilder.add(setting ? "setting" : "hauling");
- SimpleFeature feature = lineBuilder.buildFeature(null);
- linesFeatures.add(feature);
-
- defaultLineCoordinates.clear();
+ TripMapPoint tripMapPoint = tripMapPoints.get(indexPoint);
+ TripMapPointType pointType = tripMapPoint.getType();
+ if (tripMapPoint.isValid() && indexPoint > 1) {
+
+ TripMapPoint previousTripMapPoint = tripMapPoints.get(indexPoint - 1);
+ TripMapPointType previousTripMapPointType = previousTripMapPoint.getType();
+ if (previousTripMapPoint.isValid()) {
+ if (
+ pointType.equals(TripMapPointType.llActivityObsWithSettingEnd) && previousTripMapPointType.equals(TripMapPointType.llActivityObsWithSettingStart)
+ ||
+ pointType.equals(TripMapPointType.llActivityObsWithHaulingEnd) && previousTripMapPointType.equals(TripMapPointType.llActivityObsWithHaulingStart)) {
+
+ found = true;
+ Coordinate[] coordinates = {
+ new Coordinate(previousTripMapPoint.getLongitude(), previousTripMapPoint.getLatitude()),
+ new Coordinate(tripMapPoint.getLongitude(), tripMapPoint.getLatitude()),
+ };
+
+ boolean setting = pointType.equals(TripMapPointType.llActivityObsWithSettingEnd);
+ LineString lineString = geometryFactory.createLineString(coordinates);
+ lineBuilder.add(lineString);
+ lineBuilder.add(setting ? "setting" : "hauling");
+ SimpleFeature feature = lineBuilder.buildFeature(null);
+ linesFeatures.add(feature);
+
+ defaultLineCoordinates.clear();
+ }
+ }
}
- if (!(tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.llActivityObsWithSettingEnd)
- || tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.llActivityObsWithHaulingStart))) {
+ if (tripMapPoint.isValid() && !(pointType.equals(TripMapPointType.llActivityObsWithSettingEnd)
+ || pointType.equals(TripMapPointType.llActivityObsWithHaulingStart))) {
- defaultLineCoordinates.add(new Coordinate(tripMapPoints.get(indexPoint).getLongitude(), tripMapPoints.get(indexPoint).getLatitude()));
+ defaultLineCoordinates.add(new Coordinate(tripMapPoint.getLongitude(), tripMapPoint.getLatitude()));
}
- if ((tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.llActivityObsWithSettingStart)
+ if ((pointType.equals(TripMapPointType.llActivityObsWithSettingStart)
|| indexPoint == tripMapPoints.size() - 1) && defaultLineCoordinates.size() > 1) {
LineString lineString = geometryFactory.createLineString(defaultLineCoordinates.toArray(new Coordinate[0]));
@@ -315,34 +339,40 @@ public class TripMapContentBuilder extends fr.ird.observe.client.datasource.edit
List<Coordinate> defaultLineCoordinates = new LinkedList<>();
boolean found = false;
for (int indexPoint = 0; indexPoint < tripMapPoints.size(); indexPoint++) {
- if (indexPoint > 1 && tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.llActivityLogbookWithSettingEnd)
- && tripMapPoints.get(indexPoint - 1).getType().equals(TripMapPointType.llActivityLogbookWithSettingStart)
- || tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.llActivityLogbookWithHaulingEnd)
- && tripMapPoints.get(indexPoint - 1).getType().equals(TripMapPointType.llActivityLogbookWithHaulingStart)) {
- found = true;
- Coordinate[] coordinates = {
- new Coordinate(tripMapPoints.get(indexPoint - 1).getLongitude(), tripMapPoints.get(indexPoint - 1).getLatitude()),
- new Coordinate(tripMapPoints.get(indexPoint).getLongitude(), tripMapPoints.get(indexPoint).getLatitude()),
- };
-
- boolean setting = tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.llActivityLogbookWithSettingEnd);
- LineString lineString = geometryFactory.createLineString(coordinates);
- lineBuilder.add(lineString);
- lineBuilder.add(setting ? "setting" : "hauling");
- SimpleFeature feature = lineBuilder.buildFeature(null);
- linesFeatures.add(feature);
-
- defaultLineCoordinates.clear();
+ TripMapPoint tripMapPoint = tripMapPoints.get(indexPoint);
+ TripMapPointType tripMapPointType = tripMapPoint.getType();
+ if (tripMapPoint.isValid() && indexPoint > 1) {
+ TripMapPoint previousTripMapPoint = tripMapPoints.get(indexPoint - 1);
+ if (previousTripMapPoint.isValid()) {
+ TripMapPointType previousTripMapPointType = previousTripMapPoint.getType();
+ if (tripMapPointType.equals(TripMapPointType.llActivityLogbookWithSettingEnd)
+ && previousTripMapPointType.equals(TripMapPointType.llActivityLogbookWithSettingStart)
+ || tripMapPointType.equals(TripMapPointType.llActivityLogbookWithHaulingEnd)
+ && previousTripMapPointType.equals(TripMapPointType.llActivityLogbookWithHaulingStart)) {
+ found = true;
+ Coordinate[] coordinates = {
+ new Coordinate(previousTripMapPoint.getLongitude(), previousTripMapPoint.getLatitude()),
+ new Coordinate(tripMapPoint.getLongitude(), tripMapPoint.getLatitude()),
+ };
+
+ boolean setting = tripMapPointType.equals(TripMapPointType.llActivityLogbookWithSettingEnd);
+ LineString lineString = geometryFactory.createLineString(coordinates);
+ lineBuilder.add(lineString);
+ lineBuilder.add(setting ? "setting" : "hauling");
+ SimpleFeature feature = lineBuilder.buildFeature(null);
+ linesFeatures.add(feature);
+
+ defaultLineCoordinates.clear();
+ }
+ }
}
-
- if (!(tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.llActivityLogbookWithSettingEnd)
- || tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.llActivityLogbookWithHaulingStart))) {
-
- defaultLineCoordinates.add(new Coordinate(tripMapPoints.get(indexPoint).getLongitude(), tripMapPoints.get(indexPoint).getLatitude()));
+ if (tripMapPoint.isValid() &&
+ !(tripMapPointType.equals(TripMapPointType.llActivityLogbookWithSettingEnd) || tripMapPointType.equals(TripMapPointType.llActivityLogbookWithHaulingStart))) {
+ defaultLineCoordinates.add(new Coordinate(tripMapPoint.getLongitude(), tripMapPoint.getLatitude()));
}
- if ((tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.llActivityLogbookWithSettingStart)
+ if ((tripMapPointType.equals(TripMapPointType.llActivityLogbookWithSettingStart)
|| indexPoint == tripMapPoints.size() - 1) && defaultLineCoordinates.size() > 1) {
LineString lineString = geometryFactory.createLineString(defaultLineCoordinates.toArray(new Coordinate[0]));
=====================================
client-datasource-editor-ps/src/main/i18n/getters/java.getter
=====================================
@@ -171,6 +171,7 @@ observe.data.ps.observation.TargetLength.table.species
observe.data.ps.observation.TargetLength.table.species.tip
observe.data.ps.observation.TargetLength.table.totalWeight
observe.data.ps.observation.TargetLength.table.totalWeight.tip
+observe.map.observation.points.not.valid
observe.menu.navigation.action.move.activity
observe.menu.navigation.action.move.route
observe.menu.navigation.action.move.trip
=====================================
client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/common/TripMapContentBuilder.java
=====================================
@@ -51,6 +51,7 @@ import java.text.DateFormat;
import java.util.LinkedList;
import java.util.List;
+import static io.ultreia.java4all.i18n.I18n.n;
import static io.ultreia.java4all.i18n.I18n.t;
/**
@@ -85,8 +86,7 @@ public class TripMapContentBuilder extends fr.ird.observe.client.datasource.edit
@Override
protected void addPoints(List<TripMapPoint> tripMapPoints) throws FactoryException {
- addPoints(tripMapPoints, TRIP_OBS_POINTS_LAYER_NAME);
-// addPoints(tripMapPoints, TRIP_LOGBOOK_POINTS_LAYER_NAME);
+ addPoints(tripMapPoints, TRIP_OBS_POINTS_LAYER_NAME, n("observe.map.observation.points.not.valid"));
}
@Override
=====================================
dto/src/main/java/fr/ird/observe/dto/data/TripMapPoint.java
=====================================
@@ -22,29 +22,33 @@ package fr.ird.observe.dto.data;
* #L%
*/
-import java.io.Serializable;
-import java.util.Date;
-
-public class TripMapPoint implements Serializable {
-
- public static final String PROPERTY_TIME = "time";
-
- public static final String PROPERTY_LATITUDE = "latitude";
+import fr.ird.observe.dto.ObserveDto;
- public static final String PROPERTY_LONGITUDE = "longitude";
-
- public static final String PROPERTY_TYPE = "type";
-
- private static final long serialVersionUID = 1L;
+import java.util.Date;
+import java.util.Objects;
+
+public class TripMapPoint implements ObserveDto {
+
+ public static TripMapPoint of(TripMapPointType type, Date time, Float latitude, Float longitude) {
+ TripMapPoint result = new TripMapPoint();
+ result.setType(Objects.requireNonNull(type));
+ result.setTime(time);
+ result.setLatitude(latitude);
+ result.setLongitude(longitude);
+ result.setValid(time != null && latitude != null && longitude != null);
+ return result;
+ }
protected Date time;
- protected float latitude;
+ protected Float latitude;
- protected float longitude;
+ protected Float longitude;
protected TripMapPointType type;
+ protected boolean valid;
+
public Date getTime() {
return time;
}
@@ -53,19 +57,19 @@ public class TripMapPoint implements Serializable {
this.time = time;
}
- public float getLatitude() {
+ public Float getLatitude() {
return latitude;
}
- public void setLatitude(float latitude) {
+ public void setLatitude(Float latitude) {
this.latitude = latitude;
}
- public float getLongitude() {
+ public Float getLongitude() {
return longitude;
}
- public void setLongitude(float longitude) {
+ public void setLongitude(Float longitude) {
this.longitude = longitude;
}
@@ -76,4 +80,12 @@ public class TripMapPoint implements Serializable {
public void setType(TripMapPointType type) {
this.type = type;
}
+
+ public boolean isValid() {
+ return valid;
+ }
+
+ public void setValid(boolean valid) {
+ this.valid = valid;
+ }
}
=====================================
dto/src/main/java/fr/ird/observe/spi/DtoModelClasses.java
=====================================
@@ -28,6 +28,8 @@ import fr.ird.observe.dto.referential.ReferentialDto;
import fr.ird.observe.dto.referential.ll.common.HealthStatusDto;
import fr.ird.observe.dto.referential.ll.observation.StomachFullnessDto;
+import java.util.function.Predicate;
+
/**
* Created by tchemit on 03/09/17.
*
@@ -35,6 +37,9 @@ import fr.ird.observe.dto.referential.ll.observation.StomachFullnessDto;
*/
public class DtoModelClasses {
+ public static final Predicate<String> IS_SEINE_ID = DtoModelClasses::isSeineId;
+ public static final Predicate<String> IS_LONGLINE_ID = DtoModelClasses::isLonglineId;
+
public static final ImmutableSet<Class<? extends ReferentialDto>> COMMON_REFERENTIAL_TYPES = ImmutableSet.of(
fr.ird.observe.dto.referential.common.VesselSizeCategoryDto.class,
fr.ird.observe.dto.referential.common.CountryDto.class,
@@ -87,7 +92,7 @@ public class DtoModelClasses {
fr.ird.observe.dto.referential.ps.observation.ReasonForDiscardDto.class,
fr.ird.observe.dto.referential.ps.observation.SpeciesStatusDto.class,
fr.ird.observe.dto.referential.ps.observation.ObservedSystemDto.class
- );
+ );
public static final ImmutableSet<Class<? extends ReferentialDto>> SEINE_REFERENTIAL_TYPES = ImmutableSet.<Class<? extends ReferentialDto>>builder()
.addAll(SEINE_COMMON_REFERENTIAL_TYPES)
@@ -141,7 +146,6 @@ public class DtoModelClasses {
.addAll(SEINE_REFERENTIAL_TYPES)
.addAll(LONGLINE_REFERENTIAL_TYPES)
.build();
-
private static final ImmutableSet<Class<? extends DataDto>> SEINE_ENTITY_DATA_TYPES = ImmutableSet.of(
fr.ird.observe.dto.data.ps.observation.ActivityDto.class,
fr.ird.observe.dto.data.ps.observation.FloatingObjectDto.class,
=====================================
observe-i18n/src/main/i18n/translations/observe_en_GB.properties
=====================================
@@ -2324,6 +2324,8 @@ observe.init.local.db.error=Could not find local database, will load last backup
observe.init.no.initial.dump.detected=Internal data source %1$s not detected.
observe.init.no.local.db.detected=Local data source %1$s not detected.
observe.init.storage.done=Init of Persistent Service done.
+observe.map.logbook.points.not.valid=LogBook - Number of none displayed points\: %d
+observe.map.observation.points.not.valid=Observation - Number of none displayed points\: %d
observe.menu.actions=Actions
observe.menu.configuration=Configuration
observe.menu.configuration.tip=To configure application
=====================================
observe-i18n/src/main/i18n/translations/observe_es_ES.properties
=====================================
@@ -2324,6 +2324,8 @@ observe.init.local.db.error=Imposible cargar la base local, se cargará el últi
observe.init.no.initial.dump.detected=fuente de datos interna %1$s no detectada.
observe.init.no.local.db.detected=Base local %1$s no detectada.
observe.init.storage.done=Inicialización del servicio de persistencia terminado.
+observe.map.logbook.points.not.valid=LogBook - Number of none displayed points\: %d \#TODO
+observe.map.observation.points.not.valid=Observation - Number of none displayed points\: %d \#TODO
observe.menu.actions=Acciones
observe.menu.configuration=Configuración
observe.menu.configuration.tip=Menú de configuración
=====================================
observe-i18n/src/main/i18n/translations/observe_fr_FR.properties
=====================================
@@ -2324,6 +2324,8 @@ observe.init.local.db.error=Impossible de charger la base locale, la dernière s
observe.init.no.initial.dump.detected=Base embarquée %1$s non détectée.
observe.init.no.local.db.detected=Base locale %1$s non détectée.
observe.init.storage.done=Initialisation du service de persistance terminé.
+observe.map.logbook.points.not.valid=Libre de bord - Nombre de points non affichés \: %d
+observe.map.observation.points.not.valid=Observation - Nombre de points non affichés \: %d
observe.menu.actions=Actions
observe.menu.configuration=Configuration
observe.menu.configuration.tip=Menu de configuration
=====================================
persistence/src/main/java/fr/ird/observe/entities/Entities.java
=====================================
@@ -22,10 +22,17 @@ package fr.ird.observe.entities;
* #L%
*/
+import fr.ird.observe.dto.data.TripMapPoint;
+import fr.ird.observe.dto.data.TripMapPointType;
+import fr.ird.observe.entities.referential.common.Harbour;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
import java.util.Arrays;
import java.util.Collections;
+import java.util.Date;
import java.util.List;
-import java.util.function.Predicate;
+import java.util.Optional;
/**
* Created on 8/27/14.
@@ -122,15 +129,28 @@ public class Entities {
};
public static final List<ObserveEntityEnum> REFERENCE_ENTITIES_LIST =
Collections.unmodifiableList(Arrays.asList(REFERENCE_ENTITIES));
- public static final Predicate<String> IS_SEINE_ID = Entities::isSeineId;
- public static final Predicate<String> IS_LONGLINE_ID = Entities::isLonglineId;
- public static boolean isSeineId(String id) {
- return id.contains(".ps.");
+ public static Float getFloat(ResultSet resultSet, int columnIndex) throws SQLException {
+ float result = resultSet.getFloat(columnIndex);
+ return resultSet.wasNull() ? null : result;
+ }
+
+ public static Optional<TripMapPoint> createHarbourPoint(Harbour harbour, Date date, TripMapPointType tripMapPointType) {
+ TripMapPoint result = null;
+ if (harbour != null) {
+ result = TripMapPoint.of(tripMapPointType, date, harbour.getLatitude(), harbour.getLongitude());
+ }
+ return Optional.ofNullable(result);
}
- public static boolean isLonglineId(String id) {
- return id.contains(".ll.");
+ public static TripMapPoint createPoint(TripMapPointType type, Date dateTime, ResultSet resultSet, int columnIndex) throws SQLException {
+ Float latitude = getFloat(resultSet, columnIndex);
+ Float longitude = getFloat(resultSet, columnIndex + 1);
+ return TripMapPoint.of(type, dateTime, latitude, longitude);
}
+ public static TripMapPoint createPoint(TripMapPointType type, ResultSet resultSet, int dateColumnIndex) throws SQLException {
+ java.sql.Date date = resultSet.getDate(dateColumnIndex);
+ return createPoint(type, date, resultSet, dateColumnIndex + 1);
+ }
}
=====================================
persistence/src/main/java/fr/ird/observe/entities/data/ll/common/TripTopiaDao.java
=====================================
@@ -26,7 +26,7 @@ import com.google.common.collect.ImmutableMap;
import fr.ird.observe.dto.data.TripMapConfigDto;
import fr.ird.observe.dto.data.TripMapPoint;
import fr.ird.observe.dto.data.TripMapPointType;
-import fr.ird.observe.entities.referential.common.Harbour;
+import fr.ird.observe.entities.Entities;
import org.nuiton.topia.persistence.support.TopiaSqlQuery;
import org.nuiton.topia.persistence.support.TopiaSqlSupport;
import org.nuiton.util.DateUtil;
@@ -42,7 +42,6 @@ import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Objects;
-import java.util.Optional;
import java.util.stream.Collectors;
public class TripTopiaDao extends AbstractTripTopiaDao<Trip> {
@@ -57,7 +56,7 @@ public class TripTopiaDao extends AbstractTripTopiaDao<Trip> {
LinkedHashSet<TripMapPoint> tripMapPoints = new LinkedHashSet<>();
// add departure harbour
- createPoint(trip.getDepartureHarbour(), trip.getStartDate(), TripMapPointType.llTripDepartureHarbour).map(tripMapPoints::add);
+ Entities.createHarbourPoint(trip.getDepartureHarbour(), trip.getStartDate(), TripMapPointType.llTripDepartureHarbour).map(tripMapPoints::add);
if (addObservation) {
// Add Activities Observation
@@ -73,7 +72,7 @@ public class TripTopiaDao extends AbstractTripTopiaDao<Trip> {
}
// add landing harbour
- createPoint(trip.getLandingHarbour(), trip.getEndDate(), TripMapPointType.llTripLandingHarbour).map(tripMapPoints::add);
+ Entities.createHarbourPoint(trip.getLandingHarbour(), trip.getEndDate(), TripMapPointType.llTripLandingHarbour).map(tripMapPoints::add);
return tripMapPoints;
}
@@ -128,10 +127,10 @@ public class TripTopiaDao extends AbstractTripTopiaDao<Trip> {
return Collections.emptyList();
}
return this.
- <Trip>stream("From TripImpl Where vessel.id = :vesselId " +
- "And (( :startDate <= endDate And :endDate >= endDate ) " +
- " Or ( :endDate <= startDate And :endDate >= startDate )) " +
- "Order By startDate, endDate", ImmutableMap.of(
+ <Trip>stream("From fr.ird.observe.entities.data.ll.common.TripImpl Where vessel.id = :vesselId " +
+ "And (( :startDate <= endDate And :endDate >= endDate ) " +
+ " Or ( :endDate <= startDate And :endDate >= startDate )) " +
+ "Order By startDate, endDate", ImmutableMap.of(
"vesselId", vesselId,
"startDate", startDate,
"endDate", endDate))
@@ -146,6 +145,7 @@ public class TripTopiaDao extends AbstractTripTopiaDao<Trip> {
" a.latitude," +
" a.longitude," +
" a.vesselActivity," +
+ " s.topiaId," +
" s.settingStartTimestamp," +
" s.settingStartLatitude," +
" s.settingStartLongitude," +
@@ -184,26 +184,32 @@ public class TripTopiaDao extends AbstractTripTopiaDao<Trip> {
if (resultSet.getString(5) == null) {
// simple activity
- Optional<TripMapPoint> activity = createPoint(resultSet, 1, TripMapPointType.llActivityObs);
- activity.ifPresent(result::add);
+ TripMapPoint activity = Entities.createPoint(TripMapPointType.llActivityObs, resultSet, 1);
+ result.add(activity);
}
// settingStart
- Optional<TripMapPoint> settingStart = createPoint(resultSet, 5, TripMapPointType.llActivityObsWithSettingStart);
- settingStart.ifPresent(result::add);
+ TripMapPoint settingStart = Entities.createPoint(TripMapPointType.llActivityObsWithSettingStart, resultSet, 6);
+ result.add(settingStart);
// settingEnd
- Optional<TripMapPoint> settingEnd = createPoint(resultSet, 8, TripMapPointType.llActivityObsWithSettingEnd);
- settingEnd.ifPresent(result::add);
+ TripMapPoint settingEnd = Entities.createPoint(TripMapPointType.llActivityObsWithSettingEnd, resultSet, 9);
+ result.add(settingEnd);
// haulingStart
- Optional<TripMapPoint> haulingStart = createPoint(resultSet, 11, TripMapPointType.llActivityObsWithHaulingStart);
- haulingStart.ifPresent(result::add);
+ TripMapPoint haulingStart = Entities.createPoint(TripMapPointType.llActivityObsWithHaulingStart, resultSet, 12);
+ result.add(haulingStart);
// haulingEnd
- Optional<TripMapPoint> haulingEnd = createPoint(resultSet, 14, TripMapPointType.llActivityObsWithHaulingEnd);
- haulingEnd.ifPresent(result::add);
-
+ TripMapPoint haulingEnd = Entities.createPoint(TripMapPointType.llActivityObsWithHaulingEnd, resultSet, 15);
+ result.add(haulingEnd);
+
+ if (!(settingStart.isValid() && settingEnd.isValid() && haulingStart.isValid() && haulingEnd.isValid())) {
+ settingStart.setValid(false);
+ settingEnd.setValid(false);
+ haulingStart.setValid(false);
+ haulingEnd.setValid(false);
+ }
return result;
}
}
@@ -215,6 +221,7 @@ public class TripTopiaDao extends AbstractTripTopiaDao<Trip> {
" a.latitude," +
" a.longitude," +
" a.vesselActivity," +
+ " s.topiaId," +
" s.settingStartTimestamp," +
" s.settingStartLatitude," +
" s.settingStartLongitude," +
@@ -253,25 +260,32 @@ public class TripTopiaDao extends AbstractTripTopiaDao<Trip> {
if (resultSet.getString(5) == null) {
// simple activity
- Optional<TripMapPoint> activity = createPoint(resultSet, 1, TripMapPointType.llActivityLogbook);
- activity.ifPresent(result::add);
+ TripMapPoint activity = Entities.createPoint(TripMapPointType.llActivityLogbook, resultSet, 1);
+ result.add(activity);
}
// settingStart
- Optional<TripMapPoint> settingStart = createPoint(resultSet, 5, TripMapPointType.llActivityLogbookWithSettingStart);
- settingStart.ifPresent(result::add);
+ TripMapPoint settingStart = Entities.createPoint(TripMapPointType.llActivityLogbookWithSettingStart, resultSet, 6);
+ result.add(settingStart);
// settingEnd
- Optional<TripMapPoint> settingEnd = createPoint(resultSet, 8, TripMapPointType.llActivityLogbookWithSettingEnd);
- settingEnd.ifPresent(result::add);
+ TripMapPoint settingEnd = Entities.createPoint(TripMapPointType.llActivityLogbookWithSettingEnd, resultSet, 9);
+ result.add(settingEnd);
// haulingStart
- Optional<TripMapPoint> haulingStart = createPoint(resultSet, 11, TripMapPointType.llActivityLogbookWithHaulingStart);
- haulingStart.ifPresent(result::add);
+ TripMapPoint haulingStart = Entities.createPoint(TripMapPointType.llActivityLogbookWithHaulingStart, resultSet, 12);
+ result.add(haulingStart);
// haulingEnd
- Optional<TripMapPoint> haulingEnd = createPoint(resultSet, 14, TripMapPointType.llActivityLogbookWithHaulingEnd);
- haulingEnd.ifPresent(result::add);
+ TripMapPoint haulingEnd = Entities.createPoint(TripMapPointType.llActivityLogbookWithHaulingEnd, resultSet, 15);
+ result.add(haulingEnd);
+
+ if (!(settingStart.isValid() && settingEnd.isValid() && haulingStart.isValid() && haulingEnd.isValid())) {
+ settingStart.setValid(false);
+ settingEnd.setValid(false);
+ haulingStart.setValid(false);
+ haulingEnd.setValid(false);
+ }
return result;
}
@@ -315,29 +329,4 @@ public class TripTopiaDao extends AbstractTripTopiaDao<Trip> {
}
- private static Optional<TripMapPoint> createPoint(Harbour harbour, Date date, TripMapPointType tripMapPointType) {
- TripMapPoint result = null;
- if (harbour != null && harbour.getLatitude() != null && harbour.getLongitude() != null) {
- result = new TripMapPoint();
- result.setTime(date);
- result.setLatitude(harbour.getLatitude());
- result.setLongitude(harbour.getLongitude());
- result.setType(tripMapPointType);
- }
- return Optional.ofNullable(result);
- }
-
- private static Optional<TripMapPoint> createPoint(ResultSet resultSet, int dateColumnIndex, TripMapPointType tripMapPointType) throws SQLException {
-
- TripMapPoint result = null;
- if (resultSet.getString(dateColumnIndex) != null) {
- result = new TripMapPoint();
- result.setTime(resultSet.getDate(dateColumnIndex));
- result.setLatitude(resultSet.getFloat(dateColumnIndex + 1));
- result.setLongitude(resultSet.getFloat(dateColumnIndex + 2));
- result.setType(tripMapPointType);
- }
- return Optional.ofNullable(result);
- }
-
}
=====================================
persistence/src/main/java/fr/ird/observe/entities/data/ps/common/TripTopiaDao.java
=====================================
@@ -26,7 +26,7 @@ import fr.ird.observe.dto.ProtectedIds;
import fr.ird.observe.dto.data.TripMapConfigDto;
import fr.ird.observe.dto.data.TripMapPoint;
import fr.ird.observe.dto.data.TripMapPointType;
-import fr.ird.observe.entities.referential.common.Harbour;
+import fr.ird.observe.entities.Entities;
import org.nuiton.topia.persistence.support.TopiaSqlQuery;
import org.nuiton.topia.persistence.support.TopiaSqlSupport;
import org.nuiton.util.DateUtil;
@@ -40,7 +40,6 @@ import java.util.Date;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Objects;
-import java.util.Optional;
import java.util.stream.Collectors;
/**
@@ -58,14 +57,14 @@ public class TripTopiaDao extends AbstractTripTopiaDao<Trip> {
LinkedHashSet<TripMapPoint> tripMapPoints = new LinkedHashSet<>();
// add departure harbour
- createPoint(trip.getDepartureHarbour(), trip.getStartDate(), TripMapPointType.psTripDepartureHarbour).map(tripMapPoints::add);
+ Entities.createHarbourPoint(trip.getDepartureHarbour(), trip.getStartDate(), TripMapPointType.psTripDepartureHarbour).map(tripMapPoints::add);
// Add Activities
TripMapActivityPointQuery tripMapActivityPointQuery = new TripMapActivityPointQuery(tripId);
tripMapPoints.addAll(topiaSqlSupport.findMultipleResult(tripMapActivityPointQuery));
// add landing harbour
- createPoint(trip.getLandingHarbour(), trip.getEndDate(), TripMapPointType.psTripLandingHarbour).map(tripMapPoints::add);
+ Entities.createHarbourPoint(trip.getLandingHarbour(), trip.getEndDate(), TripMapPointType.psTripLandingHarbour).map(tripMapPoints::add);
return tripMapPoints;
}
@@ -75,7 +74,7 @@ public class TripTopiaDao extends AbstractTripTopiaDao<Trip> {
return Collections.emptyList();
}
return this.
- <Trip>stream("From TripImpl Where vessel.id = :vesselId " +
+ <Trip>stream("From fr.ird.observe.entities.data.ps.common.TripImpl Where vessel.id = :vesselId " +
"And (( :startDate <= endDate And :endDate >= endDate ) " +
" Or ( :endDate <= startDate And :endDate >= startDate )) " +
"Order By startDate, endDate", ImmutableMap.of(
@@ -119,32 +118,32 @@ public class TripTopiaDao extends AbstractTripTopiaDao<Trip> {
@Override
public TripMapPoint prepareResult(ResultSet resultSet) throws SQLException {
- TripMapPoint point = new TripMapPoint();
- Date time = DateUtil.getDateAndTime(resultSet.getDate(1), resultSet.getTime(2), true, false);
- point.setTime(time);
- point.setLatitude(resultSet.getFloat(3));
- point.setLongitude(resultSet.getFloat(4));
+ TripMapPointType type;
+
if (ProtectedIds.PS_COMMON_ACTIVITY_HARBOUR_ID.equals(resultSet.getString(5))) {
- point.setType(TripMapPointType.psActivityObsInHarbour);
+ type = TripMapPointType.psActivityObsInHarbour;
} else if (resultSet.getString(6) == null) {
- point.setType(TripMapPointType.psActivityObs);
+ type = TripMapPointType.psActivityObs;
} else {
String schoolType = resultSet.getString(6);
switch (schoolType) {
case ProtectedIds.PS_COMMON_SCHOOL_TYPE_FREE_ID:
- point.setType(TripMapPointType.psActivityObsWithFreeSchoolType);
+ type = TripMapPointType.psActivityObsWithFreeSchoolType;
break;
case ProtectedIds.PS_COMMON_SCHOOL_TYPE_OBJECT_ID:
- point.setType(TripMapPointType.psActivityObsWithObjectSchoolType);
+ type = TripMapPointType.psActivityObsWithObjectSchoolType;
break;
default:
- point.setType(TripMapPointType.psActivityObs);
+ type = TripMapPointType.psActivityObs;
}
}
- return point;
+
+ Date time = DateUtil.getDateAndTime(resultSet.getDate(1), resultSet.getTime(2), true, false);
+ return Entities.createPoint(type, time, resultSet, 3);
}
}
+
public boolean updateEndDate(Trip trip) {
boolean wasUpdated = false;
@@ -230,16 +229,4 @@ public class TripTopiaDao extends AbstractTripTopiaDao<Trip> {
}
- private static Optional<TripMapPoint> createPoint(Harbour harbour, Date date, TripMapPointType tripMapPointType) {
- TripMapPoint result = null;
- if (harbour != null && harbour.getLatitude() != null && harbour.getLongitude() != null) {
- result = new TripMapPoint();
- result.setTime(date);
- result.setLatitude(harbour.getLatitude());
- result.setLongitude(harbour.getLongitude());
- result.setType(tripMapPointType);
- }
- return Optional.ofNullable(result);
- }
-
}
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/actions/validate/ValidateServiceLocal.java
=====================================
@@ -31,7 +31,6 @@ import fr.ird.observe.dto.referential.ReferentialDto;
import fr.ird.observe.dto.referential.ReferentialLocale;
import fr.ird.observe.dto.referential.common.SpeciesDto;
import fr.ird.observe.dto.referential.ps.observation.ObservedSystemReference;
-import fr.ird.observe.entities.Entities;
import fr.ird.observe.entities.data.TripAware;
import fr.ird.observe.entities.referential.ReferentialEntity;
import fr.ird.observe.entities.referential.common.Species;
@@ -47,6 +46,7 @@ import fr.ird.observe.services.service.actions.validate.ValidateService;
import fr.ird.observe.services.service.actions.validate.ValidationRequest;
import fr.ird.observe.services.service.referential.ReferentialService;
import fr.ird.observe.spi.DbModelHelper;
+import fr.ird.observe.spi.DtoModelClasses;
import fr.ird.observe.spi.type.TypeTranslators;
import fr.ird.observe.validation.ServiceValidationContext;
import fr.ird.observe.validation.ValidatorsMap;
@@ -156,7 +156,7 @@ public class ValidateServiceLocal extends ObserveServiceLocal implements Validat
private void validateData(String dataId, ValidationMessageDetector detector, ServiceValidationContext validationContext, Set<SpeciesDto> species) {
TripAware<?, ?> trip;
- if (Entities.isSeineId(dataId)) {
+ if (DtoModelClasses.isSeineId(dataId)) {
trip = fr.ird.observe.entities.data.ps.common.Trip.loadEntity(getTopiaPersistenceContext(), dataId);
} else {
trip = fr.ird.observe.entities.data.ll.common.Trip.loadEntity(getTopiaPersistenceContext(), dataId);
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/referential/ReferentialServiceLocal.java
=====================================
@@ -34,7 +34,6 @@ import fr.ird.observe.dto.referential.ReferenceStatus;
import fr.ird.observe.dto.referential.ReferentialDto;
import fr.ird.observe.dto.referential.ReferentialLocale;
import fr.ird.observe.dto.result.SaveResultDto;
-import fr.ird.observe.entities.Entities;
import fr.ird.observe.entities.ObserveEntityEnum;
import fr.ird.observe.entities.ObserveTopiaPersistenceContext;
import fr.ird.observe.entities.data.ll.common.Trip;
@@ -247,11 +246,11 @@ public class ReferentialServiceLocal extends ObserveServiceLocal implements Refe
ReferentialShellBuilder referentialShellBuilder = ReferentialShellBuilder.builder(request.getCentralSourceReferential());
for (String tripId : request.getTripIds()) {
- if (Entities.isLonglineId(tripId)) {
+ if (DtoModelClasses.isLonglineId(tripId)) {
Trip trip = fr.ird.observe.entities.data.ll.common.Trip.loadEntity(getTopiaPersistenceContext(), tripId);
log.info("Compute missing referential for trip: " + tripId);
referentialShellBuilder.scan(trip);
- } else if (Entities.isSeineId(tripId)) {
+ } else if (DtoModelClasses.isSeineId(tripId)) {
fr.ird.observe.entities.data.ps.common.Trip trip = fr.ird.observe.entities.data.ps.common.Trip.loadEntity(getTopiaPersistenceContext(), tripId);
log.info("Compute missing referential for trip: " + tripId);
referentialShellBuilder.scan(trip);
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/sql/SqlScriptProducerServiceLocal.java
=====================================
@@ -25,7 +25,6 @@ package fr.ird.observe.services.local.service.sql;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.ListMultimap;
import fr.ird.observe.dto.reference.ReferentialDtoReference;
-import fr.ird.observe.entities.Entities;
import fr.ird.observe.entities.ObserveEntityEnum;
import fr.ird.observe.entities.ObserveTopiaApplicationContext;
import fr.ird.observe.services.local.service.ObserveServiceLocal;
@@ -33,6 +32,7 @@ import fr.ird.observe.services.service.sql.AddSqlScriptProducerRequest;
import fr.ird.observe.services.service.sql.DeleteSqlScriptProducerRequest;
import fr.ird.observe.services.service.sql.SqlScriptProducerService;
import fr.ird.observe.spi.DbModelHelper;
+import fr.ird.observe.spi.DtoModelClasses;
import org.apache.commons.collections4.CollectionUtils;
import org.nuiton.topia.persistence.metadata.TopiaMetadataModel;
import org.nuiton.topia.persistence.script.TopiaBlobsContainer;
@@ -46,8 +46,8 @@ import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
-import static fr.ird.observe.entities.Entities.IS_LONGLINE_ID;
-import static fr.ird.observe.entities.Entities.IS_SEINE_ID;
+import static fr.ird.observe.spi.DtoModelClasses.IS_LONGLINE_ID;
+import static fr.ird.observe.spi.DtoModelClasses.IS_SEINE_ID;
import static fr.ird.observe.entities.Entities.REFERENCE_ENTITIES_LIST;
/**
@@ -174,14 +174,14 @@ public class SqlScriptProducerServiceLocal extends ObserveServiceLocal implement
} else {
{
- Set<String> tripIds1 = tripIds.stream().filter(Entities.IS_SEINE_ID).collect(Collectors.toSet());
+ Set<String> tripIds1 = tripIds.stream().filter(DtoModelClasses.IS_SEINE_ID).collect(Collectors.toSet());
if (!tripIds1.isEmpty()) {
builder.addDeleteTablesRequest(topiaApplicationContext.getTripSeineTables(), TopiaSqlTableSelectArgument.of(tripIds1));
}
}
{
- Set<String> tripIds1 = tripIds.stream().filter(Entities.IS_LONGLINE_ID).collect(Collectors.toSet());
+ Set<String> tripIds1 = tripIds.stream().filter(DtoModelClasses.IS_LONGLINE_ID).collect(Collectors.toSet());
if (!tripIds1.isEmpty()) {
builder.addDeleteTablesRequest(topiaApplicationContext.getTripLonglineTables(), TopiaSqlTableSelectArgument.of(tripIds1));
}
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/2ed828ccb130e70a93159e57…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/2ed828ccb130e70a93159e57…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 2 commits: Élimination des points non effectifs dans la carte - Cloes #1560
by Tony CHEMIT 30 Jun '20
by Tony CHEMIT 30 Jun '20
30 Jun '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
a670d27c by Tony Chemit at 2020-06-30T12:58:27+02:00
Élimination des points non effectifs dans la carte - Cloes #1560
- - - - -
2ed828cc by Tony Chemit at 2020-06-30T12:59:02+02:00
Carte - Cloes #1517
- - - - -
20 changed files:
- client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/trip/map/ObserveMapPaneLegendItem.java
- client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/trip/map/TripMapContentBuilder.java
- client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/trip/map/TripMapUIHandler.java
- client-datasource-editor-common/src/main/map/ll-style.xml
- client-datasource-editor-common/src/main/map/ps-style.xml
- client-datasource-editor-ll/src/main/i18n/getters/java.getter
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/common/TripMapContentBuilder.java
- client-datasource-editor-ps/src/main/i18n/getters/java.getter
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/common/TripMapContentBuilder.java
- dto/src/main/java/fr/ird/observe/dto/data/TripMapPoint.java
- dto/src/main/java/fr/ird/observe/spi/DtoModelClasses.java
- observe-i18n/src/main/i18n/translations/observe_en_GB.properties
- observe-i18n/src/main/i18n/translations/observe_es_ES.properties
- observe-i18n/src/main/i18n/translations/observe_fr_FR.properties
- persistence/src/main/java/fr/ird/observe/entities/Entities.java
- persistence/src/main/java/fr/ird/observe/entities/data/ll/common/TripTopiaDao.java
- persistence/src/main/java/fr/ird/observe/entities/data/ps/common/TripTopiaDao.java
- services-local/src/main/java/fr/ird/observe/services/local/service/actions/validate/ValidateServiceLocal.java
- services-local/src/main/java/fr/ird/observe/services/local/service/referential/ReferentialServiceLocal.java
- services-local/src/main/java/fr/ird/observe/services/local/service/sql/SqlScriptProducerServiceLocal.java
Changes:
=====================================
client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/trip/map/ObserveMapPaneLegendItem.java
=====================================
@@ -49,13 +49,13 @@ public class ObserveMapPaneLegendItem {
public static Coordinate[] lineCoordinates() {
Coordinate[] coordinates = new Coordinate[2];
- coordinates[0] = new Coordinate(LEGEND_MARGIN, LEGEND_ITEM_HEIGHT / 2);
- coordinates[1] = new Coordinate(LEGEND_SYMBOL_WIDTH - LEGEND_MARGIN, LEGEND_ITEM_HEIGHT / 2);
+ coordinates[0] = new Coordinate(LEGEND_MARGIN, LEGEND_ITEM_HEIGHT / 2.);
+ coordinates[1] = new Coordinate(LEGEND_SYMBOL_WIDTH - LEGEND_MARGIN, LEGEND_ITEM_HEIGHT / 2.);
return coordinates;
}
public static Coordinate pointCoordinates() {
- return new Coordinate(LEGEND_SYMBOL_WIDTH / 2, LEGEND_ITEM_HEIGHT / 2);
+ return new Coordinate(LEGEND_SYMBOL_WIDTH / 2., LEGEND_ITEM_HEIGHT / 2.);
}
public SimpleFeature getSimpleFeature() {
=====================================
client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/trip/map/TripMapContentBuilder.java
=====================================
@@ -62,11 +62,14 @@ import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashSet;
+import java.util.LinkedList;
import java.util.List;
import java.util.Optional;
import java.util.ServiceLoader;
import java.util.Set;
+import static io.ultreia.java4all.i18n.I18n.t;
+
/**
* @author Tony Chemit - dev(a)tchemit.fr
*/
@@ -76,12 +79,14 @@ public abstract class TripMapContentBuilder {
protected static final String TRIP_LOGBOOK_POINTS_LAYER_NAME = "Trip Logbook points";
protected static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("dd/MM");
- protected MapContent mapContent;
+ private static ImmutableSet<TripMapContentBuilder> PROVIDERS;
+
protected final List<ObserveMapPaneLegendItem> legendItems;
+ protected final List<TripMapPoint> notValidPoints = new LinkedList<>();
protected final Set<TripMapPointType> acceptedTripPointTypes;
+ protected MapContent mapContent;
protected StyledLayerDescriptor styledLayerDescriptor;
- private static ImmutableSet<TripMapContentBuilder> PROVIDERS;
public abstract boolean accept(TripMapDto tripMapDto);
@@ -121,7 +126,8 @@ public abstract class TripMapContentBuilder {
private void reset() {
legendItems.clear();
- mapContent=new MapContent();
+ notValidPoints.clear();
+ mapContent = new MapContent();
}
protected TripMapContentBuilder(Set<TripMapPointType> acceptedTripPointTypes) {
@@ -152,7 +158,7 @@ public abstract class TripMapContentBuilder {
mapContent.addLayer(layer);
}
- public void addPoints(List<TripMapPoint> tripMapPoints, String layerName) throws FactoryException {
+ public void addPoints(List<TripMapPoint> tripMapPoints, String layerName, String notValidPointsLabel) throws FactoryException {
GeometryFactory geometryFactory = JTSFactoryFinder.getGeometryFactory();
@@ -171,8 +177,11 @@ public abstract class TripMapContentBuilder {
Style stylePoints = findStyle(styledLayerDescriptor, layerName, null);
Set<TripMapPointType> pointTypeInLegend = new HashSet<>();
-
for (TripMapPoint tripMapPoint : tripMapPoints) {
+ if (!tripMapPoint.isValid()) {
+ notValidPoints.add(tripMapPoint);
+ continue;
+ }
Coordinate coordinate = new Coordinate(tripMapPoint.getLongitude(), tripMapPoint.getLatitude());
TripMapPointType type = tripMapPoint.getType();
@@ -205,6 +214,19 @@ public abstract class TripMapContentBuilder {
mapContent.addLayer(pointsLayer);
}
+ if (!notValidPoints.isEmpty()) {
+ Point point = geometryFactory.createPoint(ObserveMapPaneLegendItem.pointCoordinates());
+ pointBuilder.add(point);
+ pointBuilder.add("");
+ pointBuilder.add("notValidPoint");
+
+ ObserveMapPaneLegendItem legendPoint = new ObserveMapPaneLegendItem(
+ pointBuilder.buildFeature(null),
+ stylePoints,
+ t(notValidPointsLabel, notValidPoints.size()));
+ legendItems.add(legendPoint);
+ }
+
}
=====================================
client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/trip/map/TripMapUIHandler.java
=====================================
@@ -94,7 +94,9 @@ public class TripMapUIHandler implements UIHandler<TripMapUI> {
// set zoom
tripArea = new ReferencedEnvelope();
for (TripMapPoint point : tripMapPoints) {
- tripArea.expandToInclude(new DirectPosition2D(point.getLongitude(), point.getLatitude()));
+ if (point.isValid()) {
+ tripArea.expandToInclude(new DirectPosition2D(point.getLongitude(), point.getLatitude()));
+ }
}
tripArea.expandBy(1.1);
=====================================
client-datasource-editor-common/src/main/map/ll-style.xml
=====================================
@@ -118,7 +118,7 @@
<LineSymbolizer>
<Stroke>
<CssParameter name="stroke">#00FF00</CssParameter>
- <CssParameter name="stroke-width">1</CssParameter>
+ <CssParameter name="stroke-width">2</CssParameter>
<CssParameter name="stroke-dasharray">5 7</CssParameter>
</Stroke>
</LineSymbolizer>
@@ -404,6 +404,33 @@
</TextSymbolizer>
</Rule>
</FeatureTypeStyle>
+ <FeatureTypeStyle>
+ <Rule>
+ <Name>Not valid observation point</Name>
+ <ogc:Filter>
+ <ogc:PropertyIsEqualTo>
+ <ogc:PropertyName>pointType</ogc:PropertyName>
+ <ogc:Literal>notValidPoint</ogc:Literal>
+ </ogc:PropertyIsEqualTo>
+ </ogc:Filter>
+ <PointSymbolizer>
+ <Graphic>
+ <Mark>
+ <WellKnownName>ttf://Serif#U+0021</WellKnownName>
+ <Fill>
+ <CssParameter name="fill">#00FF00</CssParameter>
+ </Fill>
+ <Stroke>
+ <CssParameter name="stroke">#000000</CssParameter>
+ <CssParameter name="stroke-width">1</CssParameter>
+ </Stroke>
+ </Mark>
+ <Size>12</Size>
+ </Graphic>
+ </PointSymbolizer>
+ </Rule>
+ </FeatureTypeStyle>
+
</UserStyle>
</NamedLayer>
@@ -596,6 +623,33 @@
</Rule>
</FeatureTypeStyle>
+ <FeatureTypeStyle>
+ <Rule>
+ <Name>Not valid logbook point</Name>
+ <ogc:Filter>
+ <ogc:PropertyIsEqualTo>
+ <ogc:PropertyName>pointType</ogc:PropertyName>
+ <ogc:Literal>notValidPoint</ogc:Literal>
+ </ogc:PropertyIsEqualTo>
+ </ogc:Filter>
+ <PointSymbolizer>
+ <Graphic>
+ <Mark>
+ <WellKnownName>ttf://Serif#U+0021</WellKnownName>
+ <Fill>
+ <CssParameter name="fill">#FF0000</CssParameter>
+ </Fill>
+ <Stroke>
+ <CssParameter name="stroke">#000000</CssParameter>
+ <CssParameter name="stroke-width">1</CssParameter>
+ </Stroke>
+ </Mark>
+ <Size>12</Size>
+ </Graphic>
+ </PointSymbolizer>
+ </Rule>
+ </FeatureTypeStyle>
+
</UserStyle>
</NamedLayer>
=====================================
client-datasource-editor-common/src/main/map/ps-style.xml
=====================================
@@ -196,6 +196,33 @@
</Rule>
</FeatureTypeStyle>
+ <FeatureTypeStyle>
+ <Rule>
+ <Name>Not valid point</Name>
+ <ogc:Filter>
+ <ogc:PropertyIsEqualTo>
+ <ogc:PropertyName>pointType</ogc:PropertyName>
+ <ogc:Literal>notValidPoint</ogc:Literal>
+ </ogc:PropertyIsEqualTo>
+ </ogc:Filter>
+ <PointSymbolizer>
+ <Graphic>
+ <Mark>
+ <WellKnownName>ttf://Serif#U+0021</WellKnownName>
+ <Fill>
+ <CssParameter name="fill">#00FF00</CssParameter>
+ </Fill>
+ <Stroke>
+ <CssParameter name="stroke">#000000</CssParameter>
+ <CssParameter name="stroke-width">1</CssParameter>
+ </Stroke>
+ </Mark>
+ <Size>12</Size>
+ </Graphic>
+ </PointSymbolizer>
+ </Rule>
+ </FeatureTypeStyle>
+
</UserStyle>
</NamedLayer>
=====================================
client-datasource-editor-ll/src/main/i18n/getters/java.getter
=====================================
@@ -317,6 +317,8 @@ observe.data.ll.observation.WeightMeasure.table.weight.tip
observe.data.ll.observation.WeightMeasure.table.weightMeasureType
observe.data.ll.observation.WeightMeasure.table.weightMeasureType.tip
observe.data.ps.common.GearUseFeatures.delete
+observe.map.logbook.points.not.valid
+observe.map.observation.points.not.valid
observe.menu.navigation.action.move.activityLongline
observe.menu.navigation.action.move.sample
observe.menu.navigation.action.move.sample.choice
=====================================
client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/common/TripMapContentBuilder.java
=====================================
@@ -51,6 +51,7 @@ import java.util.LinkedList;
import java.util.List;
import java.util.stream.Collectors;
+import static io.ultreia.java4all.i18n.I18n.n;
import static io.ultreia.java4all.i18n.I18n.t;
/**
@@ -106,8 +107,8 @@ public class TripMapContentBuilder extends fr.ird.observe.client.datasource.edit
@Override
protected void addPoints(List<TripMapPoint> tripMapPoints) throws FactoryException {
- addPoints(tripMapPoints.stream().filter(f->f.getType().isTrip() || f.getType().isObs()).collect(Collectors.toList()), TRIP_OBS_POINTS_LAYER_NAME);
- addPoints(tripMapPoints.stream().filter(f->f.getType().isTrip() || f.getType().isLogbook()).collect(Collectors.toList()), TRIP_LOGBOOK_POINTS_LAYER_NAME);
+ addPoints(tripMapPoints.stream().filter(f -> f.getType().isTrip() || f.getType().isObs()).collect(Collectors.toList()), TRIP_OBS_POINTS_LAYER_NAME, n("observe.map.observation.points.not.valid"));
+ addPoints(tripMapPoints.stream().filter(f -> f.getType().isTrip() || f.getType().isLogbook()).collect(Collectors.toList()), TRIP_LOGBOOK_POINTS_LAYER_NAME, n("observe.map.logbook.points.not.valid"));
}
private void addLonglineObsFishingZone(List<TripMapPoint> tripMapPoints) throws FactoryException {
@@ -126,24 +127,31 @@ public class TripMapContentBuilder extends fr.ird.observe.client.datasource.edit
DefaultFeatureCollection polygonsFeatures = new DefaultFeatureCollection();
for (int indexPoint = 3; indexPoint < tripMapPoints.size(); indexPoint++) {
- if (tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.llActivityObsWithHaulingEnd)
- && tripMapPoints.get(indexPoint - 1).getType().equals(TripMapPointType.llActivityObsWithHaulingStart)
- && tripMapPoints.get(indexPoint - 2).getType().equals(TripMapPointType.llActivityObsWithSettingEnd)
- && tripMapPoints.get(indexPoint - 3).getType().equals(TripMapPointType.llActivityObsWithSettingStart)) {
+ TripMapPoint tripMapPoint = tripMapPoints.get(indexPoint);
+ TripMapPoint tripMapPoint1 = tripMapPoints.get(indexPoint - 1);
+ TripMapPoint tripMapPoint2 = tripMapPoints.get(indexPoint - 2);
+ TripMapPoint tripMapPoint3 = tripMapPoints.get(indexPoint - 3);
+ if (!(tripMapPoint.isValid()&& tripMapPoint1.isValid() && tripMapPoint2.isValid() && tripMapPoint3.isValid())) {
+ continue;
+ }
+ if (tripMapPoint.getType().equals(TripMapPointType.llActivityObsWithHaulingEnd)
+ && tripMapPoint1.getType().equals(TripMapPointType.llActivityObsWithHaulingStart)
+ && tripMapPoint2.getType().equals(TripMapPointType.llActivityObsWithSettingEnd)
+ && tripMapPoint3.getType().equals(TripMapPointType.llActivityObsWithSettingStart)) {
Coordinate[] coordinates = {
- new Coordinate(tripMapPoints.get(indexPoint - 3).getLongitude(), tripMapPoints.get(indexPoint - 3).getLatitude()),
- new Coordinate(tripMapPoints.get(indexPoint - 2).getLongitude(), tripMapPoints.get(indexPoint - 2).getLatitude()),
- new Coordinate(tripMapPoints.get(indexPoint - 1).getLongitude(), tripMapPoints.get(indexPoint - 1).getLatitude()),
- new Coordinate(tripMapPoints.get(indexPoint).getLongitude(), tripMapPoints.get(indexPoint).getLatitude()),
- new Coordinate(tripMapPoints.get(indexPoint - 3).getLongitude(), tripMapPoints.get(indexPoint - 3).getLatitude())
+ new Coordinate(tripMapPoint3.getLongitude(), tripMapPoint3.getLatitude()),
+ new Coordinate(tripMapPoint2.getLongitude(), tripMapPoint2.getLatitude()),
+ new Coordinate(tripMapPoint1.getLongitude(), tripMapPoint1.getLatitude()),
+ new Coordinate(tripMapPoint.getLongitude(), tripMapPoint.getLatitude()),
+ new Coordinate(tripMapPoint3.getLongitude(), tripMapPoint3.getLatitude())
};
Polygon polygon = geometryFactory.createPolygon(coordinates);
//polygon = (Polygon) polygon.convexHull(); // permet de transformer un poliqgone croisé en polygon convex
polygonBuilder.add(polygon);
- polygonBuilder.add(DATE_FORMAT.format(tripMapPoints.get(indexPoint - 3).getTime()));
+ polygonBuilder.add(DATE_FORMAT.format(tripMapPoint3.getTime()));
polygonBuilder.add("longlineFishingZone");
SimpleFeature feature = polygonBuilder.buildFeature(null);
polygonsFeatures.add(feature);
@@ -174,24 +182,31 @@ public class TripMapContentBuilder extends fr.ird.observe.client.datasource.edit
DefaultFeatureCollection polygonsFeatures = new DefaultFeatureCollection();
for (int indexPoint = 3; indexPoint < tripMapPoints.size(); indexPoint++) {
- if (tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.llActivityLogbookWithHaulingEnd)
- && tripMapPoints.get(indexPoint - 1).getType().equals(TripMapPointType.llActivityLogbookWithHaulingStart)
- && tripMapPoints.get(indexPoint - 2).getType().equals(TripMapPointType.llActivityLogbookWithSettingEnd)
- && tripMapPoints.get(indexPoint - 3).getType().equals(TripMapPointType.llActivityLogbookWithSettingStart)) {
+ TripMapPoint tripMapPoint = tripMapPoints.get(indexPoint);
+ TripMapPoint tripMapPoint1 = tripMapPoints.get(indexPoint - 1);
+ TripMapPoint tripMapPoint2 = tripMapPoints.get(indexPoint - 2);
+ TripMapPoint tripMapPoint3 = tripMapPoints.get(indexPoint - 3);
+ if (!(tripMapPoint.isValid()&& tripMapPoint1.isValid() && tripMapPoint2.isValid() && tripMapPoint3.isValid())) {
+ continue;
+ }
+ if (tripMapPoint.getType().equals(TripMapPointType.llActivityLogbookWithHaulingEnd)
+ && tripMapPoint1.getType().equals(TripMapPointType.llActivityLogbookWithHaulingStart)
+ && tripMapPoint2.getType().equals(TripMapPointType.llActivityLogbookWithSettingEnd)
+ && tripMapPoint3.getType().equals(TripMapPointType.llActivityLogbookWithSettingStart)) {
Coordinate[] coordinates = {
- new Coordinate(tripMapPoints.get(indexPoint - 3).getLongitude(), tripMapPoints.get(indexPoint - 3).getLatitude()),
- new Coordinate(tripMapPoints.get(indexPoint - 2).getLongitude(), tripMapPoints.get(indexPoint - 2).getLatitude()),
- new Coordinate(tripMapPoints.get(indexPoint - 1).getLongitude(), tripMapPoints.get(indexPoint - 1).getLatitude()),
- new Coordinate(tripMapPoints.get(indexPoint).getLongitude(), tripMapPoints.get(indexPoint).getLatitude()),
- new Coordinate(tripMapPoints.get(indexPoint - 3).getLongitude(), tripMapPoints.get(indexPoint - 3).getLatitude())
+ new Coordinate(tripMapPoint3.getLongitude(), tripMapPoint3.getLatitude()),
+ new Coordinate(tripMapPoint2.getLongitude(), tripMapPoint2.getLatitude()),
+ new Coordinate(tripMapPoint1.getLongitude(), tripMapPoint1.getLatitude()),
+ new Coordinate(tripMapPoint.getLongitude(), tripMapPoint.getLatitude()),
+ new Coordinate(tripMapPoint3.getLongitude(), tripMapPoint3.getLatitude())
};
Polygon polygon = geometryFactory.createPolygon(coordinates);
//polygon = (Polygon) polygon.convexHull(); // permet de transformer un poliqgone croisé en polygon convex
polygonBuilder.add(polygon);
- polygonBuilder.add(DATE_FORMAT.format(tripMapPoints.get(indexPoint - 3).getTime()));
+ polygonBuilder.add(DATE_FORMAT.format(tripMapPoint3.getTime()));
polygonBuilder.add("longlineFishingZone");
SimpleFeature feature = polygonBuilder.buildFeature(null);
polygonsFeatures.add(feature);
@@ -223,35 +238,44 @@ public class TripMapContentBuilder extends fr.ird.observe.client.datasource.edit
List<Coordinate> defaultLineCoordinates = new LinkedList<>();
boolean found = false;
for (int indexPoint = 0; indexPoint < tripMapPoints.size(); indexPoint++) {
- if (indexPoint > 1 && tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.llActivityObsWithSettingEnd)
- && tripMapPoints.get(indexPoint - 1).getType().equals(TripMapPointType.llActivityObsWithSettingStart)
- || tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.llActivityObsWithHaulingEnd)
- && tripMapPoints.get(indexPoint - 1).getType().equals(TripMapPointType.llActivityObsWithHaulingStart)) {
-
- found = true;
- Coordinate[] coordinates = {
- new Coordinate(tripMapPoints.get(indexPoint - 1).getLongitude(), tripMapPoints.get(indexPoint - 1).getLatitude()),
- new Coordinate(tripMapPoints.get(indexPoint).getLongitude(), tripMapPoints.get(indexPoint).getLatitude()),
- };
-
- boolean setting = tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.llActivityObsWithSettingEnd);
- LineString lineString = geometryFactory.createLineString(coordinates);
- lineBuilder.add(lineString);
- lineBuilder.add(setting ? "setting" : "hauling");
- SimpleFeature feature = lineBuilder.buildFeature(null);
- linesFeatures.add(feature);
-
- defaultLineCoordinates.clear();
+ TripMapPoint tripMapPoint = tripMapPoints.get(indexPoint);
+ TripMapPointType pointType = tripMapPoint.getType();
+ if (tripMapPoint.isValid() && indexPoint > 1) {
+
+ TripMapPoint previousTripMapPoint = tripMapPoints.get(indexPoint - 1);
+ TripMapPointType previousTripMapPointType = previousTripMapPoint.getType();
+ if (previousTripMapPoint.isValid()) {
+ if (
+ pointType.equals(TripMapPointType.llActivityObsWithSettingEnd) && previousTripMapPointType.equals(TripMapPointType.llActivityObsWithSettingStart)
+ ||
+ pointType.equals(TripMapPointType.llActivityObsWithHaulingEnd) && previousTripMapPointType.equals(TripMapPointType.llActivityObsWithHaulingStart)) {
+
+ found = true;
+ Coordinate[] coordinates = {
+ new Coordinate(previousTripMapPoint.getLongitude(), previousTripMapPoint.getLatitude()),
+ new Coordinate(tripMapPoint.getLongitude(), tripMapPoint.getLatitude()),
+ };
+
+ boolean setting = pointType.equals(TripMapPointType.llActivityObsWithSettingEnd);
+ LineString lineString = geometryFactory.createLineString(coordinates);
+ lineBuilder.add(lineString);
+ lineBuilder.add(setting ? "setting" : "hauling");
+ SimpleFeature feature = lineBuilder.buildFeature(null);
+ linesFeatures.add(feature);
+
+ defaultLineCoordinates.clear();
+ }
+ }
}
- if (!(tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.llActivityObsWithSettingEnd)
- || tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.llActivityObsWithHaulingStart))) {
+ if (tripMapPoint.isValid() && !(pointType.equals(TripMapPointType.llActivityObsWithSettingEnd)
+ || pointType.equals(TripMapPointType.llActivityObsWithHaulingStart))) {
- defaultLineCoordinates.add(new Coordinate(tripMapPoints.get(indexPoint).getLongitude(), tripMapPoints.get(indexPoint).getLatitude()));
+ defaultLineCoordinates.add(new Coordinate(tripMapPoint.getLongitude(), tripMapPoint.getLatitude()));
}
- if ((tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.llActivityObsWithSettingStart)
+ if ((pointType.equals(TripMapPointType.llActivityObsWithSettingStart)
|| indexPoint == tripMapPoints.size() - 1) && defaultLineCoordinates.size() > 1) {
LineString lineString = geometryFactory.createLineString(defaultLineCoordinates.toArray(new Coordinate[0]));
@@ -315,34 +339,40 @@ public class TripMapContentBuilder extends fr.ird.observe.client.datasource.edit
List<Coordinate> defaultLineCoordinates = new LinkedList<>();
boolean found = false;
for (int indexPoint = 0; indexPoint < tripMapPoints.size(); indexPoint++) {
- if (indexPoint > 1 && tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.llActivityLogbookWithSettingEnd)
- && tripMapPoints.get(indexPoint - 1).getType().equals(TripMapPointType.llActivityLogbookWithSettingStart)
- || tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.llActivityLogbookWithHaulingEnd)
- && tripMapPoints.get(indexPoint - 1).getType().equals(TripMapPointType.llActivityLogbookWithHaulingStart)) {
- found = true;
- Coordinate[] coordinates = {
- new Coordinate(tripMapPoints.get(indexPoint - 1).getLongitude(), tripMapPoints.get(indexPoint - 1).getLatitude()),
- new Coordinate(tripMapPoints.get(indexPoint).getLongitude(), tripMapPoints.get(indexPoint).getLatitude()),
- };
-
- boolean setting = tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.llActivityLogbookWithSettingEnd);
- LineString lineString = geometryFactory.createLineString(coordinates);
- lineBuilder.add(lineString);
- lineBuilder.add(setting ? "setting" : "hauling");
- SimpleFeature feature = lineBuilder.buildFeature(null);
- linesFeatures.add(feature);
-
- defaultLineCoordinates.clear();
+ TripMapPoint tripMapPoint = tripMapPoints.get(indexPoint);
+ TripMapPointType tripMapPointType = tripMapPoint.getType();
+ if (tripMapPoint.isValid() && indexPoint > 1) {
+ TripMapPoint previousTripMapPoint = tripMapPoints.get(indexPoint - 1);
+ if (previousTripMapPoint.isValid()) {
+ TripMapPointType previousTripMapPointType = previousTripMapPoint.getType();
+ if (tripMapPointType.equals(TripMapPointType.llActivityLogbookWithSettingEnd)
+ && previousTripMapPointType.equals(TripMapPointType.llActivityLogbookWithSettingStart)
+ || tripMapPointType.equals(TripMapPointType.llActivityLogbookWithHaulingEnd)
+ && previousTripMapPointType.equals(TripMapPointType.llActivityLogbookWithHaulingStart)) {
+ found = true;
+ Coordinate[] coordinates = {
+ new Coordinate(previousTripMapPoint.getLongitude(), previousTripMapPoint.getLatitude()),
+ new Coordinate(tripMapPoint.getLongitude(), tripMapPoint.getLatitude()),
+ };
+
+ boolean setting = tripMapPointType.equals(TripMapPointType.llActivityLogbookWithSettingEnd);
+ LineString lineString = geometryFactory.createLineString(coordinates);
+ lineBuilder.add(lineString);
+ lineBuilder.add(setting ? "setting" : "hauling");
+ SimpleFeature feature = lineBuilder.buildFeature(null);
+ linesFeatures.add(feature);
+
+ defaultLineCoordinates.clear();
+ }
+ }
}
-
- if (!(tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.llActivityLogbookWithSettingEnd)
- || tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.llActivityLogbookWithHaulingStart))) {
-
- defaultLineCoordinates.add(new Coordinate(tripMapPoints.get(indexPoint).getLongitude(), tripMapPoints.get(indexPoint).getLatitude()));
+ if (tripMapPoint.isValid() &&
+ !(tripMapPointType.equals(TripMapPointType.llActivityLogbookWithSettingEnd) || tripMapPointType.equals(TripMapPointType.llActivityLogbookWithHaulingStart))) {
+ defaultLineCoordinates.add(new Coordinate(tripMapPoint.getLongitude(), tripMapPoint.getLatitude()));
}
- if ((tripMapPoints.get(indexPoint).getType().equals(TripMapPointType.llActivityLogbookWithSettingStart)
+ if ((tripMapPointType.equals(TripMapPointType.llActivityLogbookWithSettingStart)
|| indexPoint == tripMapPoints.size() - 1) && defaultLineCoordinates.size() > 1) {
LineString lineString = geometryFactory.createLineString(defaultLineCoordinates.toArray(new Coordinate[0]));
=====================================
client-datasource-editor-ps/src/main/i18n/getters/java.getter
=====================================
@@ -171,6 +171,7 @@ observe.data.ps.observation.TargetLength.table.species
observe.data.ps.observation.TargetLength.table.species.tip
observe.data.ps.observation.TargetLength.table.totalWeight
observe.data.ps.observation.TargetLength.table.totalWeight.tip
+observe.map.observation.points.not.valid
observe.menu.navigation.action.move.activity
observe.menu.navigation.action.move.route
observe.menu.navigation.action.move.trip
=====================================
client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/common/TripMapContentBuilder.java
=====================================
@@ -51,6 +51,7 @@ import java.text.DateFormat;
import java.util.LinkedList;
import java.util.List;
+import static io.ultreia.java4all.i18n.I18n.n;
import static io.ultreia.java4all.i18n.I18n.t;
/**
@@ -85,8 +86,7 @@ public class TripMapContentBuilder extends fr.ird.observe.client.datasource.edit
@Override
protected void addPoints(List<TripMapPoint> tripMapPoints) throws FactoryException {
- addPoints(tripMapPoints, TRIP_OBS_POINTS_LAYER_NAME);
-// addPoints(tripMapPoints, TRIP_LOGBOOK_POINTS_LAYER_NAME);
+ addPoints(tripMapPoints, TRIP_OBS_POINTS_LAYER_NAME, n("observe.map.observation.points.not.valid"));
}
@Override
=====================================
dto/src/main/java/fr/ird/observe/dto/data/TripMapPoint.java
=====================================
@@ -22,29 +22,33 @@ package fr.ird.observe.dto.data;
* #L%
*/
-import java.io.Serializable;
-import java.util.Date;
-
-public class TripMapPoint implements Serializable {
-
- public static final String PROPERTY_TIME = "time";
-
- public static final String PROPERTY_LATITUDE = "latitude";
+import fr.ird.observe.dto.ObserveDto;
- public static final String PROPERTY_LONGITUDE = "longitude";
-
- public static final String PROPERTY_TYPE = "type";
-
- private static final long serialVersionUID = 1L;
+import java.util.Date;
+import java.util.Objects;
+
+public class TripMapPoint implements ObserveDto {
+
+ public static TripMapPoint of(TripMapPointType type, Date time, Float latitude, Float longitude) {
+ TripMapPoint result = new TripMapPoint();
+ result.setType(Objects.requireNonNull(type));
+ result.setTime(time);
+ result.setLatitude(latitude);
+ result.setLongitude(longitude);
+ result.setValid(time != null && latitude != null && longitude != null);
+ return result;
+ }
protected Date time;
- protected float latitude;
+ protected Float latitude;
- protected float longitude;
+ protected Float longitude;
protected TripMapPointType type;
+ protected boolean valid;
+
public Date getTime() {
return time;
}
@@ -53,19 +57,19 @@ public class TripMapPoint implements Serializable {
this.time = time;
}
- public float getLatitude() {
+ public Float getLatitude() {
return latitude;
}
- public void setLatitude(float latitude) {
+ public void setLatitude(Float latitude) {
this.latitude = latitude;
}
- public float getLongitude() {
+ public Float getLongitude() {
return longitude;
}
- public void setLongitude(float longitude) {
+ public void setLongitude(Float longitude) {
this.longitude = longitude;
}
@@ -76,4 +80,12 @@ public class TripMapPoint implements Serializable {
public void setType(TripMapPointType type) {
this.type = type;
}
+
+ public boolean isValid() {
+ return valid;
+ }
+
+ public void setValid(boolean valid) {
+ this.valid = valid;
+ }
}
=====================================
dto/src/main/java/fr/ird/observe/spi/DtoModelClasses.java
=====================================
@@ -28,6 +28,8 @@ import fr.ird.observe.dto.referential.ReferentialDto;
import fr.ird.observe.dto.referential.ll.common.HealthStatusDto;
import fr.ird.observe.dto.referential.ll.observation.StomachFullnessDto;
+import java.util.function.Predicate;
+
/**
* Created by tchemit on 03/09/17.
*
@@ -35,6 +37,9 @@ import fr.ird.observe.dto.referential.ll.observation.StomachFullnessDto;
*/
public class DtoModelClasses {
+ public static final Predicate<String> IS_SEINE_ID = DtoModelClasses::isSeineId;
+ public static final Predicate<String> IS_LONGLINE_ID = DtoModelClasses::isLonglineId;
+
public static final ImmutableSet<Class<? extends ReferentialDto>> COMMON_REFERENTIAL_TYPES = ImmutableSet.of(
fr.ird.observe.dto.referential.common.VesselSizeCategoryDto.class,
fr.ird.observe.dto.referential.common.CountryDto.class,
@@ -87,7 +92,7 @@ public class DtoModelClasses {
fr.ird.observe.dto.referential.ps.observation.ReasonForDiscardDto.class,
fr.ird.observe.dto.referential.ps.observation.SpeciesStatusDto.class,
fr.ird.observe.dto.referential.ps.observation.ObservedSystemDto.class
- );
+ );
public static final ImmutableSet<Class<? extends ReferentialDto>> SEINE_REFERENTIAL_TYPES = ImmutableSet.<Class<? extends ReferentialDto>>builder()
.addAll(SEINE_COMMON_REFERENTIAL_TYPES)
@@ -141,7 +146,6 @@ public class DtoModelClasses {
.addAll(SEINE_REFERENTIAL_TYPES)
.addAll(LONGLINE_REFERENTIAL_TYPES)
.build();
-
private static final ImmutableSet<Class<? extends DataDto>> SEINE_ENTITY_DATA_TYPES = ImmutableSet.of(
fr.ird.observe.dto.data.ps.observation.ActivityDto.class,
fr.ird.observe.dto.data.ps.observation.FloatingObjectDto.class,
=====================================
observe-i18n/src/main/i18n/translations/observe_en_GB.properties
=====================================
@@ -2324,6 +2324,8 @@ observe.init.local.db.error=Could not find local database, will load last backup
observe.init.no.initial.dump.detected=Internal data source %1$s not detected.
observe.init.no.local.db.detected=Local data source %1$s not detected.
observe.init.storage.done=Init of Persistent Service done.
+observe.map.logbook.points.not.valid=LogBook - Number of none displayed points\: %d
+observe.map.observation.points.not.valid=Observation - Number of none displayed points\: %d
observe.menu.actions=Actions
observe.menu.configuration=Configuration
observe.menu.configuration.tip=To configure application
=====================================
observe-i18n/src/main/i18n/translations/observe_es_ES.properties
=====================================
@@ -2324,6 +2324,8 @@ observe.init.local.db.error=Imposible cargar la base local, se cargará el últi
observe.init.no.initial.dump.detected=fuente de datos interna %1$s no detectada.
observe.init.no.local.db.detected=Base local %1$s no detectada.
observe.init.storage.done=Inicialización del servicio de persistencia terminado.
+observe.map.logbook.points.not.valid=LogBook - Number of none displayed points\: %d \#TODO
+observe.map.observation.points.not.valid=Observation - Number of none displayed points\: %d \#TODO
observe.menu.actions=Acciones
observe.menu.configuration=Configuración
observe.menu.configuration.tip=Menú de configuración
=====================================
observe-i18n/src/main/i18n/translations/observe_fr_FR.properties
=====================================
@@ -2324,6 +2324,8 @@ observe.init.local.db.error=Impossible de charger la base locale, la dernière s
observe.init.no.initial.dump.detected=Base embarquée %1$s non détectée.
observe.init.no.local.db.detected=Base locale %1$s non détectée.
observe.init.storage.done=Initialisation du service de persistance terminé.
+observe.map.logbook.points.not.valid=Libre de bord - Nombre de points non affichés \: %d
+observe.map.observation.points.not.valid=Observation - Nombre de points non affichés \: %d
observe.menu.actions=Actions
observe.menu.configuration=Configuration
observe.menu.configuration.tip=Menu de configuration
=====================================
persistence/src/main/java/fr/ird/observe/entities/Entities.java
=====================================
@@ -22,10 +22,17 @@ package fr.ird.observe.entities;
* #L%
*/
+import fr.ird.observe.dto.data.TripMapPoint;
+import fr.ird.observe.dto.data.TripMapPointType;
+import fr.ird.observe.entities.referential.common.Harbour;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
import java.util.Arrays;
import java.util.Collections;
+import java.util.Date;
import java.util.List;
-import java.util.function.Predicate;
+import java.util.Optional;
/**
* Created on 8/27/14.
@@ -122,15 +129,28 @@ public class Entities {
};
public static final List<ObserveEntityEnum> REFERENCE_ENTITIES_LIST =
Collections.unmodifiableList(Arrays.asList(REFERENCE_ENTITIES));
- public static final Predicate<String> IS_SEINE_ID = Entities::isSeineId;
- public static final Predicate<String> IS_LONGLINE_ID = Entities::isLonglineId;
- public static boolean isSeineId(String id) {
- return id.contains(".ps.");
+ public static Float getFloat(ResultSet resultSet, int columnIndex) throws SQLException {
+ float result = resultSet.getFloat(columnIndex);
+ return resultSet.wasNull() ? null : result;
+ }
+
+ public static Optional<TripMapPoint> createHarbourPoint(Harbour harbour, Date date, TripMapPointType tripMapPointType) {
+ TripMapPoint result = null;
+ if (harbour != null) {
+ result = TripMapPoint.of(tripMapPointType, date, harbour.getLatitude(), harbour.getLongitude());
+ }
+ return Optional.ofNullable(result);
}
- public static boolean isLonglineId(String id) {
- return id.contains(".ll.");
+ public static TripMapPoint createPoint(TripMapPointType type, Date dateTime, ResultSet resultSet, int columnIndex) throws SQLException {
+ Float latitude = getFloat(resultSet, columnIndex);
+ Float longitude = getFloat(resultSet, columnIndex + 1);
+ return TripMapPoint.of(type, dateTime, latitude, longitude);
}
+ public static TripMapPoint createPoint(TripMapPointType type, ResultSet resultSet, int dateColumnIndex) throws SQLException {
+ java.sql.Date date = resultSet.getDate(dateColumnIndex);
+ return createPoint(type, date, resultSet, dateColumnIndex + 1);
+ }
}
=====================================
persistence/src/main/java/fr/ird/observe/entities/data/ll/common/TripTopiaDao.java
=====================================
@@ -26,7 +26,7 @@ import com.google.common.collect.ImmutableMap;
import fr.ird.observe.dto.data.TripMapConfigDto;
import fr.ird.observe.dto.data.TripMapPoint;
import fr.ird.observe.dto.data.TripMapPointType;
-import fr.ird.observe.entities.referential.common.Harbour;
+import fr.ird.observe.entities.Entities;
import org.nuiton.topia.persistence.support.TopiaSqlQuery;
import org.nuiton.topia.persistence.support.TopiaSqlSupport;
import org.nuiton.util.DateUtil;
@@ -42,7 +42,6 @@ import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Objects;
-import java.util.Optional;
import java.util.stream.Collectors;
public class TripTopiaDao extends AbstractTripTopiaDao<Trip> {
@@ -57,7 +56,7 @@ public class TripTopiaDao extends AbstractTripTopiaDao<Trip> {
LinkedHashSet<TripMapPoint> tripMapPoints = new LinkedHashSet<>();
// add departure harbour
- createPoint(trip.getDepartureHarbour(), trip.getStartDate(), TripMapPointType.llTripDepartureHarbour).map(tripMapPoints::add);
+ Entities.createHarbourPoint(trip.getDepartureHarbour(), trip.getStartDate(), TripMapPointType.llTripDepartureHarbour).map(tripMapPoints::add);
if (addObservation) {
// Add Activities Observation
@@ -73,7 +72,7 @@ public class TripTopiaDao extends AbstractTripTopiaDao<Trip> {
}
// add landing harbour
- createPoint(trip.getLandingHarbour(), trip.getEndDate(), TripMapPointType.llTripLandingHarbour).map(tripMapPoints::add);
+ Entities.createHarbourPoint(trip.getLandingHarbour(), trip.getEndDate(), TripMapPointType.llTripLandingHarbour).map(tripMapPoints::add);
return tripMapPoints;
}
@@ -128,10 +127,10 @@ public class TripTopiaDao extends AbstractTripTopiaDao<Trip> {
return Collections.emptyList();
}
return this.
- <Trip>stream("From TripImpl Where vessel.id = :vesselId " +
- "And (( :startDate <= endDate And :endDate >= endDate ) " +
- " Or ( :endDate <= startDate And :endDate >= startDate )) " +
- "Order By startDate, endDate", ImmutableMap.of(
+ <Trip>stream("From fr.ird.observe.entities.data.ll.common.TripImpl Where vessel.id = :vesselId " +
+ "And (( :startDate <= endDate And :endDate >= endDate ) " +
+ " Or ( :endDate <= startDate And :endDate >= startDate )) " +
+ "Order By startDate, endDate", ImmutableMap.of(
"vesselId", vesselId,
"startDate", startDate,
"endDate", endDate))
@@ -146,6 +145,7 @@ public class TripTopiaDao extends AbstractTripTopiaDao<Trip> {
" a.latitude," +
" a.longitude," +
" a.vesselActivity," +
+ " s.topiaId," +
" s.settingStartTimestamp," +
" s.settingStartLatitude," +
" s.settingStartLongitude," +
@@ -184,26 +184,32 @@ public class TripTopiaDao extends AbstractTripTopiaDao<Trip> {
if (resultSet.getString(5) == null) {
// simple activity
- Optional<TripMapPoint> activity = createPoint(resultSet, 1, TripMapPointType.llActivityObs);
- activity.ifPresent(result::add);
+ TripMapPoint activity = Entities.createPoint(TripMapPointType.llActivityObs, resultSet, 1);
+ result.add(activity);
}
// settingStart
- Optional<TripMapPoint> settingStart = createPoint(resultSet, 5, TripMapPointType.llActivityObsWithSettingStart);
- settingStart.ifPresent(result::add);
+ TripMapPoint settingStart = Entities.createPoint(TripMapPointType.llActivityObsWithSettingStart, resultSet, 6);
+ result.add(settingStart);
// settingEnd
- Optional<TripMapPoint> settingEnd = createPoint(resultSet, 8, TripMapPointType.llActivityObsWithSettingEnd);
- settingEnd.ifPresent(result::add);
+ TripMapPoint settingEnd = Entities.createPoint(TripMapPointType.llActivityObsWithSettingEnd, resultSet, 9);
+ result.add(settingEnd);
// haulingStart
- Optional<TripMapPoint> haulingStart = createPoint(resultSet, 11, TripMapPointType.llActivityObsWithHaulingStart);
- haulingStart.ifPresent(result::add);
+ TripMapPoint haulingStart = Entities.createPoint(TripMapPointType.llActivityObsWithHaulingStart, resultSet, 12);
+ result.add(haulingStart);
// haulingEnd
- Optional<TripMapPoint> haulingEnd = createPoint(resultSet, 14, TripMapPointType.llActivityObsWithHaulingEnd);
- haulingEnd.ifPresent(result::add);
-
+ TripMapPoint haulingEnd = Entities.createPoint(TripMapPointType.llActivityObsWithHaulingEnd, resultSet, 15);
+ result.add(haulingEnd);
+
+ if (!(settingStart.isValid() && settingEnd.isValid() && haulingStart.isValid() && haulingEnd.isValid())) {
+ settingStart.setValid(false);
+ settingEnd.setValid(false);
+ haulingStart.setValid(false);
+ haulingEnd.setValid(false);
+ }
return result;
}
}
@@ -215,6 +221,7 @@ public class TripTopiaDao extends AbstractTripTopiaDao<Trip> {
" a.latitude," +
" a.longitude," +
" a.vesselActivity," +
+ " s.topiaId," +
" s.settingStartTimestamp," +
" s.settingStartLatitude," +
" s.settingStartLongitude," +
@@ -253,25 +260,32 @@ public class TripTopiaDao extends AbstractTripTopiaDao<Trip> {
if (resultSet.getString(5) == null) {
// simple activity
- Optional<TripMapPoint> activity = createPoint(resultSet, 1, TripMapPointType.llActivityLogbook);
- activity.ifPresent(result::add);
+ TripMapPoint activity = Entities.createPoint(TripMapPointType.llActivityLogbook, resultSet, 1);
+ result.add(activity);
}
// settingStart
- Optional<TripMapPoint> settingStart = createPoint(resultSet, 5, TripMapPointType.llActivityLogbookWithSettingStart);
- settingStart.ifPresent(result::add);
+ TripMapPoint settingStart = Entities.createPoint(TripMapPointType.llActivityLogbookWithSettingStart, resultSet, 6);
+ result.add(settingStart);
// settingEnd
- Optional<TripMapPoint> settingEnd = createPoint(resultSet, 8, TripMapPointType.llActivityLogbookWithSettingEnd);
- settingEnd.ifPresent(result::add);
+ TripMapPoint settingEnd = Entities.createPoint(TripMapPointType.llActivityLogbookWithSettingEnd, resultSet, 9);
+ result.add(settingEnd);
// haulingStart
- Optional<TripMapPoint> haulingStart = createPoint(resultSet, 11, TripMapPointType.llActivityLogbookWithHaulingStart);
- haulingStart.ifPresent(result::add);
+ TripMapPoint haulingStart = Entities.createPoint(TripMapPointType.llActivityLogbookWithHaulingStart, resultSet, 12);
+ result.add(haulingStart);
// haulingEnd
- Optional<TripMapPoint> haulingEnd = createPoint(resultSet, 14, TripMapPointType.llActivityLogbookWithHaulingEnd);
- haulingEnd.ifPresent(result::add);
+ TripMapPoint haulingEnd = Entities.createPoint(TripMapPointType.llActivityLogbookWithHaulingEnd, resultSet, 15);
+ result.add(haulingEnd);
+
+ if (!(settingStart.isValid() && settingEnd.isValid() && haulingStart.isValid() && haulingEnd.isValid())) {
+ settingStart.setValid(false);
+ settingEnd.setValid(false);
+ haulingStart.setValid(false);
+ haulingEnd.setValid(false);
+ }
return result;
}
@@ -315,29 +329,4 @@ public class TripTopiaDao extends AbstractTripTopiaDao<Trip> {
}
- private static Optional<TripMapPoint> createPoint(Harbour harbour, Date date, TripMapPointType tripMapPointType) {
- TripMapPoint result = null;
- if (harbour != null && harbour.getLatitude() != null && harbour.getLongitude() != null) {
- result = new TripMapPoint();
- result.setTime(date);
- result.setLatitude(harbour.getLatitude());
- result.setLongitude(harbour.getLongitude());
- result.setType(tripMapPointType);
- }
- return Optional.ofNullable(result);
- }
-
- private static Optional<TripMapPoint> createPoint(ResultSet resultSet, int dateColumnIndex, TripMapPointType tripMapPointType) throws SQLException {
-
- TripMapPoint result = null;
- if (resultSet.getString(dateColumnIndex) != null) {
- result = new TripMapPoint();
- result.setTime(resultSet.getDate(dateColumnIndex));
- result.setLatitude(resultSet.getFloat(dateColumnIndex + 1));
- result.setLongitude(resultSet.getFloat(dateColumnIndex + 2));
- result.setType(tripMapPointType);
- }
- return Optional.ofNullable(result);
- }
-
}
=====================================
persistence/src/main/java/fr/ird/observe/entities/data/ps/common/TripTopiaDao.java
=====================================
@@ -26,7 +26,7 @@ import fr.ird.observe.dto.ProtectedIds;
import fr.ird.observe.dto.data.TripMapConfigDto;
import fr.ird.observe.dto.data.TripMapPoint;
import fr.ird.observe.dto.data.TripMapPointType;
-import fr.ird.observe.entities.referential.common.Harbour;
+import fr.ird.observe.entities.Entities;
import org.nuiton.topia.persistence.support.TopiaSqlQuery;
import org.nuiton.topia.persistence.support.TopiaSqlSupport;
import org.nuiton.util.DateUtil;
@@ -40,7 +40,6 @@ import java.util.Date;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Objects;
-import java.util.Optional;
import java.util.stream.Collectors;
/**
@@ -58,14 +57,14 @@ public class TripTopiaDao extends AbstractTripTopiaDao<Trip> {
LinkedHashSet<TripMapPoint> tripMapPoints = new LinkedHashSet<>();
// add departure harbour
- createPoint(trip.getDepartureHarbour(), trip.getStartDate(), TripMapPointType.psTripDepartureHarbour).map(tripMapPoints::add);
+ Entities.createHarbourPoint(trip.getDepartureHarbour(), trip.getStartDate(), TripMapPointType.psTripDepartureHarbour).map(tripMapPoints::add);
// Add Activities
TripMapActivityPointQuery tripMapActivityPointQuery = new TripMapActivityPointQuery(tripId);
tripMapPoints.addAll(topiaSqlSupport.findMultipleResult(tripMapActivityPointQuery));
// add landing harbour
- createPoint(trip.getLandingHarbour(), trip.getEndDate(), TripMapPointType.psTripLandingHarbour).map(tripMapPoints::add);
+ Entities.createHarbourPoint(trip.getLandingHarbour(), trip.getEndDate(), TripMapPointType.psTripLandingHarbour).map(tripMapPoints::add);
return tripMapPoints;
}
@@ -75,7 +74,7 @@ public class TripTopiaDao extends AbstractTripTopiaDao<Trip> {
return Collections.emptyList();
}
return this.
- <Trip>stream("From TripImpl Where vessel.id = :vesselId " +
+ <Trip>stream("From fr.ird.observe.entities.data.ps.common.TripImpl Where vessel.id = :vesselId " +
"And (( :startDate <= endDate And :endDate >= endDate ) " +
" Or ( :endDate <= startDate And :endDate >= startDate )) " +
"Order By startDate, endDate", ImmutableMap.of(
@@ -119,32 +118,32 @@ public class TripTopiaDao extends AbstractTripTopiaDao<Trip> {
@Override
public TripMapPoint prepareResult(ResultSet resultSet) throws SQLException {
- TripMapPoint point = new TripMapPoint();
- Date time = DateUtil.getDateAndTime(resultSet.getDate(1), resultSet.getTime(2), true, false);
- point.setTime(time);
- point.setLatitude(resultSet.getFloat(3));
- point.setLongitude(resultSet.getFloat(4));
+ TripMapPointType type;
+
if (ProtectedIds.PS_COMMON_ACTIVITY_HARBOUR_ID.equals(resultSet.getString(5))) {
- point.setType(TripMapPointType.psActivityObsInHarbour);
+ type = TripMapPointType.psActivityObsInHarbour;
} else if (resultSet.getString(6) == null) {
- point.setType(TripMapPointType.psActivityObs);
+ type = TripMapPointType.psActivityObs;
} else {
String schoolType = resultSet.getString(6);
switch (schoolType) {
case ProtectedIds.PS_COMMON_SCHOOL_TYPE_FREE_ID:
- point.setType(TripMapPointType.psActivityObsWithFreeSchoolType);
+ type = TripMapPointType.psActivityObsWithFreeSchoolType;
break;
case ProtectedIds.PS_COMMON_SCHOOL_TYPE_OBJECT_ID:
- point.setType(TripMapPointType.psActivityObsWithObjectSchoolType);
+ type = TripMapPointType.psActivityObsWithObjectSchoolType;
break;
default:
- point.setType(TripMapPointType.psActivityObs);
+ type = TripMapPointType.psActivityObs;
}
}
- return point;
+
+ Date time = DateUtil.getDateAndTime(resultSet.getDate(1), resultSet.getTime(2), true, false);
+ return Entities.createPoint(type, time, resultSet, 3);
}
}
+
public boolean updateEndDate(Trip trip) {
boolean wasUpdated = false;
@@ -230,16 +229,4 @@ public class TripTopiaDao extends AbstractTripTopiaDao<Trip> {
}
- private static Optional<TripMapPoint> createPoint(Harbour harbour, Date date, TripMapPointType tripMapPointType) {
- TripMapPoint result = null;
- if (harbour != null && harbour.getLatitude() != null && harbour.getLongitude() != null) {
- result = new TripMapPoint();
- result.setTime(date);
- result.setLatitude(harbour.getLatitude());
- result.setLongitude(harbour.getLongitude());
- result.setType(tripMapPointType);
- }
- return Optional.ofNullable(result);
- }
-
}
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/actions/validate/ValidateServiceLocal.java
=====================================
@@ -31,7 +31,6 @@ import fr.ird.observe.dto.referential.ReferentialDto;
import fr.ird.observe.dto.referential.ReferentialLocale;
import fr.ird.observe.dto.referential.common.SpeciesDto;
import fr.ird.observe.dto.referential.ps.observation.ObservedSystemReference;
-import fr.ird.observe.entities.Entities;
import fr.ird.observe.entities.data.TripAware;
import fr.ird.observe.entities.referential.ReferentialEntity;
import fr.ird.observe.entities.referential.common.Species;
@@ -47,6 +46,7 @@ import fr.ird.observe.services.service.actions.validate.ValidateService;
import fr.ird.observe.services.service.actions.validate.ValidationRequest;
import fr.ird.observe.services.service.referential.ReferentialService;
import fr.ird.observe.spi.DbModelHelper;
+import fr.ird.observe.spi.DtoModelClasses;
import fr.ird.observe.spi.type.TypeTranslators;
import fr.ird.observe.validation.ServiceValidationContext;
import fr.ird.observe.validation.ValidatorsMap;
@@ -156,7 +156,7 @@ public class ValidateServiceLocal extends ObserveServiceLocal implements Validat
private void validateData(String dataId, ValidationMessageDetector detector, ServiceValidationContext validationContext, Set<SpeciesDto> species) {
TripAware<?, ?> trip;
- if (Entities.isSeineId(dataId)) {
+ if (DtoModelClasses.isSeineId(dataId)) {
trip = fr.ird.observe.entities.data.ps.common.Trip.loadEntity(getTopiaPersistenceContext(), dataId);
} else {
trip = fr.ird.observe.entities.data.ll.common.Trip.loadEntity(getTopiaPersistenceContext(), dataId);
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/referential/ReferentialServiceLocal.java
=====================================
@@ -34,7 +34,6 @@ import fr.ird.observe.dto.referential.ReferenceStatus;
import fr.ird.observe.dto.referential.ReferentialDto;
import fr.ird.observe.dto.referential.ReferentialLocale;
import fr.ird.observe.dto.result.SaveResultDto;
-import fr.ird.observe.entities.Entities;
import fr.ird.observe.entities.ObserveEntityEnum;
import fr.ird.observe.entities.ObserveTopiaPersistenceContext;
import fr.ird.observe.entities.data.ll.common.Trip;
@@ -247,11 +246,11 @@ public class ReferentialServiceLocal extends ObserveServiceLocal implements Refe
ReferentialShellBuilder referentialShellBuilder = ReferentialShellBuilder.builder(request.getCentralSourceReferential());
for (String tripId : request.getTripIds()) {
- if (Entities.isLonglineId(tripId)) {
+ if (DtoModelClasses.isLonglineId(tripId)) {
Trip trip = fr.ird.observe.entities.data.ll.common.Trip.loadEntity(getTopiaPersistenceContext(), tripId);
log.info("Compute missing referential for trip: " + tripId);
referentialShellBuilder.scan(trip);
- } else if (Entities.isSeineId(tripId)) {
+ } else if (DtoModelClasses.isSeineId(tripId)) {
fr.ird.observe.entities.data.ps.common.Trip trip = fr.ird.observe.entities.data.ps.common.Trip.loadEntity(getTopiaPersistenceContext(), tripId);
log.info("Compute missing referential for trip: " + tripId);
referentialShellBuilder.scan(trip);
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/sql/SqlScriptProducerServiceLocal.java
=====================================
@@ -25,7 +25,6 @@ package fr.ird.observe.services.local.service.sql;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.ListMultimap;
import fr.ird.observe.dto.reference.ReferentialDtoReference;
-import fr.ird.observe.entities.Entities;
import fr.ird.observe.entities.ObserveEntityEnum;
import fr.ird.observe.entities.ObserveTopiaApplicationContext;
import fr.ird.observe.services.local.service.ObserveServiceLocal;
@@ -33,6 +32,7 @@ import fr.ird.observe.services.service.sql.AddSqlScriptProducerRequest;
import fr.ird.observe.services.service.sql.DeleteSqlScriptProducerRequest;
import fr.ird.observe.services.service.sql.SqlScriptProducerService;
import fr.ird.observe.spi.DbModelHelper;
+import fr.ird.observe.spi.DtoModelClasses;
import org.apache.commons.collections4.CollectionUtils;
import org.nuiton.topia.persistence.metadata.TopiaMetadataModel;
import org.nuiton.topia.persistence.script.TopiaBlobsContainer;
@@ -46,8 +46,8 @@ import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
-import static fr.ird.observe.entities.Entities.IS_LONGLINE_ID;
-import static fr.ird.observe.entities.Entities.IS_SEINE_ID;
+import static fr.ird.observe.spi.DtoModelClasses.IS_LONGLINE_ID;
+import static fr.ird.observe.spi.DtoModelClasses.IS_SEINE_ID;
import static fr.ird.observe.entities.Entities.REFERENCE_ENTITIES_LIST;
/**
@@ -174,14 +174,14 @@ public class SqlScriptProducerServiceLocal extends ObserveServiceLocal implement
} else {
{
- Set<String> tripIds1 = tripIds.stream().filter(Entities.IS_SEINE_ID).collect(Collectors.toSet());
+ Set<String> tripIds1 = tripIds.stream().filter(DtoModelClasses.IS_SEINE_ID).collect(Collectors.toSet());
if (!tripIds1.isEmpty()) {
builder.addDeleteTablesRequest(topiaApplicationContext.getTripSeineTables(), TopiaSqlTableSelectArgument.of(tripIds1));
}
}
{
- Set<String> tripIds1 = tripIds.stream().filter(Entities.IS_LONGLINE_ID).collect(Collectors.toSet());
+ Set<String> tripIds1 = tripIds.stream().filter(DtoModelClasses.IS_LONGLINE_ID).collect(Collectors.toSet());
if (!tripIds1.isEmpty()) {
builder.addDeleteTablesRequest(topiaApplicationContext.getTripLonglineTables(), TopiaSqlTableSelectArgument.of(tripIds1));
}
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/fddb45997dd5c9dd2e087ded…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/fddb45997dd5c9dd2e087ded…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Ajouter une option pour ne pas afficher la légende dans la carte - Closes #1557
by Tony CHEMIT 29 Jun '20
by Tony CHEMIT 29 Jun '20
29 Jun '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
fddb4599 by Tony Chemit at 2020-06-29T13:00:49+02:00
Ajouter une option pour ne pas afficher la légende dans la carte - Closes #1557
- - - - -
9 changed files:
- client-core/src/main/java/fr/ird/observe/client/util/ObserveKeyStrokesSupport.java
- client-datasource-editor-common/src/main/i18n/getters/java.getter
- client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/trip/map/ObserveMapPane.java
- client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/trip/map/TripMapUI.jaxx
- client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/trip/map/TripMapUIHandler.java
- + client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/trip/map/actions/ToggleLegend.java
- observe-i18n/src/main/i18n/translations/observe_en_GB.properties
- observe-i18n/src/main/i18n/translations/observe_es_ES.properties
- observe-i18n/src/main/i18n/translations/observe_fr_FR.properties
Changes:
=====================================
client-core/src/main/java/fr/ird/observe/client/util/ObserveKeyStrokesSupport.java
=====================================
@@ -91,6 +91,7 @@ public abstract class ObserveKeyStrokesSupport {
public static final KeyStroke KEY_STROKE_SHOW_REFERENTIAL = KeyStroke.getKeyStroke("ctrl pressed F4");
public static final KeyStroke KEY_STROKE_SHOW_EMPTY_PROGRAM = KeyStroke.getKeyStroke("ctrl pressed F5");
public static final KeyStroke KEY_STROKE_SHOW_DISABLED_PROGRAM = KeyStroke.getKeyStroke("ctrl pressed F6");
+ public static final KeyStroke KEY_STROKE_TOGGLE_LEGEND = KeyStroke.getKeyStroke("ctrl pressed L");
public static final KeyStroke KEY_STROKE_COPY_VALUES_AND_SAVE = KeyStroke.getKeyStroke("ctrl pressed T");
public static final KeyStroke KEY_STROKE_SAVE_TABLE_ENTRY = KeyStroke.getKeyStroke("ctrl pressed S");
@@ -110,7 +111,7 @@ public abstract class ObserveKeyStrokesSupport {
public static final KeyStroke KEY_STROKE_MAP_EXPORT = KeyStroke.getKeyStroke("ctrl pressed S");
public static final KeyStroke KEY_STROKE_MAP_ZOOM_IT = KeyStroke.getKeyStroke("ctrl pressed I");
public static final KeyStroke KEY_STROKE_MAP_ZOOM_PLUS = KeyStroke.getKeyStroke("ctrl pressed P");
- public static final KeyStroke KEY_STROKE_MAP_ZOOM_MINUS = KeyStroke.getKeyStroke("ctrl pressed L");
+ public static final KeyStroke KEY_STROKE_MAP_ZOOM_MINUS = KeyStroke.getKeyStroke("ctrl pressed R");
public static final KeyStroke KEY_STROKE_SHIFT_ALT_ENTER = KeyStroke.getKeyStroke("alt shift pressed ENTER");
public static final KeyStroke KEY_STROKE_SHOW_TECHNICAL_INFORMATION = KeyStroke.getKeyStroke("shift pressed F1");
=====================================
client-datasource-editor-common/src/main/i18n/getters/java.getter
=====================================
@@ -11,6 +11,8 @@ observe.content.map.export.chooseFile.ok
observe.content.map.export.chooseFile.png
observe.content.map.export.chooseFile.title
observe.content.map.export.success
+observe.content.map.legend
+observe.content.map.legend.tip
observe.content.map.miles
observe.content.map.north
observe.content.map.showLogbook
=====================================
client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/trip/map/ObserveMapPane.java
=====================================
@@ -69,6 +69,7 @@ public class ObserveMapPane extends JMapPane {
protected double rotation;
private long scaleInMiles;
+ private boolean showLegend = true;
public ObserveMapPane() {
labelScaleUp = "0 m";
@@ -95,6 +96,16 @@ public class ObserveMapPane extends JMapPane {
firePropertyChange("scaleInMiles", oldValue, scaleInMiles);
}
+ public boolean isShowLegend() {
+ return showLegend;
+ }
+
+ public void setShowLegend(boolean showLegend) {
+ boolean oldValue = isShowLegend();
+ this.showLegend = showLegend;
+ firePropertyChange("showLegend", oldValue, showLegend);
+ }
+
protected void updateScale() {
ReferencedEnvelope displayArea = getDisplayArea();
double dpi = 2.54 / 100; // pour avoir l'echélle en metre/pixel
@@ -226,7 +237,7 @@ public class ObserveMapPane extends JMapPane {
protected void paintLegend(Graphics graphics) {
- if (legendItems != null) {
+ if (getLegendItems() != null && isShowLegend()) {
int x = 0;
int y = getHeight() - ObserveMapPaneLegendItem.LEGEND_ITEM_HEIGHT * legendItems.size() - 2 * LEGEND_MARGIN;
=====================================
client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/trip/map/TripMapUI.jaxx
=====================================
@@ -33,6 +33,7 @@
<JButton id='zoomPlus'/>
<JButton id='zoomMinus'/>
<JButton id='exportPng'/>
+ <JToggleButton id="toggleLegend"/>
</JToolBar>
<JPanel id="config" constraints="BorderLayout.SOUTH" layout="{new GridLayout(1,0)}" beanScope="tripMapConfig">
<BeanCheckBox id="addObservations"/>
=====================================
client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/trip/map/TripMapUIHandler.java
=====================================
@@ -37,6 +37,7 @@ import org.geotools.swing.event.MapPaneEvent;
import org.geotools.swing.event.MapPaneListener;
import org.nuiton.jaxx.runtime.spi.UIHandler;
+import javax.swing.SwingUtilities;
import java.awt.Point;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
@@ -178,6 +179,7 @@ public class TripMapUIHandler implements UIHandler<TripMapUI> {
public void init() {
init(ui.getAddObservations());
init(ui.getAddLogbook());
+ ui.getToggleLegend().setSelected(true);
}
public ReferencedEnvelope getTripArea() {
@@ -206,6 +208,11 @@ public class TripMapUIHandler implements UIHandler<TripMapUI> {
editor.init(true, false);
}
+ public void updateMap(boolean showLegend) {
+ getObserveMapPane().setShowLegend(showLegend);
+ SwingUtilities.invokeLater(getObserveMapPane()::repaint);
+ }
+
private class MouseMapListener implements MouseWheelListener, MouseListener, MouseMotionListener {
Point2D startPointInWorld;
=====================================
client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/trip/map/actions/ToggleLegend.java
=====================================
@@ -0,0 +1,54 @@
+package fr.ird.observe.client.datasource.editor.content.data.trip.map.actions;
+
+/*-
+ * #%L
+ * ObServe :: Client DataSource Editor Common
+ * %%
+ * Copyright (C) 2008 - 2020 IRD, Code Lutin, Ultreia.io
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ird.observe.client.datasource.editor.content.data.trip.map.TripMapUI;
+import fr.ird.observe.client.util.ObserveKeyStrokesSupport;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+import java.awt.event.ActionEvent;
+
+import static io.ultreia.java4all.i18n.I18n.t;
+
+public class ToggleLegend extends TripMapUIActionSupport {
+ private static final Logger log = LogManager.getLogger(ToggleLegend.class);
+
+ public ToggleLegend() {
+ super(
+ t("observe.content.map.legend"),
+ t("observe.content.map.legend.tip"),
+ "show-help",
+ ObserveKeyStrokesSupport.KEY_STROKE_TOGGLE_LEGEND);
+
+ }
+
+ @Override
+ protected void doActionPerformed(ActionEvent e, TripMapUI ui) {
+ boolean selected = ui.getToggleLegend().isSelected();
+ log.info(String.format("Was showing legend? %b", selected));
+ boolean newValue = !selected;
+ ui.getToggleLegend().setSelected(newValue);
+ ui.getHandler().updateMap(newValue);
+ }
+}
=====================================
observe-i18n/src/main/i18n/translations/observe_en_GB.properties
=====================================
@@ -741,12 +741,14 @@ observe.content.map.export.chooseFile.ok=Exporter
observe.content.map.export.chooseFile.png=PNG image
observe.content.map.export.chooseFile.title=Export map
observe.content.map.export.success=Map exported (%s)
+observe.content.map.legend=Legend
observe.content.map.legend.hauling=Hauling
observe.content.map.legend.logbook.hauling=Logbook - Hauling
observe.content.map.legend.logbook.setting=Logbook - setting
observe.content.map.legend.obs.hauling=Observation - Hauling
observe.content.map.legend.obs.setting=Observation - setting
observe.content.map.legend.setting=setting
+observe.content.map.legend.tip=To display or hide legend
observe.content.map.legend.tripBetweenTwoDays=Night trip
observe.content.map.legend.tripDay=Day trip
observe.content.map.miles=miles
=====================================
observe-i18n/src/main/i18n/translations/observe_es_ES.properties
=====================================
@@ -741,12 +741,14 @@ observe.content.map.export.chooseFile.ok=Exportar
observe.content.map.export.chooseFile.png=imagen PNG
observe.content.map.export.chooseFile.title=Exportar el mapa
observe.content.map.export.success=Mapa exportada (%s)
+observe.content.map.legend=Legend \#TODO
observe.content.map.legend.hauling=Arrastre
observe.content.map.legend.logbook.hauling=Logbook - Arrastre
observe.content.map.legend.logbook.setting=Logbook - Calada
observe.content.map.legend.obs.hauling=Observation - Arrastre
observe.content.map.legend.obs.setting=Observation - Calada
observe.content.map.legend.setting=Calada
+observe.content.map.legend.tip=To display or hide legend \#TODO
observe.content.map.legend.tripBetweenTwoDays=Trayecto del noche
observe.content.map.legend.tripDay=Trayecto del día
observe.content.map.miles=milles
=====================================
observe-i18n/src/main/i18n/translations/observe_fr_FR.properties
=====================================
@@ -741,12 +741,14 @@ observe.content.map.export.chooseFile.ok=Exporter
observe.content.map.export.chooseFile.png=image PNG
observe.content.map.export.chooseFile.title=Exporter la carte
observe.content.map.export.success=Carte exportée (%s)
+observe.content.map.legend=Légende
observe.content.map.legend.hauling=Virage
observe.content.map.legend.logbook.hauling=Livre de bord - Virage
observe.content.map.legend.logbook.setting=Livre de bord - Filage
observe.content.map.legend.obs.hauling=Observation - Virage
observe.content.map.legend.obs.setting=Observation - Filage
observe.content.map.legend.setting=Filage
+observe.content.map.legend.tip=Pour afficher ou masquer la légende
observe.content.map.legend.tripBetweenTwoDays=Trajet de nuit
observe.content.map.legend.tripDay=Trajet de jour
observe.content.map.miles=milles
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/fddb45997dd5c9dd2e087dedb…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/fddb45997dd5c9dd2e087dedb…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 3 commits: L'ajout d'une caractéristique d'équipement plante - Closes #1516
by Tony CHEMIT 29 Jun '20
by Tony CHEMIT 29 Jun '20
29 Jun '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
87301103 by Tony Chemit at 2020-06-29T08:40:43+02:00
L'ajout d'une caractéristique d'équipement plante - Closes #1516
- - - - -
1e710af4 by Tony Chemit at 2020-06-29T08:51:57+02:00
LL Observations / Echec d'enregistrement d'une capture - Closes #1519
- - - - -
35d8e24e by Tony Chemit at 2020-06-29T09:44:03+02:00
Amélioration de l'onglet Sauvegarde (Actions longues) - Closes #1555
- - - - -
13 changed files:
- client-datasource-actions/src/main/i18n/getters/java.getter
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/save/SaveLocalUI.jcss
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/save/actions/ChooseBackupDirectory.java
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/save/actions/SelectDoBackup.java
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/common/GearUseFeaturesMeasurementsTableModel.java
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/common/GearUseFeaturesUIHandler.java
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/observation/BasketTableModel.java
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/observation/BranchlineTableModel.java
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/observation/SizeMeasureTableModel.java
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/observation/WeightMeasureTableModel.java
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/common/GearUseFeaturesMeasurementsTableModel.java
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/common/GearUseFeaturesUIHandler.java
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/FloatingObjectUIHandler.java
Changes:
=====================================
client-datasource-actions/src/main/i18n/getters/java.getter
=====================================
@@ -12,7 +12,6 @@ observe.action.config.export.required.write.data
observe.action.continue
observe.action.copy
observe.action.copy.to.clipBoard
-observe.action.do.backup
observe.action.do.backup.tip
observe.action.goto.next.stage
observe.action.goto.next.stage.tip
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/save/SaveLocalUI.jcss
=====================================
@@ -56,7 +56,7 @@
enabled:{stepModel.isDoBackup()};
}
-#chooseBackupFile {
+#chooseBackupDirectory {
enabled:{stepModel.isDoBackup()};
}
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/save/actions/ChooseBackupDirectory.java
=====================================
@@ -35,7 +35,7 @@ public class ChooseBackupDirectory extends SaveLocalUIActionSupport {
public ChooseBackupDirectory() {
- super(t("observe.action.continue"), t("observe.action.continue"), "fileChooser", ObserveKeyStrokesSupport.KEY_STROKE_STORAGE_DO_CHOOSE_FILE);
+ super("", t("observe.action.choose.db.dump.directory"), "fileChooser", ObserveKeyStrokesSupport.KEY_STROKE_STORAGE_DO_CHOOSE_FILE);
}
@Override
@@ -46,6 +46,8 @@ public class ChooseBackupDirectory extends SaveLocalUIActionSupport {
t("observe.action.choose.db.dump.directory"),
new File(ui.getDirectoryText().getText())
);
- ui.getHandler().changeDirectory(f);
+ if (f != null) {
+ ui.getHandler().changeDirectory(f);
+ }
}
}
=====================================
client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/save/actions/SelectDoBackup.java
=====================================
@@ -22,6 +22,7 @@ package fr.ird.observe.client.datasource.actions.save.actions;
* #L%
*/
+import fr.ird.observe.client.datasource.actions.save.SaveLocalModel;
import fr.ird.observe.client.datasource.actions.save.SaveLocalUI;
import fr.ird.observe.client.util.ObserveKeyStrokesSupport;
@@ -32,11 +33,13 @@ import static io.ultreia.java4all.i18n.I18n.t;
public class SelectDoBackup extends SaveLocalUIActionSupport {
public SelectDoBackup() {
- super(t("observe.action.do.backup"), t("observe.action.do.backup.tip"), null, ObserveKeyStrokesSupport.KEY_STROKE_STORAGE_DO_BACKUP);
+ super(t("observe.action.do.backup.tip"), t("observe.action.do.backup.tip"), "save", ObserveKeyStrokesSupport.KEY_STROKE_STORAGE_DO_BACKUP);
}
@Override
protected void doActionPerformed(ActionEvent e, SaveLocalUI ui) {
- ui.getStepModel().setDoBackup(ui.getStepModel().isDoBackup());
+ SaveLocalModel stepModel = ui.getStepModel();
+ boolean newValue = !stepModel.isDoBackup();
+ stepModel.setDoBackup(newValue);
}
}
=====================================
client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/common/GearUseFeaturesMeasurementsTableModel.java
=====================================
@@ -23,9 +23,12 @@ package fr.ird.observe.client.datasource.editor.content.data.ll.common;
*/
import fr.ird.observe.client.datasource.editor.content.ui.table.EditableTableWithCacheTableModelSupport;
+import fr.ird.observe.dto.IdDto;
import fr.ird.observe.dto.data.ll.common.GearUseFeaturesMeasurementDto;
import fr.ird.observe.dto.referential.common.GearCaracteristicReference;
+import java.util.Date;
+
/**
* Created on 4/7/15.
*
@@ -134,6 +137,6 @@ public class GearUseFeaturesMeasurementsTableModel extends EditableTableWithCach
@Override
protected GearUseFeaturesMeasurementDto createNewRow() {
- return new GearUseFeaturesMeasurementDto();
+ return IdDto.newDto(GearUseFeaturesMeasurementDto.class, new Date());
}
}
=====================================
client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/common/GearUseFeaturesUIHandler.java
=====================================
@@ -29,6 +29,7 @@ import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableUI
import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableUILayoutFocusTraversalPolicy;
import fr.ird.observe.client.datasource.editor.content.ui.table.EditableTableModelSupport;
import fr.ird.observe.client.util.UIHelper;
+import fr.ird.observe.dto.IdDto;
import fr.ird.observe.dto.data.ll.common.GearUseFeaturesDto;
import fr.ird.observe.dto.data.ll.common.GearUseFeaturesMeasurementDto;
import fr.ird.observe.dto.data.ll.common.TripGearUseFeaturesDto;
@@ -55,6 +56,7 @@ import java.beans.PropertyChangeListener;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
+import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -319,7 +321,7 @@ public class GearUseFeaturesUIHandler extends ContentTableUIHandler<TripGearUseF
return gearDto.getGearCaracteristic().stream()
.map(input -> {
- GearUseFeaturesMeasurementDto measurementLonglineDto = new GearUseFeaturesMeasurementDto();
+ GearUseFeaturesMeasurementDto measurementLonglineDto = IdDto.newDto(GearUseFeaturesMeasurementDto.class, new Date());
measurementLonglineDto.setGearCaracteristic(input);
if (input.getGearCaracteristicType().isBoolean()) {
measurementLonglineDto.setMeasurementValue(Boolean.FALSE.toString());
=====================================
client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/observation/BasketTableModel.java
=====================================
@@ -22,9 +22,12 @@ package fr.ird.observe.client.datasource.editor.content.data.ll.observation;
* #L%
*/
+import fr.ird.observe.dto.IdDto;
import fr.ird.observe.dto.data.ll.observation.BasketDto;
import fr.ird.observe.dto.data.ll.observation.SectionTemplate;
+import java.util.Date;
+
/**
* Created on 12/11/14.
*
@@ -40,7 +43,7 @@ public class BasketTableModel extends LonglineCompositionObsTableModelSupport<Ba
@Override
public BasketDto createNewRow() {
- return new BasketDto();
+ return IdDto.newDto(BasketDto.class, new Date());
}
@Override
=====================================
client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/observation/BranchlineTableModel.java
=====================================
@@ -22,6 +22,7 @@ package fr.ird.observe.client.datasource.editor.content.data.ll.observation;
* #L%
*/
+import fr.ird.observe.dto.IdDto;
import fr.ird.observe.dto.data.ll.observation.BranchlineDto;
import java.util.Date;
@@ -49,7 +50,7 @@ public class BranchlineTableModel extends LonglineCompositionObsTableModelSuppor
@Override
public BranchlineDto createNewRow() {
- BranchlineDto branchline = new BranchlineDto();
+ BranchlineDto branchline = IdDto.newDto(BranchlineDto.class, new Date());
branchline.setTimerTimeOnBoard(defaultDate);
branchline.setTimer(useTimer);
return branchline;
=====================================
client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/observation/SizeMeasureTableModel.java
=====================================
@@ -23,9 +23,12 @@ package fr.ird.observe.client.datasource.editor.content.data.ll.observation;
*/
import fr.ird.observe.client.datasource.editor.content.ui.table.EditableTableWithCacheTableModelSupport;
+import fr.ird.observe.dto.IdDto;
import fr.ird.observe.dto.data.ll.observation.SizeMeasureDto;
import fr.ird.observe.dto.referential.common.SizeMeasureTypeReference;
+import java.util.Date;
+
/**
* Created on 12/3/14.
*
@@ -48,6 +51,7 @@ public class SizeMeasureTableModel extends EditableTableWithCacheTableModelSuppo
@Override
protected boolean isRowValid(SizeMeasureDto valid) {
Float size = valid.getSize();
+ //FIXME This is a hardcoded validation ?
return !(valid.getSizeMeasureType() == null || size == null) && size > 0 && size < 1000;
}
@@ -97,7 +101,7 @@ public class SizeMeasureTableModel extends EditableTableWithCacheTableModelSuppo
@Override
protected SizeMeasureDto createNewRow() {
- return new SizeMeasureDto();
+ return IdDto.newDto(SizeMeasureDto.class, new Date());
}
}
=====================================
client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/observation/WeightMeasureTableModel.java
=====================================
@@ -23,9 +23,12 @@ package fr.ird.observe.client.datasource.editor.content.data.ll.observation;
*/
import fr.ird.observe.client.datasource.editor.content.ui.table.EditableTableWithCacheTableModelSupport;
+import fr.ird.observe.dto.IdDto;
import fr.ird.observe.dto.data.ll.observation.WeightMeasureDto;
import fr.ird.observe.dto.referential.common.WeightMeasureTypeReference;
+import java.util.Date;
+
/**
* Created on 12/3/14.
*
@@ -48,12 +51,13 @@ public class WeightMeasureTableModel extends EditableTableWithCacheTableModelSup
@Override
public boolean isRowValid(WeightMeasureDto valid) {
Float weight = valid.getWeight();
+ //FIXME This is a hardcoded validation ?
return !(valid.getWeightMeasureType() == null || weight == null) && weight > 0 && weight < 1000;
}
@Override
protected WeightMeasureDto createNewRow() {
- return new WeightMeasureDto();
+ return IdDto.newDto(WeightMeasureDto.class, new Date());
}
@Override
=====================================
client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/common/GearUseFeaturesMeasurementsTableModel.java
=====================================
@@ -23,9 +23,12 @@ package fr.ird.observe.client.datasource.editor.content.data.ps.common;
*/
import fr.ird.observe.client.datasource.editor.content.ui.table.EditableTableWithCacheTableModelSupport;
+import fr.ird.observe.dto.IdDto;
import fr.ird.observe.dto.data.ps.common.GearUseFeaturesMeasurementDto;
import fr.ird.observe.dto.referential.common.GearCaracteristicReference;
+import java.util.Date;
+
/**
* Created on 4/7/15.
*
@@ -129,6 +132,6 @@ public class GearUseFeaturesMeasurementsTableModel extends EditableTableWithCach
@Override
protected GearUseFeaturesMeasurementDto createNewRow() {
- return new GearUseFeaturesMeasurementDto();
+ return IdDto.newDto(GearUseFeaturesMeasurementDto.class, new Date());
}
}
=====================================
client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/common/GearUseFeaturesUIHandler.java
=====================================
@@ -29,6 +29,7 @@ import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableUI
import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableUILayoutFocusTraversalPolicy;
import fr.ird.observe.client.datasource.editor.content.ui.table.EditableTableModelSupport;
import fr.ird.observe.client.util.UIHelper;
+import fr.ird.observe.dto.IdDto;
import fr.ird.observe.dto.data.ps.common.GearUseFeaturesDto;
import fr.ird.observe.dto.data.ps.common.GearUseFeaturesMeasurementDto;
import fr.ird.observe.dto.data.ps.common.TripGearUseFeaturesDto;
@@ -55,6 +56,7 @@ import java.beans.PropertyChangeListener;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
+import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -152,7 +154,7 @@ public class GearUseFeaturesUIHandler extends ContentTableUIHandler<TripGearUseF
return gearDto.getGearCaracteristic().stream()
.map(input -> {
- GearUseFeaturesMeasurementDto measurementSeineDto = new GearUseFeaturesMeasurementDto();
+ GearUseFeaturesMeasurementDto measurementSeineDto = IdDto.newDto(GearUseFeaturesMeasurementDto.class, new Date());
if (input.getGearCaracteristicType().isBoolean()) {
measurementSeineDto.setMeasurementValue(Boolean.FALSE.toString());
}
=====================================
client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/FloatingObjectUIHandler.java
=====================================
@@ -338,7 +338,7 @@ public class FloatingObjectUIHandler extends ContentEditUIHandler<FloatingObject
if (transmittingBuoy == null) {
- TransmittingBuoyHelper.copyTransmittingBuoyDto(new TransmittingBuoyDto(), editBean);
+ TransmittingBuoyHelper.copyTransmittingBuoyDto(TransmittingBuoyDto.newDto(TransmittingBuoyDto.class, new Date()), editBean);
editBean.setCreateDate(new Date());
editBean.setTransmittingBuoyOperation(operation);
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/3b49578350849a8311258b59…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/3b49578350849a8311258b59…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 2 commits: L'ajout d'une caractéristique d'équipement plante - Closes #1516
by Tony CHEMIT 29 Jun '20
by Tony CHEMIT 29 Jun '20
29 Jun '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
daeeb76a by Tony Chemit at 2020-06-29T08:27:27+02:00
L'ajout d'une caractéristique d'équipement plante - Closes #1516
- - - - -
3b495783 by Tony Chemit at 2020-06-29T08:30:09+02:00
LL Observations / Echec d'enregistrement d'une capture - Closes #1519
- - - - -
4 changed files:
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/common/GearUseFeaturesUIHandler.java
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/observation/SizeMeasureTableModel.java
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/observation/WeightMeasureTableModel.java
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/common/GearUseFeaturesUIHandler.java
Changes:
=====================================
client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/common/GearUseFeaturesUIHandler.java
=====================================
@@ -29,6 +29,7 @@ import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableUI
import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableUILayoutFocusTraversalPolicy;
import fr.ird.observe.client.datasource.editor.content.ui.table.EditableTableModelSupport;
import fr.ird.observe.client.util.UIHelper;
+import fr.ird.observe.dto.IdDto;
import fr.ird.observe.dto.data.ll.common.GearUseFeaturesDto;
import fr.ird.observe.dto.data.ll.common.GearUseFeaturesMeasurementDto;
import fr.ird.observe.dto.data.ll.common.TripGearUseFeaturesDto;
@@ -55,6 +56,7 @@ import java.beans.PropertyChangeListener;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
+import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -319,7 +321,7 @@ public class GearUseFeaturesUIHandler extends ContentTableUIHandler<TripGearUseF
return gearDto.getGearCaracteristic().stream()
.map(input -> {
- GearUseFeaturesMeasurementDto measurementLonglineDto = new GearUseFeaturesMeasurementDto();
+ GearUseFeaturesMeasurementDto measurementLonglineDto = IdDto.newDto(GearUseFeaturesMeasurementDto.class, new Date());
measurementLonglineDto.setGearCaracteristic(input);
if (input.getGearCaracteristicType().isBoolean()) {
measurementLonglineDto.setMeasurementValue(Boolean.FALSE.toString());
=====================================
client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/observation/SizeMeasureTableModel.java
=====================================
@@ -23,9 +23,12 @@ package fr.ird.observe.client.datasource.editor.content.data.ll.observation;
*/
import fr.ird.observe.client.datasource.editor.content.ui.table.EditableTableWithCacheTableModelSupport;
+import fr.ird.observe.dto.IdDto;
import fr.ird.observe.dto.data.ll.observation.SizeMeasureDto;
import fr.ird.observe.dto.referential.common.SizeMeasureTypeReference;
+import java.util.Date;
+
/**
* Created on 12/3/14.
*
@@ -48,6 +51,7 @@ public class SizeMeasureTableModel extends EditableTableWithCacheTableModelSuppo
@Override
protected boolean isRowValid(SizeMeasureDto valid) {
Float size = valid.getSize();
+ //FIXME This is a hardcoded validation ?
return !(valid.getSizeMeasureType() == null || size == null) && size > 0 && size < 1000;
}
@@ -97,7 +101,7 @@ public class SizeMeasureTableModel extends EditableTableWithCacheTableModelSuppo
@Override
protected SizeMeasureDto createNewRow() {
- return new SizeMeasureDto();
+ return IdDto.newDto(SizeMeasureDto.class, new Date());
}
}
=====================================
client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/observation/WeightMeasureTableModel.java
=====================================
@@ -23,9 +23,12 @@ package fr.ird.observe.client.datasource.editor.content.data.ll.observation;
*/
import fr.ird.observe.client.datasource.editor.content.ui.table.EditableTableWithCacheTableModelSupport;
+import fr.ird.observe.dto.IdDto;
import fr.ird.observe.dto.data.ll.observation.WeightMeasureDto;
import fr.ird.observe.dto.referential.common.WeightMeasureTypeReference;
+import java.util.Date;
+
/**
* Created on 12/3/14.
*
@@ -48,12 +51,13 @@ public class WeightMeasureTableModel extends EditableTableWithCacheTableModelSup
@Override
public boolean isRowValid(WeightMeasureDto valid) {
Float weight = valid.getWeight();
+ //FIXME This is a hardcoded validation ?
return !(valid.getWeightMeasureType() == null || weight == null) && weight > 0 && weight < 1000;
}
@Override
protected WeightMeasureDto createNewRow() {
- return new WeightMeasureDto();
+ return IdDto.newDto(WeightMeasureDto.class, new Date());
}
@Override
=====================================
client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/common/GearUseFeaturesUIHandler.java
=====================================
@@ -29,6 +29,7 @@ import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableUI
import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableUILayoutFocusTraversalPolicy;
import fr.ird.observe.client.datasource.editor.content.ui.table.EditableTableModelSupport;
import fr.ird.observe.client.util.UIHelper;
+import fr.ird.observe.dto.IdDto;
import fr.ird.observe.dto.data.ps.common.GearUseFeaturesDto;
import fr.ird.observe.dto.data.ps.common.GearUseFeaturesMeasurementDto;
import fr.ird.observe.dto.data.ps.common.TripGearUseFeaturesDto;
@@ -55,6 +56,7 @@ import java.beans.PropertyChangeListener;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
+import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -152,7 +154,7 @@ public class GearUseFeaturesUIHandler extends ContentTableUIHandler<TripGearUseF
return gearDto.getGearCaracteristic().stream()
.map(input -> {
- GearUseFeaturesMeasurementDto measurementSeineDto = new GearUseFeaturesMeasurementDto();
+ GearUseFeaturesMeasurementDto measurementSeineDto = IdDto.newDto(GearUseFeaturesMeasurementDto.class, new Date());
if (input.getGearCaracteristicType().isBoolean()) {
measurementSeineDto.setMeasurementValue(Boolean.FALSE.toString());
}
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/7e94d30f6384c72165b201cf…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/7e94d30f6384c72165b201cf…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 14 commits: Ajout d'une méthode de mesure de poids par défaut sur Estimations du banc - Closes #1510
by Tony CHEMIT 29 Jun '20
by Tony CHEMIT 29 Jun '20
29 Jun '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
3a5e6544 by Tony Chemit at 2020-06-29T08:10:32+02:00
Ajout d'une méthode de mesure de poids par défaut sur Estimations du banc - Closes #1510
- - - - -
9cb86fc5 by Tony Chemit at 2020-06-29T08:10:34+02:00
Renommer un onglet sur form Marée LL - Closes #1521
- - - - -
c63f7620 by Tony Chemit at 2020-06-29T08:10:34+02:00
LL Observations / Capture / déprédation : libellé - Closes #1520
[LL][Logbook] opération de pêche / libellé - Closes #1526
- - - - -
45ad272d by Tony Chemit at 2020-06-29T08:10:34+02:00
[LL][Logbooks] Besoin de pouvoir mettre les horodatages à NULL - Closes #1523
- - - - -
93bef350 by Tony Chemit at 2020-06-29T08:10:34+02:00
[LL Logbook Activity] Revoir finement l'activité observée associée à une activité logbook - See #1551
- - - - -
609bb0d3 by Tony Chemit at 2020-06-29T08:10:34+02:00
Revoir les barres de progressions - Closes #1417
- - - - -
576e1632 by Tony Chemit at 2020-06-29T08:10:34+02:00
Try a new RC and use stable toolkit
- - - - -
eb6c6450 by Tony Chemit at 2020-06-29T08:10:34+02:00
[LL] Appairement des activités : cosmétique - Closes #1537
- - - - -
6595086f by Tony Chemit at 2020-06-29T08:10:34+02:00
[LL][Echantillon logbook] Cosmétique échantillon dans l'arbre - Closes #1535
- - - - -
34c2f432 by Tony Chemit at 2020-06-29T08:10:34+02:00
[LL][Logbooks] Form Opération de pêche / Capture : champs actifs en fonction du mode de saisie - Closes #1534
- - - - -
24116d14 by Tony Chemit at 2020-06-29T08:10:34+02:00
[CALCULS] L'assistant calculs bloque après la sélection des marées - Closes #1547
- - - - -
52cdc0e1 by Tony Chemit at 2020-06-29T08:10:34+02:00
update changelog [skip ci]
- - - - -
cba750bc by Tony Chemit at 2020-06-29T08:10:34+02:00
Add a fixme to be done
- - - - -
7e94d30f by Tony Chemit at 2020-06-29T08:10:34+02:00
Libellés référentiels - Closes #1509
- - - - -
30 changed files:
- CHANGELOG.md
- client-configuration/pom.xml
- client-core/pom.xml
- client-core/src/main/java/fr/ird/observe/client/datasource/api/ObserveDataSourcesManager.java
- client-core/src/main/java/fr/ird/observe/client/datasource/api/ObserveSwingDataSource.java
- client-core/src/main/java/fr/ird/observe/client/util/ProgressModel.java
- client-datasource-actions/pom.xml
- client-datasource-actions/src/main/i18n/getters/java.getter
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/actions/AdminTabUIActionSupport.java
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/actions/Start.java
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/export/actions/Start.java
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/longline/pairing/actions/Prepare.java
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/longline/pairing/tree/ActivityLonglinePairingTreeTableModel.java
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/longline/pairing/tree/node/ActivityLonglinePairingActivityNode.java
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/actions/Apply.java
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/validate/actions/Start.java
- client-datasource-editor-api/pom.xml
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/DataSourceEditorBodyContent.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/DataSourceEditorHandler.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/wizard/StorageBackupUILauncher.java
- client-datasource-editor-common/pom.xml
- client-datasource-editor-ll/pom.xml
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/logbook/ActivityUI.jcss
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/logbook/CatchUIHandler.java
- client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/logbook/SetUI.jcss
- client-datasource-editor-ps/pom.xml
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/ObjectSchoolEstimateUIModel.java
- client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/SchoolEstimateUIModel.java
- client-runner/pom.xml
- dto-spi/pom.xml
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/4e13843a4985bacf13fa2bbd…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/4e13843a4985bacf13fa2bbd…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Libellés référentiels - Closes #1509
by Tony CHEMIT 29 Jun '20
by Tony CHEMIT 29 Jun '20
29 Jun '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
4e13843a by Tony Chemit at 2020-06-29T08:06:35+02:00
Libellés référentiels - Closes #1509
- - - - -
3 changed files:
- observe-i18n/src/main/i18n/translations/observe_en_GB.properties
- observe-i18n/src/main/i18n/translations/observe_es_ES.properties
- observe-i18n/src/main/i18n/translations/observe_fr_FR.properties
Changes:
=====================================
observe-i18n/src/main/i18n/translations/observe_en_GB.properties
=====================================
@@ -784,7 +784,7 @@ observe.data.Data.endDate=End date
observe.data.Data.haulingIdentifier=Hauling identifier
observe.data.Data.hookLost=Hook lost
observe.data.Data.landingHarbour=Landing harbour
-observe.data.Data.lengthMeasureMethod=Length measure method
+observe.data.Data.lengthMeasureMethod=Size measure type
observe.data.Data.message.historical.data=Historical data (can be closed, even if not valid)
observe.data.Data.observer=Observer
observe.data.Data.program=Program
@@ -797,7 +797,7 @@ observe.data.Data.timerTimeOnBoard=Time on board
observe.data.Data.traceCutOff=Trace cut off
observe.data.Data.type=<html><body>Data of type <i>%s</i>
observe.data.Data.vessel=Vessel
-observe.data.Data.weightMeasureMethod=Weight measure method
+observe.data.Data.weightMeasureMethod=Weight measure type
observe.data.Openable.action.closeAndCreate=Close and create
observe.data.Openable.action.closeAndCreate.tip=Close current element and create a new one
observe.data.Openable.action.reopen=Re-open
@@ -2459,8 +2459,8 @@ observe.referential.common.LengthLengthParameter.sex=Sex
observe.referential.common.LengthLengthParameter.startDate=Start date
observe.referential.common.LengthLengthParameter.type=Length length parameter
observe.referential.common.LengthLengthParameter.types=Length length parameters
-observe.referential.common.LengthMeasureMethod.type=Length measure method
-observe.referential.common.LengthMeasureMethod.types=Length measure methods
+observe.referential.common.LengthMeasureMethod.type=Size measure type
+observe.referential.common.LengthMeasureMethod.types=Size measure types
observe.referential.common.LengthWeightParameter.coefficients=Coefficients
observe.referential.common.LengthWeightParameter.endDate=End date
observe.referential.common.LengthWeightParameter.generalTab=General caracteristics
@@ -2589,8 +2589,8 @@ observe.referential.common.VesselSizeCategory.type=Vessel size category
observe.referential.common.VesselSizeCategory.types=Vessel size categories
observe.referential.common.VesselType.type=Vessel type
observe.referential.common.VesselType.types=Vessel types
-observe.referential.common.WeightMeasureMethod.type=Weight measure method
-observe.referential.common.WeightMeasureMethod.types=Weight measure methods
+observe.referential.common.WeightMeasureMethod.type=Weight measure type
+observe.referential.common.WeightMeasureMethod.types=Weight measure types
observe.referential.common.WeightMeasureType.type=Weight measure type
observe.referential.common.WeightMeasureType.types=Weight measure types
observe.referential.common.Wind.speedRange=Speed range
=====================================
observe-i18n/src/main/i18n/translations/observe_es_ES.properties
=====================================
@@ -784,7 +784,7 @@ observe.data.Data.endDate=Fecha de fin
observe.data.Data.haulingIdentifier=Arrastre
observe.data.Data.hookLost=Anzuelo erdido
observe.data.Data.landingHarbour=Puerto de desembarque
-observe.data.Data.lengthMeasureMethod=Méthode de mesure de taille \#TODO
+observe.data.Data.lengthMeasureMethod=Método de medición del tamaño
observe.data.Data.message.historical.data=Datos históricos (puede cerrarse incluso sin validar)
observe.data.Data.observer=Observador
observe.data.Data.program=Programa
@@ -797,7 +797,7 @@ observe.data.Data.timerTimeOnBoard=Timestamp de subida a bordo
observe.data.Data.traceCutOff=Bajo de línea cortada
observe.data.Data.type=<html><body>Dato de tipo <i>%s</i>
observe.data.Data.vessel=Buque
-observe.data.Data.weightMeasureMethod=Méthode de mesure de poids \#TODO
+observe.data.Data.weightMeasureMethod=Método de medición de peso
observe.data.Openable.action.closeAndCreate=Cerrar y crear
observe.data.Openable.action.closeAndCreate.tip=Cierre el elemento activo y crear un nuevo
observe.data.Openable.action.reopen=Reabrir
@@ -2459,8 +2459,8 @@ observe.referential.common.LengthLengthParameter.sex=Sexo
observe.referential.common.LengthLengthParameter.startDate=Fecha de comienzo
observe.referential.common.LengthLengthParameter.type=Relación Tamaño-Tamaño
observe.referential.common.LengthLengthParameter.types=Relaciones Tamaño-Tamaño
-observe.referential.common.LengthMeasureMethod.type=Méthode d'estimation de taille \#TODO
-observe.referential.common.LengthMeasureMethod.types=Méthodes d'estimation de taille \#TODO
+observe.referential.common.LengthMeasureMethod.type=Método de medición del tamaño
+observe.referential.common.LengthMeasureMethod.types=Método de medición del tamaño
observe.referential.common.LengthWeightParameter.coefficients=Coeficientes
observe.referential.common.LengthWeightParameter.endDate=Fecha de fin
observe.referential.common.LengthWeightParameter.generalTab=Características generales
@@ -2589,8 +2589,8 @@ observe.referential.common.VesselSizeCategory.type=Categoría de buque
observe.referential.common.VesselSizeCategory.types=Categorías de buque
observe.referential.common.VesselType.type=Tipo de pesquería
observe.referential.common.VesselType.types=Tipos de pesquería
-observe.referential.common.WeightMeasureMethod.type=Méthode d'estimation de poids \#TODO
-observe.referential.common.WeightMeasureMethod.types=Méthodes d'estimation de poids \#TODO
+observe.referential.common.WeightMeasureMethod.type=Método de medición de peso
+observe.referential.common.WeightMeasureMethod.types=Método de medición de peso
observe.referential.common.WeightMeasureType.type=Tipo de medida de peso
observe.referential.common.WeightMeasureType.types=Tipos de medida de peso
observe.referential.common.Wind.speedRange=Texto velocidad del viento
=====================================
observe-i18n/src/main/i18n/translations/observe_fr_FR.properties
=====================================
@@ -2459,8 +2459,8 @@ observe.referential.common.LengthLengthParameter.sex=Sexe
observe.referential.common.LengthLengthParameter.startDate=Début de validité
observe.referential.common.LengthLengthParameter.type=Relation Taille-Taille
observe.referential.common.LengthLengthParameter.types=Relations Taille-Taille
-observe.referential.common.LengthMeasureMethod.type=Méthode d'estimation de taille
-observe.referential.common.LengthMeasureMethod.types=Méthodes d'estimation de taille
+observe.referential.common.LengthMeasureMethod.type=Méthode de mesure de taille
+observe.referential.common.LengthMeasureMethod.types=Méthodes de mesure de taille
observe.referential.common.LengthWeightParameter.coefficients=Coefficients
observe.referential.common.LengthWeightParameter.endDate=Fin de validité
observe.referential.common.LengthWeightParameter.generalTab=Caractéristiques générales
@@ -2589,8 +2589,8 @@ observe.referential.common.VesselSizeCategory.type=Catégorie de bateau
observe.referential.common.VesselSizeCategory.types=Catégories de bateau
observe.referential.common.VesselType.type=Type de pêcherie
observe.referential.common.VesselType.types=Types de pêcherie
-observe.referential.common.WeightMeasureMethod.type=Méthode d'estimation de poids
-observe.referential.common.WeightMeasureMethod.types=Méthodes d'estimation de poids
+observe.referential.common.WeightMeasureMethod.type=Méthode de mesure de poids
+observe.referential.common.WeightMeasureMethod.types=Méthodes de mesure de poids
observe.referential.common.WeightMeasureType.type=Type de mesure de poids
observe.referential.common.WeightMeasureType.types=Types de mesure de poids
observe.referential.common.Wind.speedRange=Libellé vitesse vent
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/4e13843a4985bacf13fa2bbd2…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/4e13843a4985bacf13fa2bbd2…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 2 commits: update changelog [skip ci]
by Tony CHEMIT 27 Jun '20
by Tony CHEMIT 27 Jun '20
27 Jun '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
f94b5b2f by Tony Chemit at 2020-06-27T20:02:45+02:00
update changelog [skip ci]
- - - - -
29fb236f by Tony Chemit at 2020-06-27T20:02:58+02:00
Add a fixme to be done
- - - - -
2 changed files:
- CHANGELOG.md
- dto/src/main/java/fr/ird/observe/dto/decoration/DecoratorService.java
Changes:
=====================================
CHANGELOG.md
=====================================
@@ -1,7 +1,7 @@
# ObServe changelog
* Author [Tony Chemit](mailto:dev@tchemit.fr)
- * Last generated at 2020-06-22 19:14.
+ * Last generated at 2020-06-27 20:02.
## Version [8.0-RC-7](https://gitlab.com/ultreiaio/ird-observe/milestones/161)
=====================================
dto/src/main/java/fr/ird/observe/dto/decoration/DecoratorService.java
=====================================
@@ -39,6 +39,7 @@ import java.util.Comparator;
* @author Tony Chemit - dev(a)tchemit.fr
* @since 1.3
*/
+//FIXME This should not be a application component, but just something, somewhere else!!!
@GenerateApplicationComponent(
name = "Decoration service",
dependencies = ReferentialLocaleConfig.class
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/eaed2fad340b9f7dcb181fb0…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/eaed2fad340b9f7dcb181fb0…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] [CALCULS] L'assistant calculs bloque après la sélection des marées - Closes #1547
by Tony CHEMIT 27 Jun '20
by Tony CHEMIT 27 Jun '20
27 Jun '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
eaed2fad by Tony Chemit at 2020-06-27T19:54:57+02:00
[CALCULS] L'assistant calculs bloque après la sélection des marées - Closes #1547
- - - - -
1 changed file:
- services-local/src/main/java/fr/ird/observe/services/local/service/actions/consolidate/ConsolidateDataServiceLocal.java
Changes:
=====================================
services-local/src/main/java/fr/ird/observe/services/local/service/actions/consolidate/ConsolidateDataServiceLocal.java
=====================================
@@ -28,7 +28,6 @@ import fr.ird.observe.dto.data.ps.NonTargetCatchComputedValueSource;
import fr.ird.observe.dto.data.ps.observation.FloatingObjectDto;
import fr.ird.observe.dto.data.ps.observation.FloatingObjectPartDto;
import fr.ird.observe.dto.decoration.DecoratorService;
-import fr.ird.observe.dto.decoration.DecoratorServiceApplicationComponent;
import fr.ird.observe.dto.referential.I18nReferentialHelper;
import fr.ird.observe.dto.referential.ReferentialLocale;
import fr.ird.observe.entities.EntityHelper;
@@ -54,6 +53,7 @@ import fr.ird.observe.entities.referential.common.Species;
import fr.ird.observe.entities.referential.ps.common.SchoolType;
import fr.ird.observe.entities.referential.ps.common.SpeciesFate;
import fr.ird.observe.entities.referential.ps.observation.ObjectMaterial;
+import fr.ird.observe.services.local.ObserveServiceContextLocal;
import fr.ird.observe.services.local.service.ObserveServiceLocal;
import fr.ird.observe.services.service.actions.consolidate.ConsolidateDataService;
import fr.ird.observe.services.service.actions.consolidate.ConsolidateTripSeineDataRequest;
@@ -143,6 +143,13 @@ public class ConsolidateDataServiceLocal extends ObserveServiceLocal implements
}
return ImmutableMap.copyOf(mappingBuilder);
}
+ private DecoratorService decoratorService;
+
+ @Override
+ public void setServiceContext(ObserveServiceContextLocal serviceContext) {
+ super.setServiceContext(serviceContext);
+ decoratorService = new DecoratorService(ConsolidateDataServiceLocal.this::getReferentialLocale);
+ }
@Override
public ConsolidateTripSeineDataResult consolidateTripSeine(SimplifiedObjectTypeSpecializedRules simplifiedObjectTypeSpecializedRules, ConsolidateTripSeineDataRequest request) {
@@ -154,7 +161,6 @@ public class ConsolidateDataServiceLocal extends ObserveServiceLocal implements
SimplifiedObjectTypeManager simplifiedObjectTypeManager = newSimplifiedObjectTypeManager(simplifiedObjectTypeSpecializedRules);
FloatingObjectConsolidateEngine floatingObjectConsolidateEngine = new FloatingObjectConsolidateEngine(simplifiedObjectTypeManager);
- DecoratorService decoratorService = DecoratorServiceApplicationComponent.value();
Optional<ConsolidateTripSeineDataResult> consolidateTripSeineDataResult = consolidateTripSeine(decoratorService,referenceLocale, floatingObjectConsolidateEngine, request.getTripSeineId(), failIfLengthWeightParameterNotFound, failIfLengthLengthParameterNotFound);
return consolidateTripSeineDataResult.orElse(null);
}
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/eaed2fad340b9f7dcb181fb04…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/eaed2fad340b9f7dcb181fb04…
You're receiving this email because of your account on gitlab.com.
1
0