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
December 2020
- 1 participants
- 96 discussions
[Git][ultreiaio/ird-observe][develop] Il reste quelques optimisations à réaliser sur la couche de persistence - See #1664
by Tony CHEMIT 28 Dec '20
by Tony CHEMIT 28 Dec '20
28 Dec '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
9157663c by Tony Chemit at 2020-12-28T13:36:00+01:00
Il reste quelques optimisations à réaliser sur la couche de persistence - See #1664
Sanitize longline observations elements
- - - - -
3 changed files:
- models/persistence/src/main/java/fr/ird/observe/entities/data/ll/observation/SetTopiaDao.java
- models/persistence/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_8_0.java
- tests/test/src/main/resources/db/8.0/dataForTestLongline.sql.gz
Changes:
=====================================
models/persistence/src/main/java/fr/ird/observe/entities/data/ll/observation/SetTopiaDao.java
=====================================
@@ -22,6 +22,7 @@ package fr.ird.observe.entities.data.ll.observation;
* #L%
*/
+import com.google.common.base.Joiner;
import com.google.common.collect.ImmutableSet;
import fr.ird.observe.spi.context.DataDtoEntityContext;
@@ -36,6 +37,17 @@ import java.util.List;
public class SetTopiaDao extends AbstractSetTopiaDao<Set> {
private static final String SQL_PATTERN = "SELECT DISTINCT(%1$s) FROM %2$s WHERE set = '%3$s' AND %1$s IS NOT NULL";
+ private static final String SANITIZE_BASKET_SQL_PATTERN = "UPDATE %1$s SET basket = NULL WHERE branchline IS NOT NULL;";
+ private static final String SANITIZE_SECTION_SQL_PATTERN = "UPDATE %1$s SET section = NULL WHERE basket IS NOT NULL OR branchline IS NOT NULL;";
+
+ public static ImmutableSet<String> generateSanitizeLonglineElementsStatements() {
+ return ImmutableSet.of(
+ String.format(SANITIZE_BASKET_SQL_PATTERN, "ll_observation.tdr"),
+ String.format(SANITIZE_SECTION_SQL_PATTERN, "ll_observation.tdr"),
+ String.format(SANITIZE_BASKET_SQL_PATTERN, "ll_observation.catch"),
+ String.format(SANITIZE_SECTION_SQL_PATTERN, "ll_observation.catch")
+ );
+ }
public ImmutableSet<String> getSectionUsed(String setId) {
ImmutableSet.Builder<String> builder = ImmutableSet.builder();
@@ -58,6 +70,13 @@ public class SetTopiaDao extends AbstractSetTopiaDao<Set> {
return builder.build();
}
+ //FIXME Use this in next consolidate ll action
+ @SuppressWarnings("unused")
+ public void sanitizeLonglineElements() {
+ ImmutableSet<String> requests = generateSanitizeLonglineElementsStatements();
+ topiaSqlSupport.executeSql(Joiner.on("\n").join(requests));
+ }
+
protected void getUsages(DataDtoEntityContext<?, ?, ?, ?> spi, String propertyName, String setId, ImmutableSet.Builder<String> ids) {
List<String> newIds = topiaSqlSupport.findMultipleResult(String.format(SQL_PATTERN, propertyName, spi.getEntitySqlDescriptor().getTable().getSchemaAndTableName(), setId), r -> r.getString(1));
ids.addAll(newIds);
=====================================
models/persistence/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_8_0.java
=====================================
@@ -23,6 +23,7 @@ package fr.ird.observe.entities.migration;
*/
import com.google.auto.service.AutoService;
+import fr.ird.observe.entities.data.ll.observation.SetTopiaDao;
import org.nuiton.topia.persistence.support.TopiaSqlQuery;
import org.nuiton.topia.service.migration.resources.MigrationVersionResource;
import org.nuiton.topia.service.migration.resources.MigrationVersionResourceExecutor;
@@ -43,7 +44,7 @@ import java.util.List;
public class DataSourceMigrationForVersion_8_0 extends MigrationVersionResource {
public DataSourceMigrationForVersion_8_0() {
- super(Versions.valueOf("8.0"));
+ super(Versions.valueOf("8.0"), true);
ObserveTopiaMigrationServiceAskUserToMigrate.createResourceScriptVariables(this, "2020-10-01", "2020-10-01 00:00:00.000000");
}
@@ -85,6 +86,11 @@ public class DataSourceMigrationForVersion_8_0 extends MigrationVersionResource
executor.executeForPG(this::fixPostgisTriggers);
}
+ @Override
+ public void generateFinalizeSqlScript(MigrationVersionResourceExecutor executor) {
+ SetTopiaDao.generateSanitizeLonglineElementsStatements().forEach(executor::writeSql);
+ }
+
private void processSchema(MigrationVersionResourceExecutor executor, boolean withIds, String order, String schemaName) {
if (withIds) {
executor.addScript(order, schemaName + "_fill");
=====================================
tests/test/src/main/resources/db/8.0/dataForTestLongline.sql.gz
=====================================
Binary files a/tests/test/src/main/resources/db/8.0/dataForTestLongline.sql.gz and b/tests/test/src/main/resources/db/8.0/dataForTestLongline.sql.gz differ
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/9157663c0b07dc9aa39f09d0f…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/9157663c0b07dc9aa39f09d0f…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Ajouts au référentiel VesseType - Closes #1704
by Tony CHEMIT 28 Dec '20
by Tony CHEMIT 28 Dec '20
28 Dec '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
5eaaef3d by Tony Chemit at 2020-12-28T12:32:04+01:00
Ajouts au référentiel VesseType - Closes #1704
- - - - -
7 changed files:
- models/persistence/src/main/resources/db/migration/8.0/01_update_referential-common.sql
- models/persistence/src/test/resources/fixtures/persistence/count-referential-common.properties
- models/persistence/src/test/resources/fixtures/persistence/entity-tables-count-referential.properties
- tests/test/src/main/resources/db/8.0/dataForTestLongline.sql.gz
- tests/test/src/main/resources/db/8.0/dataForTestSeine.sql.gz
- tests/test/src/main/resources/db/8.0/referentiel.sql.gz
- tests/test/src/main/resources/fixtures/global.properties
Changes:
=====================================
models/persistence/src/main/resources/db/migration/8.0/01_update_referential-common.sql
=====================================
@@ -20,8 +20,10 @@
-- #L%
---
-INSERT INTO observe_common.VesselType(topiaId, topiaVersion, topiaCreateDate, lastUpdateDate, status, needComment, code, label1, label2, label3) values ('fr.ird.observe.entities.referentiel.VesselType#666#1' , 0, ${CURRENT_DATE}, ${CURRENT_TIMESTAMP}, 1, false, null,'Industrial longliner', 'Palangrier industriel','Palangrero industrial');
-INSERT INTO observe_common.VesselType(topiaId, topiaVersion, topiaCreateDate, lastUpdateDate, status, needComment, code, label1, label2, label3) values ('fr.ird.observe.entities.referentiel.VesselType#666#2' , 0, ${CURRENT_DATE}, ${CURRENT_TIMESTAMP}, 1, false, null,'Semi industrial longliner', 'Palangrier semi industriel','Palangreros semindustriales');
+INSERT INTO observe_common.VesselType(topiaId, topiaVersion, topiaCreateDate, lastUpdateDate, status, needComment, code, label1, label2, label3) values ('fr.ird.referential.common.VesselType#1464000000000#0.14' , 0, ${CURRENT_DATE}, ${CURRENT_TIMESTAMP}, 1, false, '14','Industrial longliner', 'Palangrier industriel','Palangrero industrial');
+INSERT INTO observe_common.VesselType(topiaId, topiaVersion, topiaCreateDate, lastUpdateDate, status, needComment, code, label1, label2, label3) values ('fr.ird.referential.common.VesselType#1464000000000#0.15' , 0, ${CURRENT_DATE}, ${CURRENT_TIMESTAMP}, 1, false, '15','Semi industrial longliner', 'Palangrier semi industriel','Palangreros semindustriales');
+INSERT INTO observe_common.VesselType(topiaId, topiaVersion, topiaCreateDate, lastUpdateDate, status, needComment, code, label1, label2, label3) values ('fr.ird.referential.common.VesselType#1464000000000#0.16' , 0, ${CURRENT_DATE}, ${CURRENT_TIMESTAMP}, 1, false, '16','Schooner', 'Goélette','Goleta');
+INSERT INTO observe_common.VesselType(topiaId, topiaVersion, topiaCreateDate, lastUpdateDate, status, needComment, code, label1, label2, label3) values ('fr.ird.referential.common.VesselType#1464000000000#0.17' , 0, ${CURRENT_DATE}, ${CURRENT_TIMESTAMP}, 1, false, '17','Handliner', 'Palangrotte','Handlin');
INSERT INTO observe_longline.vesselactivity(topiaId, topiaVersion, topiaCreateDate, lastUpdateDate, status, needComment, code, label1, label2, label3) values ('fr.ird.observe.entities.referentiel.longline.VesselActivityLongline#666#01' , 0, ${CURRENT_DATE}, ${CURRENT_TIMESTAMP}, 1, false, 'CRUISE', 'Cruising', 'Route','Route #TODO');
INSERT INTO observe_longline.vesselactivity(topiaId, topiaVersion, topiaCreateDate, lastUpdateDate, status, needComment, code, label1, label2, label3) values ('fr.ird.observe.entities.referentiel.longline.VesselActivityLongline#666#02' , 0, ${CURRENT_DATE}, ${CURRENT_TIMESTAMP}, 1, false, 'DRIFT', 'Drifting', 'En dérive','En dérive #TODO');
=====================================
models/persistence/src/test/resources/fixtures/persistence/count-referential-common.properties
=====================================
@@ -48,7 +48,7 @@ common.speciesgroup_speciesgroupreleasemode=19
common.specieslist=8
common.vessel=1172
common.vesselsizecategory=13
-common.vesseltype=16
+common.vesseltype=18
common.weightmeasuremethod=4
common.weightmeasuretype=3
common.wind=13
=====================================
models/persistence/src/test/resources/fixtures/persistence/entity-tables-count-referential.properties
=====================================
@@ -42,7 +42,7 @@ fr.ird.observe.entities.referential.common.SpeciesGroupReleaseMode=9
fr.ird.observe.entities.referential.common.SpeciesList=8
fr.ird.observe.entities.referential.common.Vessel=1172
fr.ird.observe.entities.referential.common.VesselSizeCategory=13
-fr.ird.observe.entities.referential.common.VesselType=16
+fr.ird.observe.entities.referential.common.VesselType=18
fr.ird.observe.entities.referential.common.WeightMeasureMethod=4
fr.ird.observe.entities.referential.common.WeightMeasureType=3
fr.ird.observe.entities.referential.common.Wind=13
=====================================
tests/test/src/main/resources/db/8.0/dataForTestLongline.sql.gz
=====================================
Binary files a/tests/test/src/main/resources/db/8.0/dataForTestLongline.sql.gz and b/tests/test/src/main/resources/db/8.0/dataForTestLongline.sql.gz differ
=====================================
tests/test/src/main/resources/db/8.0/dataForTestSeine.sql.gz
=====================================
Binary files a/tests/test/src/main/resources/db/8.0/dataForTestSeine.sql.gz and b/tests/test/src/main/resources/db/8.0/dataForTestSeine.sql.gz differ
=====================================
tests/test/src/main/resources/db/8.0/referentiel.sql.gz
=====================================
Binary files a/tests/test/src/main/resources/db/8.0/referentiel.sql.gz and b/tests/test/src/main/resources/db/8.0/referentiel.sql.gz differ
=====================================
tests/test/src/main/resources/fixtures/global.properties
=====================================
@@ -35,5 +35,5 @@ SPECIES_GROUP_ID=fr.ird.referential.common.SpeciesGroup#1239832683689#0.71201161
# for fr.ird.observe.spi.DbModelHelperTest
REFERENCE_DATA_COUNT=52
# for fr.ird.observe.services.local.service.referential.differential.DifferentialModelTest
-REFERENTIAL_COUNT=3017
+REFERENTIAL_COUNT=3019
ENTITIES_LIMIT_SIZE=100
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/5eaaef3df681e6caaafcd432f…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/5eaaef3df681e6caaafcd432f…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Configuration de la cartographie - See #1702
by Tony CHEMIT 28 Dec '20
by Tony CHEMIT 28 Dec '20
28 Dec '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
03aa3129 by Tony Chemit at 2020-12-28T12:03:52+01:00
Configuration de la cartographie - See #1702
- - - - -
16 changed files:
- client/configuration/src/main/config/Client.ini
- client/configuration/src/main/i18n/getters/config.getter
- client/configuration/src/main/java/fr/ird/observe/client/configuration/ClientConfig.java
- client/core/src/main/java/fr/ird/observe/client/main/body/ClientConfigUI.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/map/TripMapContentBuilderSupport.java
- client/datasource/editor/ll/pom.xml
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/common/TripMapContentBuilder.java
- client/datasource/editor/ll/src/main/resources/map/ll-style.xml
- client/datasource/editor/ps/pom.xml
- client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/common/TripMapContentBuilder.java
- client/datasource/editor/ps/src/main/resources/map/ps-style.xml
- client/i18n/src/main/i18n/translations/observe_en_GB.properties
- client/i18n/src/main/i18n/translations/observe_es_ES.properties
- client/i18n/src/main/i18n/translations/observe_fr_FR.properties
- models/dto/src/main/java/fr/ird/observe/dto/data/TripMapConfig.java
- models/dto/src/main/java/fr/ird/observe/dto/data/TripMapContentBuilder.java
Changes:
=====================================
client/configuration/src/main/config/Client.ini
=====================================
@@ -504,36 +504,72 @@ key = map.background.color
type = color
defaultValue = java.awt.Color[r=87,g=200,b=255]
+[option mapDateFormat]
+description = observe.config.map.dateFormat
+key = map.date.format
+type = string
+defaultValue = "MM-dd"
+
[option mapLayer1]
description = observe.config.map.layer1.description
key = map.layer1.path
type = file
defaultValue = ${resources.directory}/map/shapeFiles/continents/GSHHS_l_L1.shp
+[option mapLayer1Color]
+description = observe.config.map.layer1.color
+key = map.layer1.color
+type = color
+defaultValue = java.awt.Color[r=251,g=233,b=215]
+
[option mapLayer2]
description = observe.config.map.layer2.description
key = map.layer2.path
type = file
defaultValue = ${resources.directory}/map/shapeFiles/continents/GSHHS_l_L6.shp
+[option mapLayer2Color]
+description = observe.config.map.layer2.color
+key = map.layer2.color
+type = color
+defaultValue = java.awt.Color[r=245,g=245,b=255]
+
[option mapLayer3]
description = observe.config.map.layer3.description
key = map.layer3.path
type = file
defaultValue = ${resources.directory}/map/shapeFiles/lakesAndSeas/GSHHS_l_L2.shp
+[option mapLayer3Color]
+description = observe.config.map.layer3.color
+key = map.layer3.color
+type = color
+defaultValue = java.awt.Color[r=127,g=183,b=255]
+
[option mapLayer4]
description = observe.config.map.layer4.description
key = map.layer4.path
type = file
defaultValue = ${resources.directory}/map/shapeFiles/borders/WDBII_border_l_L1.shp
+[option mapLayer4Color]
+description = observe.config.map.layer4.color
+key = map.layer4.color
+type = color
+defaultValue = java.awt.Color[r=251,g=233,b=215]
+
[option mapLayer5]
description = observe.config.map.layer5.description
key = map.layer5.path
type = file
defaultValue = ${resources.directory}/map/shapeFiles/zee/eez_v11_lowres.shp
+[option mapLayer5Color]
+description = observe.config.map.layer5.color
+key = map.layer5.color
+type = color
+defaultValue = java.awt.Color[r=130,g=244,b=249]
+
[option mapLayer6]
description = observe.config.map.layer6.description
key = map.layer6.path
@@ -564,10 +600,29 @@ description = observe.config.map.ps.style.description
key = map.ps.style.path
type = file
defaultValue = ${resources.directory}/map/ps-style.xml
+final = true
+
+[option mapPsStyleObservationsTextSize]
+description = observe.config.map.ps.style.observations.text.size
+key = map.ps.style.observations.text.size
+type = Integer
+defaultValue = 14
+
+[option mapPsStyleObservationsTextColor]
+description = observe.config.map.ps.style.observations.text.color
+key = map.ps.style.observations.text.color
+type = color
+defaultValue = java.awt.Color[r=0,g=0,b=0]
-[option mapPsStyleObservationsColor]
-description = observe.config.map.ps.style.observations.color
-key = map.ps.style.observations.color
+[option mapPsStyleObservationsLineColor]
+description = observe.config.map.ps.style.observations.line.color
+key = map.ps.style.observations.line.color
+type = color
+defaultValue = java.awt.Color[r=255,g=0,b=0]
+
+[option mapPsStyleObservationsPointColor]
+description = observe.config.map.ps.style.observations.point.color
+key = map.ps.style.observations.point.color
type = color
defaultValue = java.awt.Color[r=0,g=255,b=0]
@@ -576,6 +631,7 @@ description = observe.config.map.ll.style.description
key = map.ll.style.path
type = file
defaultValue = ${resources.directory}/map/ll-style.xml
+final = true
[option mapLlStyleObservationsLineTripColor]
description = observe.config.map.ll.style.observations.line.trip.color
=====================================
client/configuration/src/main/i18n/getters/config.getter
=====================================
@@ -42,11 +42,17 @@ observe.config.longlineActivityPairing.maxDistance
observe.config.longlineActivityPairing.maxTime
observe.config.longlineLandingPart.defaultWeightMeasureMethod
observe.config.map.background.description
+observe.config.map.dateFormat
+observe.config.map.layer1.color
observe.config.map.layer1.description
observe.config.map.layer10.description
+observe.config.map.layer2.color
observe.config.map.layer2.description
+observe.config.map.layer3.color
observe.config.map.layer3.description
+observe.config.map.layer4.color
observe.config.map.layer4.description
+observe.config.map.layer5.color
observe.config.map.layer5.description
observe.config.map.layer6.description
observe.config.map.layer7.description
@@ -62,7 +68,10 @@ observe.config.map.ll.style.observations.line.setting.color
observe.config.map.ll.style.observations.line.trip.color
observe.config.map.ll.style.observations.point.color
observe.config.map.ps.style.description
-observe.config.map.ps.style.observations.color
+observe.config.map.ps.style.observations.line.color
+observe.config.map.ps.style.observations.point.color
+observe.config.map.ps.style.observations.text.color
+observe.config.map.ps.style.observations.text.size
observe.config.navigationIconsPath.description
observe.config.observation.activitysDetaillees
observe.config.observation.fauneAssociee
=====================================
client/configuration/src/main/java/fr/ird/observe/client/configuration/ClientConfig.java
=====================================
@@ -87,6 +87,7 @@ import java.util.Arrays;
import java.util.Calendar;
import java.util.Comparator;
import java.util.Date;
+import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Locale;
@@ -417,7 +418,7 @@ public class ClientConfig extends GeneratedClientConfig implements TripMapConfig
}
public void detectLocalDataBase() {
- boolean hasLocalStorage = new File(getLocalDBDirectory(), ClientConfig.DB_NAME).exists();
+ boolean hasLocalStorage = new File(getLocalDBDirectory(), DB_NAME).exists();
setLocalStorageExist(hasLocalStorage);
if (!hasLocalStorage) {
log.info(t("observe.init.no.local.db.detected", getLocalDBDirectory()));
@@ -618,6 +619,24 @@ public class ClientConfig extends GeneratedClientConfig implements TripMapConfig
return layers;
}
+ @Override
+ public Map<String, String> getVariables(TripMapContentBuilder builder) {
+ Map<String, String> replaceMapping = new LinkedHashMap<>();
+ for (String variableName : builder.getVariableNames()) {
+ Object variable = get(variableName);
+ if (variable == null) {
+ continue;
+ }
+ if (variable instanceof Color) {
+ variable = getColorToHex((Color) variable);
+ } else {
+ variable = String.valueOf(variable);
+ }
+ replaceMapping.put(variableName, variable.toString());
+ }
+ return replaceMapping;
+ }
+
public File newBackupDataFile() {
return new File(getBackupDirectory(), String.format(BACKUP_DB_PATTERN, getBuildVersion().toString().replaceAll("\\.", "_"), new Date()));
}
=====================================
client/core/src/main/java/fr/ird/observe/client/main/body/ClientConfigUI.java
=====================================
@@ -301,9 +301,27 @@ public class ClientConfigUI extends JXTitledPanel {
"ui");
helper.addOption(ClientConfigOption.MAP_BACKGROUND_COLOR);
- ClientConfig.MAP_LAYERS.forEach(helper::addOption);
+ helper.addOption(ClientConfigOption.MAP_LAYER1);
+ helper.addOption(ClientConfigOption.MAP_LAYER1_COLOR);
+ helper.addOption(ClientConfigOption.MAP_LAYER2);
+ helper.addOption(ClientConfigOption.MAP_LAYER2_COLOR);
+ helper.addOption(ClientConfigOption.MAP_LAYER3);
+ helper.addOption(ClientConfigOption.MAP_LAYER3_COLOR);
+ helper.addOption(ClientConfigOption.MAP_LAYER4);
+ helper.addOption(ClientConfigOption.MAP_LAYER4_COLOR);
+ helper.addOption(ClientConfigOption.MAP_LAYER5);
+ helper.addOption(ClientConfigOption.MAP_LAYER5_COLOR);
+ helper.addOption(ClientConfigOption.MAP_LAYER6);
+ helper.addOption(ClientConfigOption.MAP_LAYER7);
+ helper.addOption(ClientConfigOption.MAP_LAYER8);
+ helper.addOption(ClientConfigOption.MAP_LAYER9);
+ helper.addOption(ClientConfigOption.MAP_LAYER10);
+ helper.addOption(ClientConfigOption.MAP_DATE_FORMAT);
helper.addOption(ClientConfigOption.MAP_PS_STYLE_FILE);
- helper.addOption(ClientConfigOption.MAP_PS_STYLE_OBSERVATIONS_COLOR);
+ helper.addOption(ClientConfigOption.MAP_PS_STYLE_OBSERVATIONS_TEXT_COLOR);
+ helper.addOption(ClientConfigOption.MAP_PS_STYLE_OBSERVATIONS_TEXT_SIZE);
+ helper.addOption(ClientConfigOption.MAP_PS_STYLE_OBSERVATIONS_LINE_COLOR);
+ helper.addOption(ClientConfigOption.MAP_PS_STYLE_OBSERVATIONS_POINT_COLOR);
helper.addOption(ClientConfigOption.MAP_LL_STYLE_FILE);
helper.addOption(ClientConfigOption.MAP_LL_STYLE_OBSERVATIONS_LINE_TRIP_COLOR);
helper.addOption(ClientConfigOption.MAP_LL_STYLE_OBSERVATIONS_LINE_SETTING_COLOR);
@@ -312,8 +330,6 @@ public class ClientConfigUI extends JXTitledPanel {
helper.addOption(ClientConfigOption.MAP_LL_STYLE_LOGBOOK_LINE_TRIP_COLOR);
helper.addOption(ClientConfigOption.MAP_LL_STYLE_LOGBOOK_LINE_SETTING_COLOR);
helper.addOption(ClientConfigOption.MAP_LL_STYLE_LOGBOOK_LINE_HAULING_COLOR);
- helper.addOption(ClientConfigOption.MAP_LL_STYLE_LOGBOOK_POINT_COLOR);
-
}
private void addDataOptions(ObserveConfigUIBuilder helper, ObserveSwingDataSource dataSource) {
=====================================
client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/map/TripMapContentBuilderSupport.java
=====================================
@@ -22,7 +22,7 @@ package fr.ird.observe.client.datasource.editor.api.content.data.map;
* #L%
*/
-import fr.ird.observe.client.configuration.ClientConfig;
+import com.google.common.collect.ImmutableSet;
import fr.ird.observe.dto.I18nEnumHelper;
import fr.ird.observe.dto.data.TripMapConfig;
import fr.ird.observe.dto.data.TripMapConfigDto;
@@ -55,7 +55,10 @@ import org.geotools.styling.StyledLayerDescriptor;
import org.geotools.styling.UserLayer;
import org.locationtech.jts.geom.Coordinate;
import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.LineString;
import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+import org.opengis.feature.simple.SimpleFeature;
import org.opengis.feature.simple.SimpleFeatureType;
import org.opengis.referencing.FactoryException;
@@ -67,8 +70,9 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
import java.util.HashSet;
-import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
@@ -89,33 +93,41 @@ public abstract class TripMapContentBuilderSupport implements TripMapContentBuil
protected static final String LOGBOOK_ZONE_LAYER_NAME = "Logbook zone";
protected static final String LOGBOOK_LINES_LAYER_NAME = "Logbook lines";
protected static final String LOGBOOK_POINTS_LAYER_NAME = "Logbook points";
-
- protected static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("MM-dd");
+ protected static final Set<String> DEFAULT_VARIABLE_NAMES = ImmutableSet.of(
+ "mapLayer1Color",
+ "mapLayer2Color",
+ "mapLayer3Color",
+ "mapLayer4Color",
+ "mapLayer5Color"
+ );
private static final Logger log = LogManager.getLogger(TripMapContentBuilderSupport.class);
+ protected static SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("MM-dd");
+
protected final List<ObserveMapPaneLegendItem> legendItems;
protected final List<TripMapPoint> notValidPoints = new LinkedList<>();
protected final Set<TripMapPointType> acceptedTripPointTypes;
+ protected final SimpleFeatureBuilder lineBuilder;
+ private final boolean withLabelLine;
+ private final SimpleFeatureBuilder pointBuilder;
protected MapContent mapContent;
protected StyledLayerDescriptor styledLayerDescriptor;
-
+ private GeometryFactory geometryFactory;
public static TripMapContentBuilderSupport of(TripMapConfig config, TripMapConfigDto tripMapConfig, TripMapDto tripMapDto, List<TripMapPoint> tripMapPoints) throws Exception {
TripMapContentBuilderSupport builder = (TripMapContentBuilderSupport) config.getTripMapContentBuilders().stream().filter(t -> t.accept(tripMapDto)).findFirst().orElseThrow(IllegalStateException::new);
builder.reset();
+ String mapDateFormat = config.getMapDateFormat();
+
+ try {
+ DATE_FORMAT = new SimpleDateFormat(mapDateFormat);
+ } catch (Exception e) {
+ // bad date format
+ log.error(String.format("Bad date format: %s, will use default one: MM-dd", mapDateFormat), e);
+ }
File styleFile = builder.getStyleFile(config.getMapDirectory().toPath());
String content = Files.readString(styleFile.toPath());
- Map<String, String> replaceMapping = new LinkedHashMap<>();
- replaceMapping.put("mapPsStyleObservationsColor", ClientConfig.getColorToHex(config.getMapPsStyleObservationsColor()));
- replaceMapping.put("mapLlStyleObservationsLineTripColor", ClientConfig.getColorToHex(config.getMapLlStyleObservationsLineTripColor()));
- replaceMapping.put("mapLlStyleObservationsLineSettingColor", ClientConfig.getColorToHex(config.getMapLlStyleObservationsLineSettingColor()));
- replaceMapping.put("mapLlStyleObservationsLineHaulingColor", ClientConfig.getColorToHex(config.getMapLlStyleObservationsLineHaulingColor()));
- replaceMapping.put("mapLlStyleObservationsPointColor", ClientConfig.getColorToHex(config.getMapLlStyleObservationsPointColor()));
- replaceMapping.put("mapLlStyleLogbookLineTripColor", ClientConfig.getColorToHex(config.getMapLlStyleLogbookLineTripColor()));
- replaceMapping.put("mapLlStyleLogbookLineSettingColor", ClientConfig.getColorToHex(config.getMapLlStyleLogbookLineSettingColor()));
- replaceMapping.put("mapLlStyleLogbookLineHaulingColor", ClientConfig.getColorToHex(config.getMapLlStyleLogbookLineHaulingColor()));
- replaceMapping.put("mapLlStyleLogbookPointColor", ClientConfig.getColorToHex(config.getMapLlStyleLogbookPointColor()));
-
+ Map<String, String> replaceMapping = config.getVariables(builder);
for (Map.Entry<String, String> entry : replaceMapping.entrySet()) {
content = content.replaceAll("\\$\\{" + entry.getKey() + "}", entry.getValue());
}
@@ -127,16 +139,74 @@ public abstract class TripMapContentBuilderSupport implements TripMapContentBuil
for (File layerFile : config.getMapLayerFiles()) {
builder.addLayer(layerFile);
}
-
builder.addLines(tripMapConfig, tripMapPoints);
builder.addPoints(tripMapConfig, tripMapPoints);
-
return builder;
}
- protected TripMapContentBuilderSupport(Set<TripMapPointType> acceptedTripPointTypes) {
+ protected static SimpleFeatureBuilder createLineBuilder(boolean withLabel) {
+ SimpleFeatureTypeBuilder lineFeatureTypeBuilder = new SimpleFeatureTypeBuilder();
+ lineFeatureTypeBuilder.setName("lineBuilder");
+ try {
+ lineFeatureTypeBuilder.setCRS(CRS.decode("EPSG:4326", true));
+ } catch (FactoryException e) {
+ throw new IllegalStateException("Can't decode CRS...", e);
+ }
+ lineFeatureTypeBuilder.add("line", LineString.class);
+ if (withLabel) {
+ lineFeatureTypeBuilder.add("label", String.class);
+ }
+ lineFeatureTypeBuilder.add("type", String.class);
+ return new SimpleFeatureBuilder(lineFeatureTypeBuilder.buildFeatureType());
+
+ }
+
+ protected static SimpleFeatureBuilder createPolygoneBuilder(@SuppressWarnings("SameParameterValue") String name) {
+ SimpleFeatureTypeBuilder polygonFeatureTypeBuilder = new SimpleFeatureTypeBuilder();
+ polygonFeatureTypeBuilder.setName(name);
+ try {
+ polygonFeatureTypeBuilder.setCRS(CRS.decode("EPSG:4326", true));
+ } catch (FactoryException e) {
+ throw new IllegalStateException("Can't decode CRS...", e);
+ }
+ polygonFeatureTypeBuilder.add("zone", Polygon.class);
+ polygonFeatureTypeBuilder.add("label", String.class);
+ polygonFeatureTypeBuilder.add("type", String.class);
+ SimpleFeatureType polygonFeatureType = polygonFeatureTypeBuilder.buildFeatureType();
+ return new SimpleFeatureBuilder(polygonFeatureType);
+ }
+
+ protected static SimpleFeatureBuilder createPointBuilder() {
+
+ SimpleFeatureTypeBuilder pointFeatureTypeBuilder = new SimpleFeatureTypeBuilder();
+ pointFeatureTypeBuilder.setName("point Builder");
+ try {
+ pointFeatureTypeBuilder.setCRS(CRS.decode("EPSG:4326", true));
+ } catch (FactoryException e) {
+ throw new IllegalStateException("Can't decode CRS...", e);
+ }
+ pointFeatureTypeBuilder.add("point", Point.class);
+ pointFeatureTypeBuilder.add("label", String.class);
+ pointFeatureTypeBuilder.add("pointType", String.class);
+
+ SimpleFeatureType pointFeatureType = pointFeatureTypeBuilder.buildFeatureType();
+ return new SimpleFeatureBuilder(pointFeatureType);
+ }
+
+ protected static Coordinate[] create(TripMapPoint... points) {
+ return Arrays.stream(points).map(TripMapContentBuilderSupport::create).toArray(Coordinate[]::new);
+ }
+
+ protected static Coordinate create(TripMapPoint point) {
+ return new Coordinate(point.getLongitude(), point.getLatitude());
+ }
+
+ protected TripMapContentBuilderSupport(Set<TripMapPointType> acceptedTripPointTypes, SimpleFeatureBuilder lineBuilder) {
+ this.lineBuilder = lineBuilder;
this.legendItems = new ArrayList<>();
this.acceptedTripPointTypes = acceptedTripPointTypes;
+ this.withLabelLine = lineBuilder.getFeatureType().getAttributeCount() == 3;
+ this.pointBuilder = createPointBuilder();
}
@Override
@@ -174,28 +244,22 @@ public abstract class TripMapContentBuilderSupport implements TripMapContentBuil
FileDataStore store = FileDataStoreFinder.getDataStore(layerFile);
SimpleFeatureSource featureSource = store.getFeatureSource();
Style style = SLD.createSimpleStyle(featureSource.getSchema());
- style = findStyle(styledLayerDescriptor, store.getNames().get(0).getLocalPart(), null, style);
+ style = findStyle(styledLayerDescriptor, store.getNames().get(0).getLocalPart(), style);
Layer layer = new FeatureLayer(featureSource, style, layerFile.getName());
mapContent.addLayer(layer);
}
- public void addPoints(List<TripMapPoint> tripMapPoints, String layerName, String notValidPointsLabel) throws FactoryException {
-
- GeometryFactory geometryFactory = JTSFactoryFinder.getGeometryFactory();
-
- SimpleFeatureTypeBuilder pointFeatureTypeBuilder = new SimpleFeatureTypeBuilder();
- pointFeatureTypeBuilder.setName("point Builder");
- pointFeatureTypeBuilder.setCRS(CRS.decode("EPSG:4326", true));
- pointFeatureTypeBuilder.add("point", Point.class);
- pointFeatureTypeBuilder.add("label", String.class);
- pointFeatureTypeBuilder.add("pointType", String.class);
-
- SimpleFeatureType pointFeatureType = pointFeatureTypeBuilder.buildFeatureType();
- SimpleFeatureBuilder pointBuilder = new SimpleFeatureBuilder(pointFeatureType);
+ protected void addPoint(DefaultFeatureCollection pointsFeatures, TripMapPoint tripMapPoint) {
+ Point point = geometryFactory.createPoint(create(tripMapPoint));
+ pointBuilder.add(point);
+ pointBuilder.add(formatDate(tripMapPoint.getTime()));
+ pointBuilder.add(tripMapPoint.getType().name());
+ pointsFeatures.add(pointBuilder.buildFeature(null));
+ }
+ public void addPoints(List<TripMapPoint> tripMapPoints, String layerName, String notValidPointsLabel) {
DefaultFeatureCollection pointsFeatures = new DefaultFeatureCollection();
-
- Style stylePoints = findStyle(styledLayerDescriptor, layerName, null);
+ Style stylePoints = findStyle(styledLayerDescriptor, layerName);
Set<TripMapPointType> pointTypeInLegend = new HashSet<>();
for (TripMapPoint tripMapPoint : tripMapPoints) {
@@ -203,27 +267,11 @@ public abstract class TripMapContentBuilderSupport implements TripMapContentBuil
notValidPoints.add(tripMapPoint);
continue;
}
- Coordinate coordinate = new Coordinate(tripMapPoint.getLongitude(), tripMapPoint.getLatitude());
+ addPoint(pointsFeatures, tripMapPoint);
+ // register point type in legend
TripMapPointType type = tripMapPoint.getType();
-
- Point point = geometryFactory.createPoint(coordinate);
- pointBuilder.add(point);
- pointBuilder.add(DATE_FORMAT.format(tripMapPoint.getTime()));
- pointBuilder.add(type.name());
- pointsFeatures.add(pointBuilder.buildFeature(null));
-
- // add point in legend
- if (acceptedTripPointTypes.contains(type) && !pointTypeInLegend.contains(type)) {
- point = geometryFactory.createPoint(ObserveMapPaneLegendItem.pointCoordinates());
- pointBuilder.add(point);
- pointBuilder.add("");
- pointBuilder.add(type.name());
- ObserveMapPaneLegendItem legendPoint = new ObserveMapPaneLegendItem(
- pointBuilder.buildFeature(null),
- stylePoints,
- I18nEnumHelper.getLabel(type));
- legendItems.add(legendPoint);
+ if (acceptedTripPointTypes.contains(type)) {
pointTypeInLegend.add(type);
}
}
@@ -231,21 +279,23 @@ public abstract class TripMapContentBuilderSupport implements TripMapContentBuil
Layer pointsLayer = new FeatureLayer(pointsFeatures, stylePoints, layerName);
mapContent.addLayer(pointsLayer);
}
+
+ for (TripMapPointType type : pointTypeInLegend) {
+ addPointLegend(stylePoints, type.name(), I18nEnumHelper.getLabel(type));
+ }
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);
+ addPointLegend(stylePoints, "notValidPoint", t(notValidPointsLabel, notValidPoints.size()));
}
}
+ protected GeometryFactory getGeometryFactory() {
+ if (geometryFactory == null) {
+ geometryFactory = JTSFactoryFinder.getGeometryFactory();
+ }
+ return geometryFactory;
+ }
- protected Style findStyle(StyledLayerDescriptor styledLayerDescriptor, final String layerName, String styleName, Style defaultStyle) {
+ protected Style findStyle(StyledLayerDescriptor styledLayerDescriptor, final String layerName, Style defaultStyle) {
Optional<StyledLayer> styledLayerOptional = styledLayerDescriptor.layers().stream().filter(input -> input.getName().equals(layerName)).findFirst();
Style style = defaultStyle;
if (styledLayerOptional.isPresent()) {
@@ -260,8 +310,11 @@ public abstract class TripMapContentBuilderSupport implements TripMapContentBuil
style = styles[0];
} else {
for (Style styleTmp : styles) {
- if (StringUtils.isBlank(styleName) && styleTmp.isDefault() || styleTmp.getName().equals(styleName)) {
+ StringUtils.isBlank(null);
+ if (styleTmp.isDefault()) {
style = styleTmp;
+ } else {
+ styleTmp.getName();
}
}
}
@@ -269,12 +322,47 @@ public abstract class TripMapContentBuilderSupport implements TripMapContentBuil
return style;
}
- protected Style findStyle(StyledLayerDescriptor styledLayerDescriptor, final String layerName, String styleName) {
- Style style = findStyle(styledLayerDescriptor, layerName, styleName, null);
+ protected Style findStyle(StyledLayerDescriptor styledLayerDescriptor, final String layerName) {
+ Style style = findStyle(styledLayerDescriptor, layerName, null);
if (style == null) {
- throw new RuntimeException(String.format("No style found for layer name '%s' and style name '%s'", layerName, styleName));
+ throw new RuntimeException(String.format("No style found for layer name '%s' and style name '%s'", layerName, null));
}
return style;
}
+ protected String formatDate(Date date) {
+ return DATE_FORMAT.format(date);
+ }
+
+ protected void addLine(DefaultFeatureCollection linesFeatures, String lineName, Coordinate[] coordinates, Date date) {
+ LineString line = getGeometryFactory().createLineString(coordinates);
+ lineBuilder.add(line);
+ if (date != null) {
+ lineBuilder.add(formatDate(date));
+ }
+ lineBuilder.add(lineName);
+ linesFeatures.add(lineBuilder.buildFeature(null));
+ }
+
+ protected void addLineLegend(Style styleLines, String legendName, String legendLabel) {
+ LineString line = getGeometryFactory().createLineString(ObserveMapPaneLegendItem.lineCoordinates());
+ lineBuilder.add(line);
+ if (withLabelLine) {
+ lineBuilder.add("");
+ }
+ lineBuilder.add(legendName);
+ SimpleFeature simpleFeature = lineBuilder.buildFeature(null);
+ ObserveMapPaneLegendItem legendTripDay = new ObserveMapPaneLegendItem(simpleFeature, styleLines, legendLabel);
+ legendItems.add(legendTripDay);
+ }
+
+ protected void addPointLegend(Style stylePoints, String legendName, String legendLabel) {
+ Point point = getGeometryFactory().createPoint(ObserveMapPaneLegendItem.pointCoordinates());
+ pointBuilder.add(point);
+ pointBuilder.add("");
+ pointBuilder.add(legendName);
+ SimpleFeature simpleFeature = pointBuilder.buildFeature(null);
+ ObserveMapPaneLegendItem legendPoint = new ObserveMapPaneLegendItem(simpleFeature, stylePoints, legendLabel);
+ legendItems.add(legendPoint);
+ }
}
=====================================
client/datasource/editor/ll/pom.xml
=====================================
@@ -18,7 +18,8 @@
<http://www.gnu.org/licenses/gpl-3.0.html>.
#L%
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
@@ -231,10 +232,6 @@
<groupId>org.geotools</groupId>
<artifactId>gt-render</artifactId>
</dependency>
- <dependency>
- <groupId>org.geotools</groupId>
- <artifactId>gt-referencing</artifactId>
- </dependency>
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-opengis</artifactId>
=====================================
client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/common/TripMapContentBuilder.java
=====================================
@@ -24,7 +24,6 @@ package fr.ird.observe.client.datasource.editor.ll.data.common;
import com.google.auto.service.AutoService;
import com.google.common.collect.ImmutableSet;
-import fr.ird.observe.client.datasource.editor.api.content.data.map.ObserveMapPaneLegendItem;
import fr.ird.observe.client.datasource.editor.api.content.data.map.TripMapContentBuilderSupport;
import fr.ird.observe.dto.data.TripAware;
import fr.ird.observe.dto.data.TripMapConfigDto;
@@ -33,21 +32,16 @@ import fr.ird.observe.dto.data.TripMapPoint;
import fr.ird.observe.dto.data.TripMapPointType;
import org.geotools.feature.DefaultFeatureCollection;
import org.geotools.feature.simple.SimpleFeatureBuilder;
-import org.geotools.feature.simple.SimpleFeatureTypeBuilder;
-import org.geotools.geometry.jts.JTSFactoryFinder;
import org.geotools.map.FeatureLayer;
import org.geotools.map.Layer;
-import org.geotools.referencing.CRS;
import org.geotools.styling.Style;
import org.locationtech.jts.geom.Coordinate;
-import org.locationtech.jts.geom.GeometryFactory;
-import org.locationtech.jts.geom.LineString;
import org.locationtech.jts.geom.Polygon;
import org.opengis.feature.simple.SimpleFeature;
-import org.opengis.feature.simple.SimpleFeatureType;
import java.util.LinkedList;
import java.util.List;
+import java.util.Set;
import java.util.stream.Collectors;
import static io.ultreia.java4all.i18n.I18n.n;
@@ -62,6 +56,8 @@ import static io.ultreia.java4all.i18n.I18n.t;
@AutoService(fr.ird.observe.dto.data.TripMapContentBuilder.class)
public class TripMapContentBuilder extends TripMapContentBuilderSupport {
+ private final SimpleFeatureBuilder polygonBuilder;
+
public TripMapContentBuilder() {
super(ImmutableSet.of(
TripMapPointType.llActivityObs,
@@ -76,7 +72,22 @@ public class TripMapContentBuilder extends TripMapContentBuilderSupport {
TripMapPointType.llActivityLogbookWithSettingEnd,
TripMapPointType.llActivityLogbookWithHaulingStart,
TripMapPointType.llActivityLogbookWithHaulingEnd
- ));
+ ), createLineBuilder(false));
+ polygonBuilder = createPolygoneBuilder("longlineFishingZoneBuilder");
+ }
+
+ @Override
+ public Set<String> getVariableNames() {
+ return ImmutableSet.<String>builder().addAll(DEFAULT_VARIABLE_NAMES)
+ .add("mapLlStyleObservationsLineTripColor")
+ .add("mapLlStyleObservationsLineSettingColor")
+ .add("mapLlStyleObservationsLineHaulingColor")
+ .add("mapLlStyleObservationsPointColor")
+ .add("mapLlStyleLogbookLineTripColor")
+ .add("mapLlStyleLogbookLineSettingColor")
+ .add("mapLlStyleLogbookLineHaulingColor")
+ .add("mapLlStyleLogbookPointColor")
+ .build();
}
@Override
@@ -90,7 +101,7 @@ public class TripMapContentBuilder extends TripMapContentBuilderSupport {
}
@Override
- public void addLines(TripMapConfigDto tripMapConfig, List<TripMapPoint> tripMapPoints) throws Exception {
+ public void addLines(TripMapConfigDto tripMapConfig, List<TripMapPoint> tripMapPoints) {
if (tripMapConfig.isAddObservations()) {
addObservationFishingZone(tripMapPoints);
addObservationLine(tripMapPoints);
@@ -102,7 +113,7 @@ public class TripMapContentBuilder extends TripMapContentBuilderSupport {
}
@Override
- public void addPoints(TripMapConfigDto tripMapConfig, List<TripMapPoint> tripMapPoints) throws Exception {
+ public void addPoints(TripMapConfigDto tripMapConfig, List<TripMapPoint> tripMapPoints) {
if (tripMapConfig.isAddObservations()) {
addPoints(tripMapPoints.stream().filter(f -> f.getType().isTrip() || f.getType().isObs()).collect(Collectors.toList()), OBSERVATION_POINTS_LAYER_NAME, n("observe.ui.datasource.editor.content.map.observation.points.not.valid"));
}
@@ -111,21 +122,8 @@ public class TripMapContentBuilder extends TripMapContentBuilderSupport {
}
}
- private void addObservationFishingZone(List<TripMapPoint> tripMapPoints) throws Exception {
- GeometryFactory geometryFactory = JTSFactoryFinder.getGeometryFactory();
-
- SimpleFeatureTypeBuilder polygonFeatureTypeBuilder = new SimpleFeatureTypeBuilder();
- polygonFeatureTypeBuilder.setName("longlineFishingZoneBuilder");
- polygonFeatureTypeBuilder.setCRS(CRS.decode("EPSG:4326", true));
- polygonFeatureTypeBuilder.add("zone", Polygon.class);
- polygonFeatureTypeBuilder.add("label", String.class);
- polygonFeatureTypeBuilder.add("type", String.class);
-
- SimpleFeatureType polygonFeatureType = polygonFeatureTypeBuilder.buildFeatureType();
- SimpleFeatureBuilder polygonBuilder = new SimpleFeatureBuilder(polygonFeatureType);
-
+ private void addObservationFishingZone(List<TripMapPoint> tripMapPoints) {
DefaultFeatureCollection polygonsFeatures = new DefaultFeatureCollection();
-
for (int indexPoint = 3; indexPoint < tripMapPoints.size(); indexPoint++) {
TripMapPoint tripMapPoint = tripMapPoints.get(indexPoint);
TripMapPoint tripMapPoint1 = tripMapPoints.get(indexPoint - 1);
@@ -138,48 +136,18 @@ public class TripMapContentBuilder extends TripMapContentBuilderSupport {
&& tripMapPoint1.getType().equals(TripMapPointType.llActivityObsWithHaulingStart)
&& tripMapPoint2.getType().equals(TripMapPointType.llActivityObsWithSettingEnd)
&& tripMapPoint3.getType().equals(TripMapPointType.llActivityObsWithSettingStart)) {
-
- Coordinate[] coordinates = {
- 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(tripMapPoint3.getTime()));
- polygonBuilder.add("longlineFishingZone");
- SimpleFeature feature = polygonBuilder.buildFeature(null);
- polygonsFeatures.add(feature);
-
+ createZone(polygonsFeatures, tripMapPoint, tripMapPoint1, tripMapPoint2, tripMapPoint3);
}
}
-
if (!polygonsFeatures.isEmpty()) {
- Style styleLines = findStyle(styledLayerDescriptor, OBSERVATION_ZONE_LAYER_NAME, null);
+ Style styleLines = findStyle(styledLayerDescriptor, OBSERVATION_ZONE_LAYER_NAME);
Layer layerLines = new FeatureLayer(polygonsFeatures, styleLines, OBSERVATION_ZONE_LAYER_NAME);
mapContent.addLayer(layerLines);
}
}
- private void addLogbookFishingZone(List<TripMapPoint> tripMapPoints) throws Exception {
- GeometryFactory geometryFactory = JTSFactoryFinder.getGeometryFactory();
-
- SimpleFeatureTypeBuilder polygonFeatureTypeBuilder = new SimpleFeatureTypeBuilder();
- polygonFeatureTypeBuilder.setName("longlineFishingZoneBuilder");
- polygonFeatureTypeBuilder.setCRS(CRS.decode("EPSG:4326", true));
- polygonFeatureTypeBuilder.add("zone", Polygon.class);
- polygonFeatureTypeBuilder.add("label", String.class);
- polygonFeatureTypeBuilder.add("type", String.class);
-
- SimpleFeatureType polygonFeatureType = polygonFeatureTypeBuilder.buildFeatureType();
- SimpleFeatureBuilder polygonBuilder = new SimpleFeatureBuilder(polygonFeatureType);
-
+ private void addLogbookFishingZone(List<TripMapPoint> tripMapPoints) {
DefaultFeatureCollection polygonsFeatures = new DefaultFeatureCollection();
-
for (int indexPoint = 3; indexPoint < tripMapPoints.size(); indexPoint++) {
TripMapPoint tripMapPoint = tripMapPoints.get(indexPoint);
TripMapPoint tripMapPoint1 = tripMapPoints.get(indexPoint - 1);
@@ -192,149 +160,58 @@ public class TripMapContentBuilder extends TripMapContentBuilderSupport {
&& tripMapPoint1.getType().equals(TripMapPointType.llActivityLogbookWithHaulingStart)
&& tripMapPoint2.getType().equals(TripMapPointType.llActivityLogbookWithSettingEnd)
&& tripMapPoint3.getType().equals(TripMapPointType.llActivityLogbookWithSettingStart)) {
-
- Coordinate[] coordinates = {
- 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(tripMapPoint3.getTime()));
- polygonBuilder.add("longlineFishingZone");
- SimpleFeature feature = polygonBuilder.buildFeature(null);
- polygonsFeatures.add(feature);
-
+ createZone(polygonsFeatures, tripMapPoint, tripMapPoint1, tripMapPoint2, tripMapPoint3);
}
}
-
if (!polygonsFeatures.isEmpty()) {
- Style styleLines = findStyle(styledLayerDescriptor, LOGBOOK_ZONE_LAYER_NAME, null);
+ Style styleLines = findStyle(styledLayerDescriptor, LOGBOOK_ZONE_LAYER_NAME);
Layer layerLines = new FeatureLayer(polygonsFeatures, styleLines, LOGBOOK_ZONE_LAYER_NAME);
mapContent.addLayer(layerLines);
}
}
- private void addObservationLine(List<TripMapPoint> tripMapPoints) throws Exception {
- GeometryFactory geometryFactory = JTSFactoryFinder.getGeometryFactory();
-
- SimpleFeatureTypeBuilder lineFeatureTypeBuilder = new SimpleFeatureTypeBuilder();
- lineFeatureTypeBuilder.setName("longlineSettingBuilder");
- lineFeatureTypeBuilder.setCRS(CRS.decode("EPSG:4326", true));
- lineFeatureTypeBuilder.add("line", LineString.class);
- lineFeatureTypeBuilder.add("type", String.class);
-
- SimpleFeatureType lineFeatureType = lineFeatureTypeBuilder.buildFeatureType();
- SimpleFeatureBuilder lineBuilder = new SimpleFeatureBuilder(lineFeatureType);
-
+ private void addObservationLine(List<TripMapPoint> tripMapPoints) {
DefaultFeatureCollection linesFeatures = new DefaultFeatureCollection();
-
List<Coordinate> defaultLineCoordinates = new LinkedList<>();
boolean found = false;
for (int indexPoint = 0; indexPoint < tripMapPoints.size(); indexPoint++) {
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)) {
-
+ 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()),
- };
-
+ Coordinate[] coordinates = create(previousTripMapPoint, tripMapPoint);
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);
-
+ addLine(linesFeatures, setting ? "setting" : "hauling", coordinates, null);
defaultLineCoordinates.clear();
}
}
}
-
- if (tripMapPoint.isValid() && !(pointType.equals(TripMapPointType.llActivityObsWithSettingEnd)
- || pointType.equals(TripMapPointType.llActivityObsWithHaulingStart))) {
-
- defaultLineCoordinates.add(new Coordinate(tripMapPoint.getLongitude(), tripMapPoint.getLatitude()));
-
+ if (tripMapPoint.isValid() && !(pointType.equals(TripMapPointType.llActivityObsWithSettingEnd) || pointType.equals(TripMapPointType.llActivityObsWithHaulingStart))) {
+ defaultLineCoordinates.add(create(tripMapPoint));
}
-
- if ((pointType.equals(TripMapPointType.llActivityObsWithSettingStart)
- || indexPoint == tripMapPoints.size() - 1) && defaultLineCoordinates.size() > 1) {
-
- LineString lineString = geometryFactory.createLineString(defaultLineCoordinates.toArray(new Coordinate[0]));
- lineBuilder.add(lineString);
- lineBuilder.add("trip");
- SimpleFeature feature = lineBuilder.buildFeature(null);
- linesFeatures.add(feature);
-
+ if ((pointType.equals(TripMapPointType.llActivityObsWithSettingStart) || indexPoint == tripMapPoints.size() - 1) && defaultLineCoordinates.size() > 1) {
+ addLine(linesFeatures, "trip", defaultLineCoordinates.toArray(new Coordinate[0]), null);
defaultLineCoordinates.clear();
-
}
-
-
}
-
- Style styleLines = findStyle(styledLayerDescriptor, OBSERVATION_LINES_LAYER_NAME, null);
+ Style styleLines = findStyle(styledLayerDescriptor, OBSERVATION_LINES_LAYER_NAME);
if (!linesFeatures.isEmpty()) {
Layer layerLines = new FeatureLayer(linesFeatures, styleLines, OBSERVATION_LINES_LAYER_NAME);
mapContent.addLayer(layerLines);
}
-
if (found) {
- // add line in legend
- LineString line = geometryFactory.createLineString(ObserveMapPaneLegendItem.lineCoordinates());
- lineBuilder.add(line);
- lineBuilder.add("setting");
-
- ObserveMapPaneLegendItem legendTripDay = new ObserveMapPaneLegendItem(
- lineBuilder.buildFeature(null),
- styleLines,
- t("observe.ui.datasource.editor.content.map.legend.obs.setting"));
- legendItems.add(legendTripDay);
-
- line = geometryFactory.createLineString(ObserveMapPaneLegendItem.lineCoordinates());
- lineBuilder.add(line);
- lineBuilder.add("hauling");
-
- legendTripDay = new ObserveMapPaneLegendItem(
- lineBuilder.buildFeature(null),
- styleLines,
- t("observe.ui.datasource.editor.content.map.legend.obs.hauling"));
- legendItems.add(legendTripDay);
+ addLineLegend(styleLines, "setting", t("observe.ui.datasource.editor.content.map.legend.obs.setting"));
+ addLineLegend(styleLines, "hauling", t("observe.ui.datasource.editor.content.map.legend.obs.hauling"));
}
-
}
- private void addLogbookLine(List<TripMapPoint> tripMapPoints) throws Exception {
- GeometryFactory geometryFactory = JTSFactoryFinder.getGeometryFactory();
-
- SimpleFeatureTypeBuilder lineFeatureTypeBuilder = new SimpleFeatureTypeBuilder();
- lineFeatureTypeBuilder.setName("longlineSettingBuilder");
- lineFeatureTypeBuilder.setCRS(CRS.decode("EPSG:4326", true));
- lineFeatureTypeBuilder.add("line", LineString.class);
- lineFeatureTypeBuilder.add("type", String.class);
-
- SimpleFeatureType lineFeatureType = lineFeatureTypeBuilder.buildFeatureType();
- SimpleFeatureBuilder lineBuilder = new SimpleFeatureBuilder(lineFeatureType);
-
+ private void addLogbookLine(List<TripMapPoint> tripMapPoints) {
DefaultFeatureCollection linesFeatures = new DefaultFeatureCollection();
-
List<Coordinate> defaultLineCoordinates = new LinkedList<>();
boolean found = false;
for (int indexPoint = 0; indexPoint < tripMapPoints.size(); indexPoint++) {
@@ -349,72 +226,43 @@ public class TripMapContentBuilder extends TripMapContentBuilderSupport {
|| tripMapPointType.equals(TripMapPointType.llActivityLogbookWithHaulingEnd)
&& previousTripMapPointType.equals(TripMapPointType.llActivityLogbookWithHaulingStart)) {
found = true;
- Coordinate[] coordinates = {
- new Coordinate(previousTripMapPoint.getLongitude(), previousTripMapPoint.getLatitude()),
- new Coordinate(tripMapPoint.getLongitude(), tripMapPoint.getLatitude()),
- };
-
+ Coordinate[] coordinates = create(previousTripMapPoint, tripMapPoint);
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);
-
+ addLine(linesFeatures, setting ? "setting" : "hauling", coordinates, null);
defaultLineCoordinates.clear();
}
}
}
- if (tripMapPoint.isValid() &&
- !(tripMapPointType.equals(TripMapPointType.llActivityLogbookWithSettingEnd) || tripMapPointType.equals(TripMapPointType.llActivityLogbookWithHaulingStart))) {
- defaultLineCoordinates.add(new Coordinate(tripMapPoint.getLongitude(), tripMapPoint.getLatitude()));
-
+ if (tripMapPoint.isValid() && !(tripMapPointType.equals(TripMapPointType.llActivityLogbookWithSettingEnd) || tripMapPointType.equals(TripMapPointType.llActivityLogbookWithHaulingStart))) {
+ defaultLineCoordinates.add(create(tripMapPoint));
}
-
- if ((tripMapPointType.equals(TripMapPointType.llActivityLogbookWithSettingStart)
- || indexPoint == tripMapPoints.size() - 1) && defaultLineCoordinates.size() > 1) {
-
- LineString lineString = geometryFactory.createLineString(defaultLineCoordinates.toArray(new Coordinate[0]));
- lineBuilder.add(lineString);
- lineBuilder.add("trip");
- SimpleFeature feature = lineBuilder.buildFeature(null);
- linesFeatures.add(feature);
-
+ if ((tripMapPointType.equals(TripMapPointType.llActivityLogbookWithSettingStart) || indexPoint == tripMapPoints.size() - 1) && defaultLineCoordinates.size() > 1) {
+ addLine(linesFeatures, "trip", defaultLineCoordinates.toArray(new Coordinate[0]), null);
defaultLineCoordinates.clear();
-
}
-
-
+ }
+ Style styleLines = findStyle(styledLayerDescriptor, LOGBOOK_LINES_LAYER_NAME);
+ if (!linesFeatures.isEmpty()) {
+ Layer layerLines = new FeatureLayer(linesFeatures, styleLines, LOGBOOK_LINES_LAYER_NAME);
+ mapContent.addLayer(layerLines);
}
if (found) {
- Style styleLines = findStyle(styledLayerDescriptor, LOGBOOK_LINES_LAYER_NAME, null);
- if (!linesFeatures.isEmpty()) {
- Layer layerLines = new FeatureLayer(linesFeatures, styleLines, LOGBOOK_LINES_LAYER_NAME);
- mapContent.addLayer(layerLines);
- }
-
- // add line in legend
- LineString line = geometryFactory.createLineString(ObserveMapPaneLegendItem.lineCoordinates());
- lineBuilder.add(line);
- lineBuilder.add("setting");
-
- ObserveMapPaneLegendItem legendTripDay = new ObserveMapPaneLegendItem(
- lineBuilder.buildFeature(null),
- styleLines,
- t("observe.ui.datasource.editor.content.map.legend.logbook.setting"));
- legendItems.add(legendTripDay);
-
- line = geometryFactory.createLineString(ObserveMapPaneLegendItem.lineCoordinates());
- lineBuilder.add(line);
- lineBuilder.add("hauling");
-
- legendTripDay = new ObserveMapPaneLegendItem(
- lineBuilder.buildFeature(null),
- styleLines,
- t("observe.ui.datasource.editor.content.map.legend.logbook.hauling"));
- legendItems.add(legendTripDay);
+ addLineLegend(styleLines, "setting", t("observe.ui.datasource.editor.content.map.legend.logbook.setting"));
+ addLineLegend(styleLines, "hauling", t("observe.ui.datasource.editor.content.map.legend.logbook.hauling"));
}
}
-
+ protected void createZone(DefaultFeatureCollection polygonsFeatures,
+ TripMapPoint tripMapPoint,
+ TripMapPoint tripMapPoint1,
+ TripMapPoint tripMapPoint2,
+ TripMapPoint tripMapPoint3) {
+ Coordinate[] coordinates = create(tripMapPoint3, tripMapPoint2, tripMapPoint1, tripMapPoint, tripMapPoint3);
+ Polygon polygon = getGeometryFactory().createPolygon(coordinates);
+ polygonBuilder.add(polygon);
+ polygonBuilder.add(formatDate(tripMapPoint3.getTime()));
+ polygonBuilder.add("longlineFishingZone");
+ SimpleFeature feature = polygonBuilder.buildFeature(null);
+ polygonsFeatures.add(feature);
+ }
}
=====================================
client/datasource/editor/ll/src/main/resources/map/ll-style.xml
=====================================
@@ -654,13 +654,13 @@
</NamedLayer>
<NamedLayer>
- <Name>World_EEZ_v8_2014</Name>
+ <Name>GSHHS_l_L1</Name>
<UserStyle>
<FeatureTypeStyle>
<Rule>
<PolygonSymbolizer>
<Fill>
- <CssParameter name="fill">#82F4F9</CssParameter>
+ <CssParameter name="fill">${mapLayer1Color}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
@@ -673,13 +673,13 @@
</NamedLayer>
<NamedLayer>
- <Name>GSHHS_l_L1</Name>
+ <Name>GSHHS_l_L6</Name>
<UserStyle>
<FeatureTypeStyle>
<Rule>
<PolygonSymbolizer>
<Fill>
- <CssParameter name="fill">#FBE9D7</CssParameter>
+ <CssParameter name="fill">${mapLayer2Color}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
@@ -692,13 +692,32 @@
</NamedLayer>
<NamedLayer>
- <Name>GSHHS_l_L6</Name>
+ <Name>GSHHS_l_L2</Name>
+ <UserStyle>
+ <FeatureTypeStyle>
+ <Rule>
+ <PolygonSymbolizer>
+ <Fill>
+ <CssParameter name="fill">${mapLayer3Color}</CssParameter>
+ </Fill>
+ <Stroke>
+ <!-- <CssParameter name="stroke">#7FB7FF</CssParameter>-->
+ <CssParameter name="stroke">${mapLayer3Color}</CssParameter>
+ <CssParameter name="stroke-width">1</CssParameter>
+ </Stroke>
+ </PolygonSymbolizer>
+ </Rule>
+ </FeatureTypeStyle>
+ </UserStyle>
+ </NamedLayer>
+ <NamedLayer>
+ <Name>WDBII_border_l_L1</Name>
<UserStyle>
<FeatureTypeStyle>
<Rule>
<PolygonSymbolizer>
<Fill>
- <CssParameter name="fill">#F5F5FF</CssParameter>
+ <CssParameter name="fill">${mapLayer4Color}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
@@ -711,16 +730,16 @@
</NamedLayer>
<NamedLayer>
- <Name>GSHHS_l_L2</Name>
+ <Name>eez_v11_lowres</Name>
<UserStyle>
<FeatureTypeStyle>
<Rule>
<PolygonSymbolizer>
<Fill>
- <CssParameter name="fill">#7FB7FF</CssParameter>
+ <CssParameter name="fill">${mapLayer5Color}</CssParameter>
</Fill>
<Stroke>
- <CssParameter name="stroke">#7FB7FF</CssParameter>
+ <CssParameter name="stroke">#000000</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
</Stroke>
</PolygonSymbolizer>
=====================================
client/datasource/editor/ps/pom.xml
=====================================
@@ -18,7 +18,8 @@
<http://www.gnu.org/licenses/gpl-3.0.html>.
#L%
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
@@ -231,14 +232,6 @@
<groupId>org.geotools</groupId>
<artifactId>gt-render</artifactId>
</dependency>
- <dependency>
- <groupId>org.geotools</groupId>
- <artifactId>gt-referencing</artifactId>
- </dependency>
- <dependency>
- <groupId>org.geotools</groupId>
- <artifactId>gt-opengis</artifactId>
- </dependency>
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-shapefile</artifactId>
=====================================
client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/common/TripMapContentBuilder.java
=====================================
@@ -24,7 +24,6 @@ package fr.ird.observe.client.datasource.editor.ps.data.common;
import com.google.auto.service.AutoService;
import com.google.common.collect.ImmutableSet;
-import fr.ird.observe.client.datasource.editor.api.content.data.map.ObserveMapPaneLegendItem;
import fr.ird.observe.dto.data.TripAware;
import fr.ird.observe.dto.data.TripMapConfigDto;
import fr.ird.observe.dto.data.TripMapDto;
@@ -32,23 +31,14 @@ import fr.ird.observe.dto.data.TripMapPoint;
import fr.ird.observe.dto.data.TripMapPointType;
import org.apache.commons.lang3.time.DateUtils;
import org.geotools.feature.DefaultFeatureCollection;
-import org.geotools.feature.simple.SimpleFeatureBuilder;
-import org.geotools.feature.simple.SimpleFeatureTypeBuilder;
-import org.geotools.geometry.jts.JTSFactoryFinder;
import org.geotools.map.FeatureLayer;
import org.geotools.map.Layer;
-import org.geotools.referencing.CRS;
import org.geotools.styling.Style;
import org.locationtech.jts.geom.Coordinate;
-import org.locationtech.jts.geom.GeometryFactory;
-import org.locationtech.jts.geom.LineString;
-import org.opengis.feature.simple.SimpleFeature;
-import org.opengis.feature.simple.SimpleFeatureType;
-import org.opengis.referencing.FactoryException;
-import java.text.DateFormat;
import java.util.LinkedList;
import java.util.List;
+import java.util.Set;
import static io.ultreia.java4all.i18n.I18n.n;
import static io.ultreia.java4all.i18n.I18n.t;
@@ -68,17 +58,17 @@ public class TripMapContentBuilder extends fr.ird.observe.client.datasource.edit
TripMapPointType.psActivityObsInHarbour,
TripMapPointType.psActivityObsWithFreeSchoolType,
TripMapPointType.psActivityObsWithObjectSchoolType
- ));
+ ), createLineBuilder(true));
}
@Override
- public boolean accept(TripMapDto tripMapDto) {
- return TripAware.isSeineId(tripMapDto.getTripId());
- }
-
- @Override
- public void addPoints(TripMapConfigDto tripMapConfig, List<TripMapPoint> tripMapPoints) throws FactoryException {
- addPoints(tripMapPoints, OBSERVATION_POINTS_LAYER_NAME, n("observe.ui.datasource.editor.content.map.observation.points.not.valid"));
+ public Set<String> getVariableNames() {
+ return ImmutableSet.<String>builder().addAll(DEFAULT_VARIABLE_NAMES)
+ .add("mapPsStyleObservationsTextColor")
+ .add("mapPsStyleObservationsTextSize")
+ .add("mapPsStyleObservationsLineColor")
+ .add("mapPsStyleObservationsPointColor")
+ .build();
}
@Override
@@ -87,97 +77,53 @@ public class TripMapContentBuilder extends fr.ird.observe.client.datasource.edit
}
@Override
- public void addLines(TripMapConfigDto tripMapConfig, List<TripMapPoint> tripMapPoints) throws FactoryException {
-
- GeometryFactory geometryFactory = JTSFactoryFinder.getGeometryFactory();
-
- SimpleFeatureTypeBuilder lineFeatureTypeBuilder = new SimpleFeatureTypeBuilder();
- lineFeatureTypeBuilder.setName("lineBuilder");
- lineFeatureTypeBuilder.setCRS(CRS.decode("EPSG:4326", true));
- lineFeatureTypeBuilder.add("line", LineString.class);
- lineFeatureTypeBuilder.add("label", String.class);
- lineFeatureTypeBuilder.add("type", String.class);
+ public boolean accept(TripMapDto tripMapDto) {
+ return TripAware.isSeineId(tripMapDto.getTripId());
+ }
- SimpleFeatureType lineFeatureType = lineFeatureTypeBuilder.buildFeatureType();
- SimpleFeatureBuilder lineBuilder = new SimpleFeatureBuilder(lineFeatureType);
+ @Override
+ public void addPoints(TripMapConfigDto tripMapConfig, List<TripMapPoint> tripMapPoints) {
+ addPoints(tripMapPoints, OBSERVATION_POINTS_LAYER_NAME, n("observe.ui.datasource.editor.content.map.observation.points.not.valid"));
+ }
+ @Override
+ public void addLines(TripMapConfigDto tripMapConfig, List<TripMapPoint> tripMapPoints) {
DefaultFeatureCollection linesFeatures = new DefaultFeatureCollection();
-
- List<Coordinate> coordinatesByDay = null;
-
+ List<Coordinate> coordinatesByDay = new LinkedList<>();
TripMapPoint previousPoint = null;
-
for (TripMapPoint point : tripMapPoints) {
- if (previousPoint == null) {
- coordinatesByDay = new LinkedList<>();
- } else if (!DateUtils.isSameDay(previousPoint.getTime(), point.getTime())) {
-
- if (coordinatesByDay.size() > 1) {
- LineString line = geometryFactory.createLineString(coordinatesByDay.toArray(new Coordinate[0]));
- lineBuilder.add(line);
- lineBuilder.add(DATE_FORMAT.format(previousPoint.getTime()));
- lineBuilder.add("tripDay");
- SimpleFeature feature = lineBuilder.buildFeature(null);
-
- linesFeatures.add(feature);
- }
-
- Coordinate[] coordinates = {
- new Coordinate(previousPoint.getLongitude(), previousPoint.getLatitude()),
- new Coordinate(point.getLongitude(), point.getLatitude()),
- };
- LineString lineBetweenTwoDays = geometryFactory.createLineString(coordinates);
- lineBuilder.add(lineBetweenTwoDays);
- lineBuilder.add(DateFormat.getDateInstance().format(previousPoint.getTime()));
- lineBuilder.add("tripBetweenTwoDays");
- linesFeatures.add(lineBuilder.buildFeature(null));
-
- coordinatesByDay = new LinkedList<>();
+ Coordinate coordinate = create(point);
+ if (previousPoint != null && !DateUtils.isSameDay(previousPoint.getTime(), point.getTime())) {
+ // changing day
+ addTripDay(linesFeatures, coordinatesByDay, previousPoint);
+ addTripBetweenTwoDayS(linesFeatures, previousPoint, point);
+ coordinatesByDay.clear();
}
-
- Coordinate coordinate = new Coordinate(point.getLongitude(), point.getLatitude());
coordinatesByDay.add(coordinate);
-
previousPoint = point;
}
-
- if (coordinatesByDay != null && coordinatesByDay.size() > 1) {
- LineString line = geometryFactory.createLineString(coordinatesByDay.toArray(new Coordinate[0]));
- lineBuilder.add(line);
- lineBuilder.add(DATE_FORMAT.format(previousPoint.getTime()));
- lineBuilder.add("tripDay");
- linesFeatures.add(lineBuilder.buildFeature(null));
+ if (previousPoint != null) {
+ addTripDay(linesFeatures, coordinatesByDay, previousPoint);
}
-
- Style styleLines = findStyle(styledLayerDescriptor, OBSERVATION_LINES_LAYER_NAME, null);
-
+ Style styleLines = findStyle(styledLayerDescriptor, OBSERVATION_LINES_LAYER_NAME);
if (!linesFeatures.isEmpty()) {
Layer layerLines = new FeatureLayer(linesFeatures, styleLines, OBSERVATION_LINES_LAYER_NAME);
mapContent.addLayer(layerLines);
}
+ addLineLegend(styleLines, "tripDay", t("observe.ui.datasource.editor.content.map.legend.tripDay"));
+ addLineLegend(styleLines, "tripBetweenTwoDays", t("observe.ui.datasource.editor.content.map.legend.tripBetweenTwoDays"));
+ }
+ protected void addTripDay(DefaultFeatureCollection linesFeatures, List<Coordinate> coordinatesByDay, TripMapPoint previousPoint) {
+ if (coordinatesByDay.size() > 1) {
+ Coordinate[] coordinates = coordinatesByDay.toArray(new Coordinate[0]);
+ addLine(linesFeatures, "tripDay", coordinates, previousPoint.getTime());
+ }
+ }
- // add line in legend
- LineString line = geometryFactory.createLineString(ObserveMapPaneLegendItem.lineCoordinates());
- lineBuilder.add(line);
- lineBuilder.add("");
- lineBuilder.add("tripDay");
-
- ObserveMapPaneLegendItem legendTripDay = new ObserveMapPaneLegendItem(
- lineBuilder.buildFeature(null),
- styleLines,
- t("observe.ui.datasource.editor.content.map.legend.tripDay"));
- legendItems.add(legendTripDay);
-
- lineBuilder.add(line);
- lineBuilder.add("");
- lineBuilder.add("tripBetweenTwoDays");
- ObserveMapPaneLegendItem legendTripBetweenTwoDays = new ObserveMapPaneLegendItem(
- lineBuilder.buildFeature(null),
- styleLines,
- t("observe.ui.datasource.editor.content.map.legend.tripBetweenTwoDays"));
- legendItems.add(legendTripBetweenTwoDays);
-
+ protected void addTripBetweenTwoDayS(DefaultFeatureCollection linesFeatures, TripMapPoint previousPoint, TripMapPoint point) {
+ Coordinate[] coordinates = create(previousPoint, point);
+ addLine(linesFeatures, "tripBetweenTwoDays", coordinates, previousPoint.getTime());
}
}
=====================================
client/datasource/editor/ps/src/main/resources/map/ps-style.xml
=====================================
@@ -39,7 +39,7 @@
</ogc:Filter>
<LineSymbolizer>
<Stroke>
- <CssParameter name="stroke">${mapPsStyleObservationsColor}</CssParameter>
+ <CssParameter name="stroke">${mapPsStyleObservationsLineColor}</CssParameter>
<CssParameter name="stroke-width">2</CssParameter>
</Stroke>
</LineSymbolizer>
@@ -53,10 +53,10 @@
</LinePlacement>
</LabelPlacement>
<Fill>
- <CssParameter name="fill">#000000</CssParameter>
+ <CssParameter name="fill">${mapPsStyleObservationsTextColor}</CssParameter>
</Fill>
<Font>
- <CssParameter name="font-size">14</CssParameter>
+ <CssParameter name="font-size">${mapPsStyleObservationsTextSize}</CssParameter>
<CssParameter name="font-style">normal</CssParameter>
<CssParameter name="font-family">Sans-Serif</CssParameter>
</Font>
@@ -74,7 +74,7 @@
</ogc:Filter>
<LineSymbolizer>
<Stroke>
- <CssParameter name="stroke">${mapPsStyleObservationsColor}</CssParameter>
+ <CssParameter name="stroke">${mapPsStyleObservationsLineColor}</CssParameter>
<CssParameter name="stroke-width">2</CssParameter>
<CssParameter name="stroke-dasharray">6 4</CssParameter>
</Stroke>
@@ -102,7 +102,7 @@
<Mark>
<WellKnownName>Star</WellKnownName>
<Fill>
- <CssParameter name="fill">#00FF00</CssParameter>
+ <CssParameter name="fill">${mapPsStyleObservationsPointColor}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
@@ -129,7 +129,7 @@
<Mark>
<WellKnownName>ttf://Serif#U+00B7</WellKnownName>
<Fill>
- <CssParameter name="fill">${mapPsStyleObservationsColor}</CssParameter>
+ <CssParameter name="fill">${mapPsStyleObservationsPointColor}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
@@ -156,7 +156,7 @@
<Mark>
<WellKnownName>ttf://Serif#U+25C6</WellKnownName>
<Fill>
- <CssParameter name="fill">${mapPsStyleObservationsColor}</CssParameter>
+ <CssParameter name="fill">${mapPsStyleObservationsPointColor}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
@@ -183,7 +183,7 @@
<Mark>
<WellKnownName>ttf://Serif#U+002B</WellKnownName>
<Fill>
- <CssParameter name="fill">${mapPsStyleObservationsColor}</CssParameter>
+ <CssParameter name="fill">${mapPsStyleObservationsPointColor}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
@@ -210,7 +210,7 @@
<Mark>
<WellKnownName>ttf://Serif#U+0021</WellKnownName>
<Fill>
- <CssParameter name="fill">${mapPsStyleObservationsColor}</CssParameter>
+ <CssParameter name="fill">${mapPsStyleObservationsPointColor}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
@@ -227,13 +227,13 @@
</NamedLayer>
<NamedLayer>
- <Name>World_EEZ_v8_2014</Name>
+ <Name>GSHHS_l_L1</Name>
<UserStyle>
<FeatureTypeStyle>
<Rule>
<PolygonSymbolizer>
<Fill>
- <CssParameter name="fill">#82F4F9</CssParameter>
+ <CssParameter name="fill">${mapLayer1Color}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
@@ -246,13 +246,13 @@
</NamedLayer>
<NamedLayer>
- <Name>GSHHS_l_L1</Name>
+ <Name>GSHHS_l_L6</Name>
<UserStyle>
<FeatureTypeStyle>
<Rule>
<PolygonSymbolizer>
<Fill>
- <CssParameter name="fill">#FBE9D7</CssParameter>
+ <CssParameter name="fill">${mapLayer2Color}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
@@ -265,13 +265,32 @@
</NamedLayer>
<NamedLayer>
- <Name>GSHHS_l_L6</Name>
+ <Name>GSHHS_l_L2</Name>
+ <UserStyle>
+ <FeatureTypeStyle>
+ <Rule>
+ <PolygonSymbolizer>
+ <Fill>
+ <CssParameter name="fill">${mapLayer3Color}</CssParameter>
+ </Fill>
+ <Stroke>
+ <!-- <CssParameter name="stroke">#7FB7FF</CssParameter>-->
+ <CssParameter name="stroke">${mapLayer3Color}</CssParameter>
+ <CssParameter name="stroke-width">1</CssParameter>
+ </Stroke>
+ </PolygonSymbolizer>
+ </Rule>
+ </FeatureTypeStyle>
+ </UserStyle>
+ </NamedLayer>
+ <NamedLayer>
+ <Name>WDBII_border_l_L1</Name>
<UserStyle>
<FeatureTypeStyle>
<Rule>
<PolygonSymbolizer>
<Fill>
- <CssParameter name="fill">#F5F5FF</CssParameter>
+ <CssParameter name="fill">${mapLayer4Color}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
@@ -284,16 +303,16 @@
</NamedLayer>
<NamedLayer>
- <Name>GSHHS_l_L2</Name>
+ <Name>eez_v11_lowres</Name>
<UserStyle>
<FeatureTypeStyle>
<Rule>
<PolygonSymbolizer>
<Fill>
- <CssParameter name="fill">#7FB7FF</CssParameter>
+ <CssParameter name="fill">${mapLayer5Color}</CssParameter>
</Fill>
<Stroke>
- <CssParameter name="stroke">#7FB7FF</CssParameter>
+ <CssParameter name="stroke">#000000</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
</Stroke>
</PolygonSymbolizer>
=====================================
client/i18n/src/main/i18n/translations/observe_en_GB.properties
=====================================
@@ -89,11 +89,17 @@ observe.config.longlineActivityPairing.maxDistance=Longline activity pairing max
observe.config.longlineActivityPairing.maxTime=Longline activity pairing max time (mn)
observe.config.longlineLandingPart.defaultWeightMeasureMethod=Default weight measure method to use for a new longline landing part
observe.config.map.background.description=Color of background
+observe.config.map.dateFormat=Date format
+observe.config.map.layer1.color=Fill color for layer 1
observe.config.map.layer1.description=File (shapefile) for layer 1 of map
observe.config.map.layer10.description=File (shapefile) for layer 10 of map
+observe.config.map.layer2.color=Fill color for layer 2
observe.config.map.layer2.description=File (shapefile) for layer 2 of map
+observe.config.map.layer3.color=Fill color for layer 3
observe.config.map.layer3.description=File (shapefile) for layer 3 of map
+observe.config.map.layer4.color=Fill color for layer 4
observe.config.map.layer4.description=File (shapefile) for layer 4 of map
+observe.config.map.layer5.color=Fill color for layer 5
observe.config.map.layer5.description=File (shapefile) for layer 5 of map
observe.config.map.layer6.description=File (shapefile) for layer 6 of map
observe.config.map.layer7.description=File (shapefile) for layer 7 of map
@@ -109,7 +115,10 @@ observe.config.map.ll.style.observations.line.setting.color=[LL] Observations Li
observe.config.map.ll.style.observations.line.trip.color=[LL] Observations Line trip color
observe.config.map.ll.style.observations.point.color=[LL] Observations point color
observe.config.map.ps.style.description=[Seine] File of styles used in map
-observe.config.map.ps.style.observations.color=[Seine] Color for observations data
+observe.config.map.ps.style.observations.line.color=[Seine] Color for observations lines
+observe.config.map.ps.style.observations.point.color=[Seine] Color for observations points
+observe.config.map.ps.style.observations.text.color=[Seine] Color for observations text
+observe.config.map.ps.style.observations.text.size=[Seine] Size for observations text
observe.config.navigationIconsPath.description=Default navigation icons path.
observe.config.observation.activitysDetaillees=Observation of detailled activities
observe.config.observation.fauneAssociee=Observation of non target
=====================================
client/i18n/src/main/i18n/translations/observe_es_ES.properties
=====================================
@@ -89,11 +89,17 @@ observe.config.longlineActivityPairing.maxDistance=Longline activity pairing max
observe.config.longlineActivityPairing.maxTime=Longline activity pairing max time (mn) \#TODO
observe.config.longlineLandingPart.defaultWeightMeasureMethod=Default weight measure method to use for a new longline landing part \#TODO
observe.config.map.background.description=Color del fondo del mapa
+observe.config.map.dateFormat=Date format
+observe.config.map.layer1.color=Fill color for layer 1
observe.config.map.layer1.description=Archivo (shapeFiles) del primer calco del mapa
observe.config.map.layer10.description=Archivo (shapeFiles) del décimo calco del mapa
+observe.config.map.layer2.color=Fill color for layer 2
observe.config.map.layer2.description=Archivo (shapeFiles) del segundo calco del mapa
+observe.config.map.layer3.color=Fill color for layer 3
observe.config.map.layer3.description=Archivo (shapeFiles) del tercero calco del mapa
+observe.config.map.layer4.color=Fill color for layer 4
observe.config.map.layer4.description=Archivo (shapeFiles) del cuarto calco del mapa
+observe.config.map.layer5.color=Fill color for layer 5
observe.config.map.layer5.description=Archivo (shapeFiles) del quinto calco del mapa
observe.config.map.layer6.description=Archivo (shapeFiles) del sexto calco del mapa
observe.config.map.layer7.description=Archivo (shapeFiles) del séptimo calco del mapa
@@ -109,7 +115,10 @@ observe.config.map.ll.style.observations.line.setting.color=[LL] Observations Li
observe.config.map.ll.style.observations.line.trip.color=[LL] Observations Line trip color
observe.config.map.ll.style.observations.point.color=[LL] Observations point color
observe.config.map.ps.style.description=[Seina] Archivo de los estilos a aplicar sobre los calcos del mapa \#TODO
-observe.config.map.ps.style.observations.color=[Seine] Color for observations data
+observe.config.map.ps.style.observations.line.color=[Seine] Color for observations lines
+observe.config.map.ps.style.observations.point.color=[Seine] Color for observations points
+observe.config.map.ps.style.observations.text.color=[Seine] Color for observations text
+observe.config.map.ps.style.observations.text.size=[Seine] Size for observations text
observe.config.navigationIconsPath.description=Default navigation icons path. \#TODO
observe.config.observation.activitysDetaillees=Observación de actividades detalladas
observe.config.observation.fauneAssociee=Observación de Fauna asociada
=====================================
client/i18n/src/main/i18n/translations/observe_fr_FR.properties
=====================================
@@ -89,11 +89,17 @@ observe.config.longlineActivityPairing.maxDistance=Appairement activités Palang
observe.config.longlineActivityPairing.maxTime=Appairement activités Palangre - Temps maximum (en mn)
observe.config.longlineLandingPart.defaultWeightMeasureMethod=Méthode de mesure à utiliser lors de la création d'un nouveau d"pbarquement (modèle Palangre)
observe.config.map.background.description=Couleur du fond de carte
+observe.config.map.dateFormat=Format de la date
+observe.config.map.layer1.color=Couleur de remplissage pour le premier calque de la carte
observe.config.map.layer1.description=Fichier (Shape Files) du premier calque de la carte
observe.config.map.layer10.description=Fichier (Shape Files) du dixième calque de la carte
+observe.config.map.layer2.color=Couleur de remplissage pour le second calque de la carte
observe.config.map.layer2.description=Fichier (Shape Files) du deuxième calque de la carte
+observe.config.map.layer3.color=Couleur de remplissage pour le troisième calque de la carte
observe.config.map.layer3.description=Fichier (Shape Files) du troisième calque de la carte
+observe.config.map.layer4.color=Couleur de remplissage pour le quatrième calque de la carte
observe.config.map.layer4.description=Fichier (Shape Files) du quatrième calque de la carte
+observe.config.map.layer5.color=Couleur de remplissage pour le cinquième calque de la carte
observe.config.map.layer5.description=Fichier (Shape Files) du cinquième calque de la carte
observe.config.map.layer6.description=Fichier (Shape Files) du sixième calque de la carte
observe.config.map.layer7.description=Fichier (Shape Files) du septième calque de la carte
@@ -109,7 +115,10 @@ observe.config.map.ll.style.observations.line.setting.color=[Palangre] Observati
observe.config.map.ll.style.observations.line.trip.color=[Palangre] Observations Ligne Couleur marée
observe.config.map.ll.style.observations.point.color=[Palangre] Observations Couleur points
observe.config.map.ps.style.description=[Senne] Fichier des style à appliquer sur les calques de la carte
-observe.config.map.ps.style.observations.color=[Senne] Couleur pour les données d'observation
+observe.config.map.ps.style.observations.line.color=[Senne] Observations Couleur pour les traces
+observe.config.map.ps.style.observations.point.color=[Senne] Observations Couleur pour les points
+observe.config.map.ps.style.observations.text.color=[Senne] Observations Couleur pour les textes
+observe.config.map.ps.style.observations.text.size=[Senne] Observations Taille pour les textes
observe.config.navigationIconsPath.description=Chemin vers les icônes de navigation.
observe.config.observation.activitysDetaillees=Observation des activités détaillées
observe.config.observation.fauneAssociee=Observation des Faunes associées
=====================================
models/dto/src/main/java/fr/ird/observe/dto/data/TripMapConfig.java
=====================================
@@ -25,6 +25,7 @@ package fr.ird.observe.dto.data;
import java.awt.Color;
import java.io.File;
import java.util.List;
+import java.util.Map;
import java.util.Set;
/**
@@ -37,73 +38,18 @@ import java.util.Set;
*/
public interface TripMapConfig {
+ String getMapDateFormat();
+
Set<TripMapContentBuilder> getTripMapContentBuilders();
File getMapDirectory();
Color getMapBackgroundColor();
- void setMapBackgroundColor(Color mapBackgroundColor);
-
- File getMapLayer1();
-
- void setMapLayer1(File mapLayer1);
-
- File getMapLayer2();
-
- void setMapLayer2(File mapLayer2);
-
- File getMapLayer3();
-
- void setMapLayer3(File mapLayer3);
-
- File getMapLayer4();
-
- void setMapLayer4(File mapLayer4);
-
- File getMapLayer5();
-
- void setMapLayer5(File mapLayer5);
-
- File getMapLayer6();
-
- void setMapLayer6(File mapLayer6);
-
- File getMapLayer7();
-
- void setMapLayer7(File mapLayer7);
-
- File getMapLayer8();
-
- void setMapLayer8(File mapLayer8);
-
- File getMapLayer9();
-
- void setMapLayer9(File mapLayer9);
-
- File getMapLayer10();
-
- void setMapLayer10(File mapLayer10);
-
List<File> getMapLayerFiles();
- Color getMapPsStyleObservationsColor();
+ Map<String, String> getVariables(TripMapContentBuilder builder);
File getTemporaryDirectory();
- Color getMapLlStyleObservationsLineTripColor();
-
- Color getMapLlStyleObservationsLineSettingColor();
-
- Color getMapLlStyleObservationsLineHaulingColor();
-
- Color getMapLlStyleObservationsPointColor();
-
- Color getMapLlStyleLogbookLineTripColor();
-
- Color getMapLlStyleLogbookLineSettingColor();
-
- Color getMapLlStyleLogbookLineHaulingColor();
-
- Color getMapLlStyleLogbookPointColor();
}
=====================================
models/dto/src/main/java/fr/ird/observe/dto/data/TripMapContentBuilder.java
=====================================
@@ -27,6 +27,7 @@ import java.io.FileNotFoundException;
import java.io.IOException;
import java.nio.file.Path;
import java.util.List;
+import java.util.Set;
/**
* Created on 02/09/2020.
@@ -36,6 +37,8 @@ import java.util.List;
*/
public interface TripMapContentBuilder {
+ Set<String> getVariableNames();
+
String getStyleFileName();
boolean accept(TripMapDto tripMapDto);
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/03aa3129a42e7750eb7457386…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/03aa3129a42e7750eb7457386…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 4 commits: l'information nombre total d'opération de pêches sur le formulaire marée me...
by Tony CHEMIT 27 Dec '20
by Tony CHEMIT 27 Dec '20
27 Dec '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
afb328c1 by Tony Chemit at 2020-12-27T12:33:15+01:00
l'information nombre total d'opération de pêches sur le formulaire marée me semble un peu faible ? - Closes #1695
- - - - -
20be6d67 by Tony Chemit at 2020-12-27T12:45:56+01:00
Impossible d'ouvrir la configuration - Closes #1701
- - - - -
72505b35 by Tony Chemit at 2020-12-27T17:20:41+01:00
Configuration de la cartographie - See #1702
Utilisation nouvelles zones zee
- - - - -
3d16f0de by Tony Chemit at 2020-12-27T17:21:05+01:00
Configuration de la cartographie - See #1702
Mise en place de la configuration de certaines couleurs à améliorer
- - - - -
29 changed files:
- client/configuration/src/main/config/Client.ini
- client/configuration/src/main/i18n/getters/config.getter
- client/configuration/src/main/java/fr/ird/observe/client/configuration/ClientConfig.java
- client/core/src/main/java/fr/ird/observe/client/main/body/ClientConfigUI.java
- client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/map/TripMapContentBuilderSupport.java
- + client/datasource/editor/common/src/main/map/shapeFiles/zee/LICENSE_EEZ_v11.txt
- − client/datasource/editor/common/src/main/map/shapeFiles/zee/World_EEZ_v8_2014.dbf
- − client/datasource/editor/common/src/main/map/shapeFiles/zee/World_EEZ_v8_2014.sbn
- − client/datasource/editor/common/src/main/map/shapeFiles/zee/World_EEZ_v8_2014.sbx
- − client/datasource/editor/common/src/main/map/shapeFiles/zee/World_EEZ_v8_2014.shp
- − client/datasource/editor/common/src/main/map/shapeFiles/zee/World_EEZ_v8_2014.shp.xml
- − client/datasource/editor/common/src/main/map/shapeFiles/zee/World_EEZ_v8_2014.shx
- + client/datasource/editor/common/src/main/map/shapeFiles/zee/eez_v11_lowres.cpg
- + client/datasource/editor/common/src/main/map/shapeFiles/zee/eez_v11_lowres.dbf
- + client/datasource/editor/common/src/main/map/shapeFiles/zee/eez_v11_lowres.gpkg
- client/datasource/editor/common/src/main/map/shapeFiles/zee/World_EEZ_v8_2014.prj → client/datasource/editor/common/src/main/map/shapeFiles/zee/eez_v11_lowres.prj
- + client/datasource/editor/common/src/main/map/shapeFiles/zee/eez_v11_lowres.qpj
- + client/datasource/editor/common/src/main/map/shapeFiles/zee/eez_v11_lowres.shp
- + client/datasource/editor/common/src/main/map/shapeFiles/zee/eez_v11_lowres.shx
- client/datasource/editor/ll/src/main/i18n/getters/jaxx.getter
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/common/TripUI.jaxx
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/common/TripUI.jcss
- client/datasource/editor/ll/src/main/resources/map/ll-style.xml
- client/datasource/editor/ps/src/main/resources/map/ps-style.xml
- client/i18n/src/main/i18n/translations/observe_en_GB.properties
- client/i18n/src/main/i18n/translations/observe_es_ES.properties
- client/i18n/src/main/i18n/translations/observe_fr_FR.properties
- models/dto/src/main/java/fr/ird/observe/dto/data/TripMapConfig.java
- models/dto/src/main/java/fr/ird/observe/dto/data/ll/common/TripDto.java
Changes:
=====================================
client/configuration/src/main/config/Client.ini
=====================================
@@ -532,7 +532,7 @@ defaultValue = ${resources.directory}/map/shapeFiles/borders/WDBII_border_l_L1.s
description = observe.config.map.layer5.description
key = map.layer5.path
type = file
-defaultValue = ${resources.directory}/map/shapeFiles/zee/World_EEZ_v8_2014.shp
+defaultValue = ${resources.directory}/map/shapeFiles/zee/eez_v11_lowres.shp
[option mapLayer6]
description = observe.config.map.layer6.description
@@ -565,12 +565,66 @@ key = map.ps.style.path
type = file
defaultValue = ${resources.directory}/map/ps-style.xml
+[option mapPsStyleObservationsColor]
+description = observe.config.map.ps.style.observations.color
+key = map.ps.style.observations.color
+type = color
+defaultValue = java.awt.Color[r=0,g=255,b=0]
+
[option mapLlStyleFile]
description = observe.config.map.ll.style.description
key = map.ll.style.path
type = file
defaultValue = ${resources.directory}/map/ll-style.xml
+[option mapLlStyleObservationsLineTripColor]
+description = observe.config.map.ll.style.observations.line.trip.color
+key = map.ll.style.observations.line.trip.color
+type = color
+defaultValue = java.awt.Color[r=0,g=255,b=0]
+
+[option mapLlStyleObservationsLineSettingColor]
+description = observe.config.map.ll.style.observations.line.setting.color
+key = map.ll.style.observations.line.setting.color
+type = color
+defaultValue = java.awt.Color[r=0,g=255,b=0]
+
+[option mapLlStyleObservationsLineHaulingColor]
+description = observe.config.map.ll.style.observations.line.hauling.color
+key = map.ll.style.observations.line.hauling.color
+type = color
+defaultValue = java.awt.Color[r=255,g=255,b=0]
+
+[option mapLlStyleObservationsPointColor]
+description = observe.config.map.ll.style.observations.point.color
+key = map.ll.style.observations.point.color
+type = color
+defaultValue = java.awt.Color[r=0,g=255,b=0]
+
+[option mapLlStyleLogbookLineTripColor]
+description = observe.config.map.ll.style.logbook.line.trip.color
+key = map.ll.style.logbook.line.trip.color
+type = color
+defaultValue = java.awt.Color[r=34,g=34,b=34]
+
+[option mapLlStyleLogbookLineSettingColor]
+description = observe.config.map.ll.style.logbook.line.setting.color
+key = map.ll.style.logbook.line.setting.color
+type = color
+defaultValue = java.awt.Color[r=255,g=0,b=0]
+
+[option mapLlStyleLogbookLineHaulingColor]
+description = observe.config.map.ll.style.logbook.line.hauling.color
+key = map.ll.style.logbook.line.hauling.color
+type = color
+defaultValue = java.awt.Color[r=0,g=255,b=255]
+
+[option mapLlStyleLogbookPointColor]
+description = observe.config.map.ll.style.logbook.point.color
+key = map.ll.style.logbook.point.color
+type = color
+defaultValue = java.awt.Color[r=255,g=0,b=0]
+
[option validationSpeedEnable]
description = observe.config.validation.speedEnable
key = validation.speedEnable
@@ -758,25 +812,25 @@ defaultValue = {\"fr.ird.referential.common.Species#1239832684290#0.046805073247
[option temporaryFilesTimeout]
description = observe.config.client.temporaryFiles.timeout.description
key = observe.config.client.temporaryFilesTimeout
-type = int
+type = Integer
defaultValue = 120
[option logFilesTimeout]
description = observe.config.client.logFiles.timeout.description
key = observe.config.client.logFilesTimeout
-type = int
+type = Integer
defaultValue = 720
[option feedbackFilesTimeout]
description = observe.config.client.feedbackFiles.timeout.description
key = observe.config.client.feedbackFilesTimeout
-type = int
+type = Integer
defaultValue = 720
[option backupFilesTimeout]
description = observe.config.client.backupFiles.timeout.description
key = observe.config.client.backupFilesTimeout
-type = int
+type = Integer
defaultValue = 2160
[action help]
=====================================
client/configuration/src/main/i18n/getters/config.getter
=====================================
@@ -53,7 +53,16 @@ observe.config.map.layer7.description
observe.config.map.layer8.description
observe.config.map.layer9.description
observe.config.map.ll.style.description
+observe.config.map.ll.style.logbook.line.hauling.color
+observe.config.map.ll.style.logbook.line.setting.color
+observe.config.map.ll.style.logbook.line.trip.color
+observe.config.map.ll.style.logbook.point.color
+observe.config.map.ll.style.observations.line.hauling.color
+observe.config.map.ll.style.observations.line.setting.color
+observe.config.map.ll.style.observations.line.trip.color
+observe.config.map.ll.style.observations.point.color
observe.config.map.ps.style.description
+observe.config.map.ps.style.observations.color
observe.config.navigationIconsPath.description
observe.config.observation.activitysDetaillees
observe.config.observation.fauneAssociee
=====================================
client/configuration/src/main/java/fr/ird/observe/client/configuration/ClientConfig.java
=====================================
@@ -72,6 +72,7 @@ import org.nuiton.version.Versions;
import javax.swing.UIDefaults;
import javax.swing.UIManager;
+import java.awt.Color;
import java.beans.PropertyChangeListener;
import java.io.File;
import java.io.IOException;
@@ -247,6 +248,10 @@ public class ClientConfig extends GeneratedClientConfig implements TripMapConfig
UIManager.getDefaults().put("DecoratorService", (UIDefaults.LazyValue) table -> new DecoratorService(referentialLocale));
}
+ public static String getColorToHex(Color color) {
+ return String.format("#%02X%02X%02X", color.getRed(), color.getGreen(), color.getBlue());
+ }
+
public ClientConfig() {
this(DEFAULT_OBSERVE_SWING_CONFIGURATION_FILENAME);
}
=====================================
client/core/src/main/java/fr/ird/observe/client/main/body/ClientConfigUI.java
=====================================
@@ -303,7 +303,16 @@ public class ClientConfigUI extends JXTitledPanel {
helper.addOption(ClientConfigOption.MAP_BACKGROUND_COLOR);
ClientConfig.MAP_LAYERS.forEach(helper::addOption);
helper.addOption(ClientConfigOption.MAP_PS_STYLE_FILE);
+ helper.addOption(ClientConfigOption.MAP_PS_STYLE_OBSERVATIONS_COLOR);
helper.addOption(ClientConfigOption.MAP_LL_STYLE_FILE);
+ helper.addOption(ClientConfigOption.MAP_LL_STYLE_OBSERVATIONS_LINE_TRIP_COLOR);
+ helper.addOption(ClientConfigOption.MAP_LL_STYLE_OBSERVATIONS_LINE_SETTING_COLOR);
+ helper.addOption(ClientConfigOption.MAP_LL_STYLE_OBSERVATIONS_LINE_HAULING_COLOR);
+ helper.addOption(ClientConfigOption.MAP_LL_STYLE_OBSERVATIONS_POINT_COLOR);
+ helper.addOption(ClientConfigOption.MAP_LL_STYLE_LOGBOOK_LINE_TRIP_COLOR);
+ helper.addOption(ClientConfigOption.MAP_LL_STYLE_LOGBOOK_LINE_SETTING_COLOR);
+ helper.addOption(ClientConfigOption.MAP_LL_STYLE_LOGBOOK_LINE_HAULING_COLOR);
+ helper.addOption(ClientConfigOption.MAP_LL_STYLE_LOGBOOK_POINT_COLOR);
}
=====================================
client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/map/TripMapContentBuilderSupport.java
=====================================
@@ -22,6 +22,7 @@ package fr.ird.observe.client.datasource.editor.api.content.data.map;
* #L%
*/
+import fr.ird.observe.client.configuration.ClientConfig;
import fr.ird.observe.dto.I18nEnumHelper;
import fr.ird.observe.dto.data.TripMapConfig;
import fr.ird.observe.dto.data.TripMapConfigDto;
@@ -30,6 +31,8 @@ import fr.ird.observe.dto.data.TripMapDto;
import fr.ird.observe.dto.data.TripMapPoint;
import fr.ird.observe.dto.data.TripMapPointType;
import org.apache.commons.lang3.StringUtils;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.geotools.data.FileDataStore;
import org.geotools.data.FileDataStoreFinder;
import org.geotools.data.simple.SimpleFeatureSource;
@@ -59,12 +62,16 @@ import org.opengis.referencing.FactoryException;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
import java.nio.file.Path;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashSet;
+import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
+import java.util.Map;
import java.util.Optional;
import java.util.Set;
@@ -84,18 +91,39 @@ public abstract class TripMapContentBuilderSupport implements TripMapContentBuil
protected static final String LOGBOOK_POINTS_LAYER_NAME = "Logbook points";
protected static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("MM-dd");
-
+ private static final Logger log = LogManager.getLogger(TripMapContentBuilderSupport.class);
protected final List<ObserveMapPaneLegendItem> legendItems;
protected final List<TripMapPoint> notValidPoints = new LinkedList<>();
protected final Set<TripMapPointType> acceptedTripPointTypes;
protected MapContent mapContent;
protected StyledLayerDescriptor styledLayerDescriptor;
+
public static TripMapContentBuilderSupport of(TripMapConfig config, TripMapConfigDto tripMapConfig, TripMapDto tripMapDto, List<TripMapPoint> tripMapPoints) throws Exception {
TripMapContentBuilderSupport builder = (TripMapContentBuilderSupport) config.getTripMapContentBuilders().stream().filter(t -> t.accept(tripMapDto)).findFirst().orElseThrow(IllegalStateException::new);
builder.reset();
File styleFile = builder.getStyleFile(config.getMapDirectory().toPath());
- builder.setStyledLayerDescriptor(styleFile);
+ String content = Files.readString(styleFile.toPath());
+
+ Map<String, String> replaceMapping = new LinkedHashMap<>();
+ replaceMapping.put("mapPsStyleObservationsColor", ClientConfig.getColorToHex(config.getMapPsStyleObservationsColor()));
+ replaceMapping.put("mapLlStyleObservationsLineTripColor", ClientConfig.getColorToHex(config.getMapLlStyleObservationsLineTripColor()));
+ replaceMapping.put("mapLlStyleObservationsLineSettingColor", ClientConfig.getColorToHex(config.getMapLlStyleObservationsLineSettingColor()));
+ replaceMapping.put("mapLlStyleObservationsLineHaulingColor", ClientConfig.getColorToHex(config.getMapLlStyleObservationsLineHaulingColor()));
+ replaceMapping.put("mapLlStyleObservationsPointColor", ClientConfig.getColorToHex(config.getMapLlStyleObservationsPointColor()));
+ replaceMapping.put("mapLlStyleLogbookLineTripColor", ClientConfig.getColorToHex(config.getMapLlStyleLogbookLineTripColor()));
+ replaceMapping.put("mapLlStyleLogbookLineSettingColor", ClientConfig.getColorToHex(config.getMapLlStyleLogbookLineSettingColor()));
+ replaceMapping.put("mapLlStyleLogbookLineHaulingColor", ClientConfig.getColorToHex(config.getMapLlStyleLogbookLineHaulingColor()));
+ replaceMapping.put("mapLlStyleLogbookPointColor", ClientConfig.getColorToHex(config.getMapLlStyleLogbookPointColor()));
+
+ for (Map.Entry<String, String> entry : replaceMapping.entrySet()) {
+ content = content.replaceAll("\\$\\{" + entry.getKey() + "}", entry.getValue());
+ }
+
+ Path newPath = config.getTemporaryDirectory().toPath().resolve("map-temp" + System.nanoTime());
+
+ Files.write(newPath, content.getBytes(StandardCharsets.UTF_8));
+ builder.setStyledLayerDescriptor(newPath.toFile());
for (File layerFile : config.getMapLayerFiles()) {
builder.addLayer(layerFile);
}
=====================================
client/datasource/editor/common/src/main/map/shapeFiles/zee/LICENSE_EEZ_v11.txt
=====================================
@@ -0,0 +1,33 @@
+LICENSE, TERMS OF USE & CITATION
+LICENSE
+Marine Regions’ data is licensed under CC-By (https://creativecommons.org/licenses/by/4.0/)
+Please contact us for other uses of the Licensed Material beyond license terms.
+We kindly request our users not to make our products available for download elsewhere and to always refer to marineregions.org for the most up-to-date products and services.
+
+
+TERMS OF USE
+Marine Regions is not meant to be used for legal, economical (in the sense of exploration of natural resources) or navigational purposes.
+It is developed solely for scientific, educational and research purposes..
+
+VLIZ can in no case be held accountable or liable for faults, of any nature, that might occur in the usage of Marine Regions.
+All those who wish to use Marine Regions do so completely at own risk/under own responsibility and according to the License conditions and the Terms of Use.
+VLIZ expresses no opinion about the legal state neither of any country, territory or area nor concerning its delimitation, frontier or borders.
+The data has no legal value whatsoever.
+
+Marine Regions can be used according to the terms and conditions mentioned in the CC-BY license (CC-BY, https://creativecommons.org/licenses/by/4.0/)
+The provisions above in no way replace the provisions of the CC-license.
+If any of the abovementioned provisions divert from or contradict the provisions of the CC-license in any way, the CC-license provisions prevail.
+
+
+FEEDBACK
+If Marine Regions' data is used for a publication or product, we kindly request to inform us (info(a)marineregions.org) and we'll add the publication to our users page (https://marineregions.org/stats_pubs.php)
+
+Feedback of the users of Marine Regions is more than welcome.
+In case you notice mistakes, incompleteness or are willing to join us in this endeavor, please contact us on info(a)marineregions.org.
+
+
+CITATION
+Flanders Marine Institute (2019). Maritime Boundaries Geodatabase: Maritime Boundaries and Exclusive Economic Zones (200NM), version 11. Available online at https://www.marineregions.org/. https://doi.org/10.14284/386
+
+
+
=====================================
client/datasource/editor/common/src/main/map/shapeFiles/zee/World_EEZ_v8_2014.dbf deleted
=====================================
Binary files a/client/datasource/editor/common/src/main/map/shapeFiles/zee/World_EEZ_v8_2014.dbf and /dev/null differ
=====================================
client/datasource/editor/common/src/main/map/shapeFiles/zee/World_EEZ_v8_2014.sbn deleted
=====================================
Binary files a/client/datasource/editor/common/src/main/map/shapeFiles/zee/World_EEZ_v8_2014.sbn and /dev/null differ
=====================================
client/datasource/editor/common/src/main/map/shapeFiles/zee/World_EEZ_v8_2014.sbx deleted
=====================================
Binary files a/client/datasource/editor/common/src/main/map/shapeFiles/zee/World_EEZ_v8_2014.sbx and /dev/null differ
=====================================
client/datasource/editor/common/src/main/map/shapeFiles/zee/World_EEZ_v8_2014.shp deleted
=====================================
Binary files a/client/datasource/editor/common/src/main/map/shapeFiles/zee/World_EEZ_v8_2014.shp and /dev/null differ
=====================================
client/datasource/editor/common/src/main/map/shapeFiles/zee/World_EEZ_v8_2014.shp.xml deleted
=====================================
@@ -1,166 +0,0 @@
-<!--
- #%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%
- -->
-<metadata xml:lang="nl"><Esri><CreaDate>20131014</CreaDate><CreaTime>13354700</CreaTime><SyncOnce>FALSE</SyncOnce><SyncDate>20140227</SyncDate><SyncTime>14430500</SyncTime><ModDate>20140227</ModDate><ModTime>14430500</ModTime><DataProperties><lineage><Process ToolSource="c:\program files (x86)\arcgis\desktop10.1\ArcToolbox\Toolboxes\Data Management Tools.tbx\CalculateField" Date="20120906" Time="120028" Name="" export="">CalculateField World_Maritime_Boundaries_v7 LastChange [Remarks] VB #</Process></lineage><itemProps><imsContentType export="False"/><itemName Sync="TRUE">World_EEZ_v8_2014</itemName><nativeExtBox><westBL Sync="TRUE">-180.000000</westBL><eastBL Sync="TRUE">180.000000</eastBL><southBL Sync="TRUE">-85.470291</southBL><northBL Sync="TRUE">87.023944</northBL><exTypeCode Sync="TRUE">1</exTypeCode></nativeExtBox><itemSize Sync="TRUE">4.856</itemSize><itemLocation><linkage Sync="TRUE">file://\\fs\shared\datac\geo\marbound\versioning\v8\World_EEZ_v8_2014.shp</linkage><protocol Sync="TRUE">Local Area Network</protocol></itemLocation></itemProps><coordRef><type Sync="TRUE">Geographic</type><geogcsn Sync="TRUE">GCS_WGS_1984</geogcsn><csUnits Sync="TRUE">Angular Unit: Degree (0.017453)</csUnits><peXml Sync="TRUE"><GeographicCoordinateSystem xsi:type='typens:GeographicCoordinateSystem' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xs='http://www.w3.org/2001/XMLSchema' xmlns:typens='http://www.esri.com/schemas/ArcGIS/10.1'><WKT>GEOGCS[&quot;GCS_WGS_1984&quot;,DATUM[&quot;D_WGS_1984&quot;,SPHEROID[&quot;WGS_1984&quot;,6378137.0,298.257223563]],PRIMEM[&quot;Greenwich&quot;,0.0],UNIT[&quot;Degree&quot;,0.0174532925199433],AUTHORITY[&quot;EPSG&quot;,4326]]</WKT><XOrigin>-400</XOrigin><YOrigin>-400</YOrigin><XYScale>11258999068426.238</XYScale><ZOrigin>-100000</ZOrigin><ZScale>10000</ZScale><MOrigin>-100000</MOrigin><MScale>10000</MScale><XYTolerance>8.983152841195215e-009</XYTolerance><ZTolerance>0.001</ZTolerance><MTolerance>0.001</MTolerance><HighPrecision>true</HighPrecision><LeftLongitude>-180</LeftLongitude><WKID>4326</WKID><LatestWKID>4326</LatestWKID></GeographicCoordinateSystem></peXml></coordRef></DataProperties><ArcGISFormat>1.0</ArcGISFormat><ArcGISstyle>INSPIRE Metadata Directive</ArcGISstyle><scaleRange><minScale>150000000</minScale><maxScale>20000000</maxScale></scaleRange><ArcGISProfile>INSPIRE</ArcGISProfile></Esri><idinfo><citation><citeinfo><onlink Sync="TRUE"/><origin>REQUIRED: The name of an organization or individual that developed the data set.</origin><pubdate>REQUIRED: The date when the data set is published or otherwise made available for release.</pubdate><title Sync="TRUE">World_Maritime_Boundaries_v6_201001</title><ftname Sync="TRUE">World_Maritime_Boundaries_v6_201001</ftname><geoform Sync="TRUE">vector digital data</geoform></citeinfo></citation><native Sync="TRUE">Microsoft Windows Vista Version 6.1 (Build 7600) ; ESRI ArcCatalog 9.3.0.1770</native><descript><langdata Sync="TRUE">nl</langdata><abstract>REQUIRED: A brief narrative summary of the data set.</abstract><purpose>REQUIRED: A summary of the intentions with which the data set was developed.</purpose></descript><timeperd><current>REQUIRED: The basis on which the time period of content information is determined.</current><timeinfo><sngdate><caldate>REQUIRED: The year (and optionally month, or month and day) for which the data set corresponds to the ground.</caldate></sngdate></timeinfo></timeperd><status><progress>REQUIRED: The state of the data set.</progress><update>REQUIRED: The frequency with which changes and additions are made to the data set after the initial data set is completed.</update></status><spdom><bounding><westbc Sync="TRUE">-180.000000</westbc><eastbc Sync="TRUE">180.000000</eastbc><northbc Sync="TRUE">87.023944</northbc><southbc Sync="TRUE">-75.118695</southbc></bounding><lboundng><leftbc Sync="TRUE">-180.000000</leftbc><rightbc Sync="TRUE">180.000000</rightbc><bottombc Sync="TRUE">-75.118695</bottombc><topbc Sync="TRUE">87.023944</topbc></lboundng></spdom><keywords><theme><themekt>REQUIRED: Reference to a formally registered thesaurus or a similar authoritative source of theme keywords.</themekt><themekey>REQUIRED: Common-use word or phrase used to describe the subject of the data set.</themekey></theme></keywords><accconst>REQUIRED: Restrictions and legal prerequisites for accessing the data set.</accconst><useconst>REQUIRED: Restrictions and legal prerequisites for using the data set after access is granted.</useconst><natvform Sync="TRUE">Shapefile</natvform></idinfo><distInfo xmlns=""><distFormat xmlns=""><formatName>Shapefile</formatName><formatVer>version 8</formatVer></distFormat><distTranOps><transSize Sync="TRUE">4.856</transSize></distTranOps></distInfo><dataqual><lineage><procstep><procdesc Sync="TRUE">Dataset copied.</procdesc><srcused Sync="TRUE">C:\Documents and Settings\nathalied\Desktop\EEZ\Boundaries\boundaries2008</srcused><date Sync="TRUE">20081027</date><time Sync="TRUE">14580500</time></procstep><procstep><procdesc Sync="TRUE">Dataset copied.</procdesc><srcused Sync="TRUE"/><date Sync="TRUE">20081104</date><time Sync="TRUE">15584900</time></procstep><procstep><procdesc Sync="TRUE">Dataset copied.</procdesc><srcused Sync="TRUE"/><date Sync="TRUE">20090401</date><time Sync="TRUE">12304600</time></procstep><procstep><procdesc Sync="TRUE">Dataset copied.</procdesc><srcused Sync="TRUE"/><date Sync="TRUE">20090430</date><time Sync="TRUE">14261200</time></procstep><procstep><procdesc Sync="TRUE">Dataset moved.</procdesc><srcused Sync="TRUE">S:\datac\Geo\marbound\versioning\World_Maritime_Boundaries_v3_20090430</srcused><date Sync="TRUE">20090430</date><time Sync="TRUE">14313000</time></procstep><procstep><procdesc Sync="TRUE">Dataset copied.</procdesc><srcused Sync="TRUE"/><procdate Sync="TRUE">20090812</procdate><proctime Sync="TRUE">09544100</proctime></procstep><procstep><procdesc Sync="TRUE">Dataset copied.</procdesc><srcused Sync="TRUE"/><date Sync="TRUE">20090929</date><time Sync="TRUE">09394000</time></procstep><procstep><procdesc Sync="TRUE">Dataset copied.</procdesc><srcused Sync="TRUE"/><date Sync="TRUE">20090929</date><time Sync="TRUE">12465300</time></procstep><procstep><procdesc Sync="TRUE">Dataset copied.</procdesc><srcused Sync="TRUE"/><procdate Sync="TRUE">20100105</procdate><proctime Sync="TRUE">09054300</proctime></procstep><procstep><procdesc Sync="TRUE">Dataset copied.</procdesc><srcused Sync="TRUE">G:\marbound\versioning\2011-03-30_v6.0\World_Maritime_Boundaries_v6_20110330</srcused><procdate Sync="TRUE">20110512</procdate><proctime Sync="TRUE">14152400</proctime></procstep><procstep><procdesc Sync="TRUE">Dataset copied.</procdesc><srcused Sync="TRUE"/><procdate Sync="TRUE">20120229</procdate><proctime Sync="TRUE">10425100</proctime></procstep></lineage></dataqual><dataIdInfo><envirDesc Sync="TRUE">Microsoft Windows 7 Version 6.1 (Build 7601) Service Pack 1; Esri ArcGIS 10.1.0.3035</envirDesc><dataLang><languageCode Sync="FALSE" value="eng"/><countryCode value="BEL" Sync="TRUE"/></dataLang><idCitation xmlns=""><resTitle Sync="FALSE">World Exclusive Economic Zones, version 8 (Feb 2014)</resTitle><presForm xmlns=""><PresFormCd Sync="TRUE" value="005"/></presForm><date><createDate>2006-01-01T00:00:00</createDate><pubDate>2014-02-28T00:00:00</pubDate><reviseDate>2014-02-28T00:00:00</reviseDate></date><resEd>version 8</resEd><citRespParty xmlns=""><editorSource>external</editorSource><editorDigest>b0aa41157cc86c0e15ab9e548e380455</editorDigest><rpIndName>Nathalie De Hauwere</rpIndName><rpOrgName>Flanders Marine Institute, VLIZ</rpOrgName><rpPosName>Scientific Assistant, GIS</rpPosName><role><RoleCd value="009"/></role><rpCntInfo xmlns=""><cntAddress addressType=""><eMailAdd>info(a)marineregions.org</eMailAdd></cntAddress></rpCntInfo><editorSave>True</editorSave><displayName>Nathalie De Hauwere</displayName></citRespParty><citRespParty xmlns=""><editorSource>external</editorSource><editorDigest>2afebd71ff8d7be96285e12198f57419</editorDigest><rpIndName>Simon Claus</rpIndName><rpOrgName>Flanders Marine Institute, VLIZ</rpOrgName><rpPosName>Project Manager</rpPosName><role><RoleCd value="008"/></role><rpCntInfo xmlns=""><cntAddress addressType=""><eMailAdd>info(a)marineregions.org</eMailAdd></cntAddress></rpCntInfo><editorSave>True</editorSave><displayName>Simon Claus</displayName></citRespParty><citRespParty xmlns=""><rpIndName>Francisco Souza Dias</rpIndName><rpOrgName>Flanders Marine Institute</rpOrgName><rpPosName>Scientific Assistant</rpPosName><role><RoleCd value="007"/></role></citRespParty><citRespParty xmlns=""><rpIndName>Bart Vanhoorne</rpIndName><rpOrgName>Flanders Marine Institute</rpOrgName><rpPosName>IT expert</rpPosName><role><RoleCd value="007"/></role></citRespParty><citRespParty xmlns=""><rpIndName>Francisco Hernandez</rpIndName><rpOrgName>Flanders Marine Institute</rpOrgName><rpPosName>Manager data centre</rpPosName><role><RoleCd value="007"/></role></citRespParty></idCitation><spatRpType><SpatRepTypCd Sync="TRUE" value="001"/></spatRpType><dataExt xmlns=""><geoEle xmlns=""><GeoBndBox esriExtentType="native"><westBL Sync="TRUE">-180</westBL><eastBL Sync="TRUE">180</eastBL><northBL Sync="TRUE">87.023944</northBL><southBL Sync="TRUE">-75.118695</southBL><exTypeCode Sync="TRUE">1</exTypeCode></GeoBndBox></geoEle><geoEle xmlns=""><GeoDesc><exTypeCode>0</exTypeCode><geoId xmlns=""><identCode>World</identCode></geoId></GeoDesc></geoEle><exDesc>WGS 1984</exDesc></dataExt><geoBox esriExtentType="decdegrees"><westBL Sync="TRUE">-180</westBL><eastBL Sync="TRUE">180</eastBL><northBL Sync="TRUE">87.023944</northBL><southBL Sync="TRUE">-75.118695</southBL><exTypeCode Sync="TRUE">1</exTypeCode></geoBox><idPurp>This dataset represents the polygons of the Exclusive Economic Zones (EEZ) of the world, in a lower resolution: the coastline is based on the World Countries Shapefile from ESRI.
-The data set of the Exclusive Economic Zones can be used in many applications. In biogeography for example, it is possible to create for instance species distribution lists per country.</idPurp><idAbs><DIV STYLE="text-align:Left;"><DIV><DIV><P STYLE="margin:0 0 0 0;"><SPAN>Two global GIS-covers in ESRI shape format were produced: one contains polylines representing the maritime boundaries;the second holds polygons representing the EEZs. When all the boundary lines were constructed, the lines could be aggregated and an EEZ-polygon per country was derived. For the land-side border, the boundaries of the world countries were used, on the sea-side the boundaries were aggregated for each country. Separate polygons were created for islands (ex.: Azores) and dependencies (ex.: Réunion) but those polygons are linked with their corresponding sovereign nation (in the attribute table).</SPAN></P></DIV></DIV></DIV></idAbs><idCredit>Flanders Marine Institute (2014). Marineregions.org. Accessed at http://www.marineregions.org on yyyy-mm-dd.</idCredit><searchKeys><keyword>Exclusive Economic Zone</keyword><keyword>Boundaries</keyword><keyword>World</keyword><keyword>200 NM</keyword><keyword>Disputed</keyword><keyword>Treaties</keyword><keyword>Administrative Units</keyword></searchKeys><resConst><Consts xmlns=""><useLimit><DIV STYLE="text-align:Left;"><DIV><DIV><DIV STYLE="font-size:12pt"><P><SPAN STYLE="font-size:10pt">Disclaimer: </SPAN></P><P><SPAN STYLE="font-size:10pt">The Flanders Marine Institute manages Marine Regions, but is aware that it is not complete and undoubtedly contains errors. The Flanders Marine Institute cannot be made responsible for any errors or misuse of data contained in this register. Comments from our users are more than welcome, so if you come across any error or incomplete information or you are willing to contribute to this initiative please contact us.</SPAN></P><P><SPAN STYLE="font-size:10pt">The data is provided "as is", and no warranty express, implied or otherwise is offered as to the data's accuracy. The developers do not imply any opinion concerning the legal status of any country, territory or area, or concerning the delimitation of its frontiers or boundaries. The data can be used for educational, scientific or research purposes but should not be used for legal, commercial/economical (exploration of natural resources) or navigational purposes.</SPAN></P><P><SPAN STYLE="font-size:10pt">Anyone can download this data but it is for the sole use of the organisation or individual downloading the data. The geodata may not be redistributed without the permission of the Flanders Marine Institute (VLIZ). The geodata may be used in a Value-Added Software Application (like webservices), on condition that the Flanders Marine Institute is acknowledged as the source of the data. Redistribution rights are granted for hard-copy renditions or static, electronic map images (e.g. jpeg, gif, etc.) that are plotted, printed or publicly displayed with reference to the Flanders Marine Institute. For redistribution rights of derived products, please contact us. You can contact us at info@marineregions.org</SPAN></P></DIV></DIV></DIV></DIV></useLimit></Consts></resConst><placeKeys xmlns=""><keyword>World</keyword></placeKeys><dataChar><CharSetCd value="004"/></dataChar><resMaint xmlns=""><maintFreq><MaintFreqCd value="008"/></maintFreq></resMaint><idPoC xmlns=""><rpIndName>Nathalie De Hauwere</rpIndName><rpOrgName>Flanders Marine Institute, VLIZ</rpOrgName><rpPosName>Scientific Assistant, GIS</rpPosName><role><RoleCd value="007"/></role><rpCntInfo xmlns=""><cntAddress addressType=""><eMailAdd>info(a)marineregions.org</eMailAdd></cntAddress></rpCntInfo><displayName>Nathalie De Hauwere</displayName><displayName>Nathalie De Hauwere</displayName></idPoC><resConst><LegConsts xmlns=""><accessConsts><RestrictCd value="006"/></accessConsts><useConsts><RestrictCd value="006"/></useConsts></LegConsts></resConst><dataExt xmlns=""><geoEle xmlns=""><GeoBndBox esriExtentType="search"><exTypeCode Sync="TRUE">1</exTypeCode><westBL Sync="TRUE">-180.000000</westBL><eastBL Sync="TRUE">180.000000</eastBL><northBL Sync="TRUE">87.023944</northBL><southBL Sync="TRUE">-85.470291</southBL></GeoBndBox></geoEle></dataExt><tpCat><TopicCatCd value="003"/></tpCat><tpCat><TopicCatCd value="014"/></tpCat></dataIdInfo><metainfo><langmeta Sync="TRUE">nl</langmeta><metstdn Sync="TRUE">FGDC Content Standards for Digital Geospatial Metadata</metstdn><metstdv Sync="TRUE">FGDC-STD-001-1998</metstdv><mettc Sync="TRUE">local time</mettc><metc><cntinfo><cntorgp><cntper>REQUIRED: The person responsible for the metadata information.</cntper><cntorg>REQUIRED: The organization responsible for the metadata information.</cntorg></cntorgp><cntaddr><addrtype>REQUIRED: The mailing and/or physical address for the organization or individual.</addrtype><city>REQUIRED: The city of the address.</city><state>REQUIRED: The state or province of the address.</state><postal>REQUIRED: The ZIP or other postal code of the address.</postal></cntaddr><cntvoice>REQUIRED: The telephone number by which individuals can speak to the organization or individual.</cntvoice></cntinfo></metc><metd Sync="TRUE">20110128</metd></metainfo><mdLang><languageCode Sync="FALSE" value="eng"/><countryCode value="BEL" Sync="TRUE"/></mdLang><mdStanName Sync="TRUE">ISO 19115 Geographic Information - Metadata</mdStanName><mdStanVer Sync="TRUE">DIS_ESRI1.0</mdStanVer><mdChar><CharSetCd Sync="TRUE" value="004"/></mdChar><mdHrLv><ScopeCd Sync="TRUE" value="005"/></mdHrLv><mdHrLvName Sync="TRUE">dataset</mdHrLvName><distinfo><resdesc Sync="TRUE">Downloadable Data</resdesc><stdorder><digform><digtinfo><transize Sync="TRUE">1.071</transize><dssize Sync="TRUE">1.071</dssize></digtinfo></digform></stdorder></distinfo><spdoinfo><direct Sync="TRUE">Vector</direct><ptvctinf><esriterm Name="World_EEZ_v8_2014"><efeatyp Sync="TRUE">Simple</efeatyp><efeageom code="4" Sync="TRUE"></efeageom><esritopo Sync="TRUE">FALSE</esritopo><efeacnt Sync="TRUE">249</efeacnt><spindex Sync="TRUE">FALSE</spindex><linrefer Sync="TRUE">FALSE</linrefer></esriterm></ptvctinf></spdoinfo><spref><horizsys><cordsysn><geogcsn Sync="TRUE">GCS_WGS_1984</geogcsn></cordsysn><geograph><geogunit Sync="TRUE">Decimal degrees</geogunit><latres Sync="TRUE">0.000000</latres><longres Sync="TRUE">0.000000</longres></geograph><geodetic><horizdn Sync="TRUE">D_WGS_1984</horizdn><ellips Sync="TRUE">WGS_1984</ellips><semiaxis Sync="TRUE">6378137.000000</semiaxis><denflat Sync="TRUE">298.257224</denflat></geodetic></horizsys></spref><refSysInfo><RefSystem dimension=""><refSysID xmlns=""><identCode Sync="TRUE" code="eez_boundaries" value="4326">GCS_WGS_1984</identCode><idVersion>8</idVersion><idCodeSpace Sync="TRUE">EPSG</idCodeSpace><identAuth xmlns=""><resTitle>WGS 84</resTitle><date><reviseDate>2014-02-28T00:00:00</reviseDate></date><resEd>8</resEd><resEdDate>20140228</resEdDate></identAuth></refSysID></RefSystem></refSysInfo><mdDateSt Sync="TRUE">20140227</mdDateSt><Binary><Thumbnail><Data EsriPropertyType="PictureX">/9j/4AAQSkZJRgABAQEAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
-HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
-MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCACFAMgDASIA
-AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
-AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
-ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
-p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
-AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
-BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
-U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
-uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii
-gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooqoNQQ7j5
-Uu1ZDGWAHUHHTOamU4x+J2At0VSOpRKxVkYFeoLoCPr81NbVoOEU4kYhVUsrcn2BJ9T+Bqfaw3uO
-zL9FYl9qiwR/JcCeVjhYlkCDOM9QCR+uawY9a1K4gkkGmxFQCA5V32H1LEdODwcfXPFZrEcyvCLY
-WOz+1W//AD3i/wC+xR9rtv8An4i/77FedXGteIbm6aJZUVedpj/dowJ4O48jgHqe2fejSr3VJZFF
-xqUwJQsj5aRGGcdFxtPU/MeeOO9Uqk7XaX9fILHopu7YdbiIf8DFH2u2/wCfiL/vsVy2nQyzQPLe
-XEt8r5KrFdHa645wBwT143dq2rWHTNUtxcW080sRJB23Mo57gjd+hojUc/hsFi/9rtv+fiL/AL7F
-H2u2/wCfiL/vsVl6rZ6RZ2pursTRImFBimkU5J44U8mqGhGdYJbu7muPJklP2VJZt+U7H1zxnn9K
-mtVlSjd2BK50qTwyNtSVGPorA1JWNLJJI7C4hIhP3V8wc47/AOT6Vm36XO4yw3cFtbEEgyWqqQ3U
-A7yMjH41nHFuyut/MfKdXRXLwXELxokbxXU4bJ8pY2HI6sFOcdOnt1q1cxRrbtdTF7dFH+rijRsj
-oDgpkdc+3fHNJ4y32Q5Teork9NYFROEEsTkfLPMjSAHHRUQ889CasHU7JpF+zWk0+W2lVgCjOOxb
-Aznjr1zTWJk3ZQuHKdJRXPT6ZqjzCW2MEaNgmKXYwX2wEz9fm69PeWIXkUywzWCyfMQbi3XywOM9
-Cc9vXHvWrqVEr8grI3KKyzfPDIsJMoBHDyQMfwyMc/Xr71U/tS+8yVfsd5tUZWQKCG/JKft12f3B
-Y36KzftSgLuvtrN0UsmT+lNh1ZQjGVTwcD54y344b+VTHEwk7beoWZqUUUV0CCudbT2ubuaQXDx7
-JmYpHIQr/MSNxH4cdsd+/RVRbS4GkZ2ZiWYscqp6nPXGf/1VhXpynG0Rp2MXS759MtJbSO2lu5lO
-5fJfdCM4G0MfujqenY1pNqbG3LXFpHIpyQsUm4Pj0LBVJ9s1fFlbgAGPeB08wl8fnmpZI1ljKOMq
-ffFUo1LasNCnpl1p+o2SS2IjMS5XaFAKHHKkdjzSy6PpkzbpLC2Zt27JiHJxjn149azzYLBrkMsc
-zRPkByuAJVIc/OOh5HBwDya3aqEuZaiMW+0e0UKLezihRwVleG3UnaOQMAfrg9OlZEehL58NjDeb
-ot5kBMQLJgcAt19PTt04FdjVSc2VlN9tlCRyyYi3gZZ/RQByTx+lTKneSlfQdznorWezu7m51ACK
-S5P7v59sQkBPUgnluMEjI5HHe3ax3NrHcpZxmIXMpkfeCXhdsbsYBDeoyR+IqjJb6lqTzF7mUQMm
-0qCzEnGcYQBVzkAjJI55710Om201vGBM5YhAuTgE4zyQOBxx1rFRvV5oN6j6EJ00T/O6B+uFmYls
-f72Tgd8VQNh/ZZVmkJBRtzSSFxtHUkbcZ5HYe+a2pLxY5SnluQpwWG0AHGccn05qnrBjm00sNxDq
-6ZC5wNpJyp4/h74pVKdNxdnqvME2Ytvqu+ylubVEDRfKFl+UNJg5Prjg8fyxk0jrdvcRJcaar3Go
-zuUd5IwJUUEAKo5C5yMH8+avx6fY6PNJNe27SZYvFEXDhCcF2A4AHyr71atfFdu0sSXFs1tBLHvj
-k3BgMdQ2OnbHXqOh4q6cIxd76/ihNmgbKTULGNLvzYGUDaVlDOeP4vl25/A0+DRdPg5+zrIxABaY
-mQnjH8Wew7VRm1m+ufMfSrQTW68CV0bDHuQOCcHjA7g9Kl1HWZrKKyl8gok7AOJFyydONoPXr61v
-dbiNI2dsYjGIIwhO7CqB83rx39+tFtZW1mpFvCkefvEDluSeT1PJJ59anoqgCiikZlRGd2CqoyWJ
-wAKAFqgNWtnErQt5qRbgzqy7QR179qZLrthHGWSbzWDbSkf3gfxxjoaxJpL2fWJZY7aMo0YhkVge
-FYnAIHJPUnjvWNapyq0XqNI1bvUrxQhgs4y29VxIw+UnvweTg9B2yc9qSa4mlZFilhgy25/LAkVs
-/wB5iAB/M1PBYM8vnzDyyQAFU849P9kewP1PapjpsPzhWdQ/3gMHPOepGepPfvWa9vJJ7D0LlFFF
-dRIVQF5KJmRmh3byBG2UOM8Edc/lV+qt7a/a4whCsvOUfOD78en+fWs6qk17j1GhVvY9wWRXiY44
-Ycc8DkZA/GrNZSWlnc7Y45mLBPmyPvKRgkZ6ZyenHNatFNya963yBlPULbzot6j50578jOfUcjGR
-3yKpWOo3Ed99ivBvRkVoLlRxIOBhj0zkj65HrWzWTcQMpWzLKYzjHy4Jyf1x1JGD34qKnNGSlH5g
-ie5vZ452iht9wXGZDkjPXoBnpWHNrcVzqcVs80YaMbwVYLt4IJwc4bnGG4/MGruo2d2IJGK+dlNu
-Vk2k+npkgnIzu/HNc42nw6hefYZ7Vw0SYjjEZ3Egc85AxjjrjjjrWc3Ntp7dv63Gjs7RMyAxy/u1
-zhdzZxyApU9Mf0q9XCGz1PTJbS8eGVNzN5vzB1j5+TBJzk9CSQMcc8Cu3hnjnUtG2QDg8EEfnW1N
-9HoxMSS3jlJJXDHjcOD/APX/ABrCe2kmuhbRxhyJHZpCSNi5I5PJPDdOhI7c1uXUbSRYXnByV/vD
-/PP4Vj2DtZaxPDPF5ayqoSTcMFvQj3yfbORUVIKU0mvn+gIv2+iaba8xWUO7aE3MuTj05qq3huzW
-SUwARLM2ZFC5B9QO3cjkHGeK12dFZVZlBboCetOrZxUlZiOYuNLh0a5tL2SR3tklAkPQqW4Vmx1G
-Tz+HpWtqs8luLd/sBvIC+JQi73T0YL396u3EEdzbyQSjKSKVYe1YYm1fT7VLV4xIFYot1uGWXkg7
-e2Bwep44BpO0F5AX4dcsZVJZ3hZcB1mjZdhJwAxIwDnjrWiCCAQcg1lfYkWweSZd0o3MrMMlevOO
-vIJJHfOPaqzXaoI7CFyqjd8yDgLkY5z0AJ4HPy+lR7WztIdjcSSOUExurgHBKnOD6Uya5gtkLzTJ
-GvqzY7ZrnJLz+w5WMaAxmQqUJ27ssQCcA45P6Y7VDM9o11c6iG2RvEHJlbupyRgHoccE++MjFS8Q
-lG/ULEFnYrquHheWGJZSSceUxxyAR1J2lefXJ54rcsEtrZbYrhQzEfO5JJ5Gck9ev4se9ZWkXgae
-6tLq33OjmPC4JcNuYY9CMkHsMjnitTZLIkssMYb7RGAGLjOcHluPp0z3rklLlak312/r7yjTgukn
-UsAyAKGy2Oh79fai4klFvvtlWRsjHcEZ5/Sqk8g2GIRpbhjuMhGVLZyPT9f1qa0zDM0JLMrDepbH
-UcHp9R+tdUMRFyUL38ybdS5RRRXSIKworyRJ7pyXVopJFIKswcZypJ6AY4//AFYrdrmZLbzb4yLl
-mW5kUjbnIOc5wM4HHU9cVzYltJco0W1DRzP5ZyisXQbDyQeFGRwcAjqePyrSa+hUj7xGMlsYx19e
-ex/Ks9lLTW3mzss4G0puxhsE7sDr39RzVkW8IjMZVVaRcMQeW49TyetcaxMqbatuXy3NCiqsV5uU
-eZG4+bZv4wTnAPXPP9amknjjO1nG7rtHJ/LrXpRqRkrpmdivfQSTNEUUMq5yCMnOQcjkY6HntVLS
-oGS9lErAlBx6ltzbieB229z973FbAIYAggg8gjvWZfZW5We2dfPXCYbOCegGe/XkewPaonCKl7Qf
-kaZAYEEAg8EGssafeQ3cslvJAkTOCqKpQgYwfUHkDt3PStGCTzYI5CMF1DY9Mimz3MduPmyzHoiD
-LH8P69K0lZq7EUR589yqSOVlVgPlyAgGCT1wc5Uc469OoqzdiCZhDMhJ4wwA+XJwPz/H3qras9up
-dUDeZghhk+Z64/HJz75rRlhWQFgqCUAhHKglTWVNXi/1/rsNmTe6FDJAPKUvIp4yFyflIx2/z71a
-0Z86ckP70mA+UWk6tjv+RFWbaOWNW8w9TkDeWx+JqvpmQsqSHMwI3HH4fzDfz71UdJJpWuBeY7VJ
-wTgZwKw7eaW9lNxLjcrfKhUlYwMHk9Dzj3yM9sDUvbo2tvvABY8AH6Z/GuWtrJECOZf3ivtZVYqu
-w4GOOR97rxwDWdeTWkXqCOkkuDLp05yjNzHuU/Lk8A/qKbaW6STTSSRgOrhRtckYwD7dyajsJGcK
-PLkIkGJQ6kjIGOD0Pp1NaSIsahUUKo6BRgUU17S05dED0MHXtOhlmin3pHJvDbi+wjoDz6Hj6EDs
-TWdA8QtxFclCdptw0pKgEFv3mdu3ODng4HY811M9nHPJvdmx8uVGMNg5GeKpXUMcUiwRCTzZODIG
-O/GOADkdlJyfTuTSqQknzIaOUtru4jjWeK9sjOvyiHzQSRztA254wSMkjrnsK1kuI4Yg08gR+pii
-lKsrE8nHccjkk9e3bTh0OEztPKipuP8Aq0UDI5+83UnnPXHb6sOiiBpJgfN7bNuCy5JOT3bn9Mdz
-WfsZct7BcprfNdItvvbzigHlbgCR3+bOGOM9BxzxmrcMhQlzG5nUbyxxnHIwc84x/Q96Yy24AKyg
-KVBj4VSzZIwOmD2PfntVaJJVj2zMfO8tQizEM/U5wRznGPz54xXLB6qyKOnooor2DMKzNO2G7uji
-JJFkddqkbmG7OT+Y+nPrWnVG3tnNwZZQyBJGKLnOcluevTB6fnWc0+aNkMusqupV1DKeoIyKrixh
-yMjKKcrGQNoP5e5qzRVuKe6EQrawKRtTAHRcnA+g6USWyyS+ZvZTjB245/SpqKThFqzQCIqoioow
-qjAHtWRdRFJnkkMgYFpI0DDYSDgYHXPI/GtisPxBHNLbyJEryEiM+WuMsgfMgX3xj9KyxEU4ajW5
-fmuBY2ywRbZJ0jBSPkbgMA9M4+pqCziku5XurlRtY4VOGBA6Y46DJ+pOemKzo70Xk73It2UtKI3E
-0ZGxRnarZIx/ex6vj67LX3lrGJAiu+cb32AgHt/PFT7WMm77ILFyoJrho5BGiKzFd3zNtz9OD/ki
-mJdswO6B+DjK/wD18GpiIrmMEjcucg9CD0+oPWtOdVIv2ctQtbcdG6yIHXOD61Rmjlt74zwqzK4+
-Zecd+OB64PTu3rU7zrAfKSMYRQSMgAD2/L6e9To4kjV16MARmndT92+qAoiCa7uRJcxhEX7q5z/n
-PfOOmMdTVqO1hjYFExj7oycL9B0H4UXETyKAuCB1UnAP+fSoGtJWC7mWTAxhyTt5J4POeoH4VLTi
-9I3+4C7VZLrfME2YUsyA7ucjOePwNQ3pngtl2szBVwzD14wTzkD8frS2MxkkkDKjMB/rVIJPsxAA
-z/Sm53mo7BYvVn38UguIZ4o9xXHqcEH2BP3S46d60KKuUeZWEZ73N6wLJCFQDJyjMfwBwT9Mfjni
-mRauiQk3iiOTeUAjy6n05xwfY4rTqrc2EV1IHcsCMHgA8jODyDzyahxmtYu/qMorZveQuHjhUFmD
-S5yRkksACOmSR19aotcJHKbZGUGbdJtRQAwU4BGOQDgEHkHB6VozyokAjWItbRyESMx+9jOTjv8A
-N+fPBqGG32vKkSNOXj5m3AnPQgngY6cD/CuRtRkow1fX9Sjbooor0CApsciSglDnDFT7EdadWcLf
-DSFrPcWdjuwnOScd/TFZVajgrpXGlcvs6ou52Cj1JxUf2u37TIx9FbJ/IVjXVtdq4mtCyMrZEYg2
-8dwTtOfwx9an06AINlxHcyuzZzLuKjj/AGiR+lTCpOf2bev/AAwNI0ftcX/TT/v03+FBu4wDgSE+
-mwj9TgVDLpGmTEGXTrSQjpvgU/0p402yUYS1iQYwQihQR6EDqPrVtVOjX3f8ENCBdWil3eS0DbTg
-gzrkflmotR1W3s7bfetBFH1yxL/iABz9fersOn2dvEsUNrCka9FCDAqhd6G1xeLNHdiJF5EYhXGf
-qMH881DhU/m/ALox1la/v4fsoSKGRmC3MyiVpWA5AB6YH5/StyKzVyYgsarGBklcmTjqRwPX1pkW
-n3sU8TE2siRjA37i44xweg/LpQ9jqMsitLLbEBvuqvb0yQfz9q5nRlz/AA3Xmyr6FjyLW2+SOYxs
-AAVQAk/hg+tKbuG0i6EKT9+Uhdx/n+lRpp9yJF33S+SDny0QqR7bgR/KrUNjbW8hkihUSHOXPLcn
-JGT78/WuiMJ35kkvxZNyr9vWVgfs6SMp4wGYr/45xUv22Xn/AEZuPZ//AIirtFaKEv5vyAom9nxk
-WrEdScNwPpt5+gpC1/Jjamz6lVH/ALNV+ijkfVsLmbPdXVlbtLMuVUgEhQ3JOBjlfUdqcst1OA0Z
-fkcHYI1/Hdk/kPStCih03/MwuZ5TU+zx9f8AnqOn/funCPUO8i9P+eg/+Iq9RR7Nd397C5RMeoZ4
-kXHr5g/+IpANQRRuw+cA7GUke4yoFX6KPZru/vC5ltuDmSWGVXByGECsxP1UEfyqxDehgxYh1U4Z
-0/hI6hhnIIpNRtZ7uERRSIqE/OCOT3GDyOvYg5qJIZktPs/kuSFK78oAffjH8hWE1VpyXJdjVnua
-VFFFdZIUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA
-FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH//2Q==</Data></Thumbnail></Binary><mdContact xmlns=""><rpIndName>Nathalie De Hauwere</rpIndName><rpOrgName>Flanders Marine Institute, VLIZ</rpOrgName><rpPosName>Scientific Assistant, GIS</rpPosName><role><RoleCd value="007"/></role><rpCntInfo xmlns=""><cntAddress addressType=""><eMailAdd>info(a)marineregions.org</eMailAdd></cntAddress></rpCntInfo><displayName>Nathalie De Hauwere</displayName></mdContact><mdMaint xmlns=""><maintFreq><MaintFreqCd value="008"/></maintFreq><maintCont xmlns=""><rpIndName>Nathalie De Hauwere</rpIndName><rpOrgName>Flanders Marine Institute, VLIZ</rpOrgName><rpPosName>Scientific Assistant, GIS</rpPosName><role><RoleCd value="007"/></role><rpCntInfo xmlns=""><cntAddress addressType=""><eMailAdd>info(a)marineregions.org</eMailAdd></cntAddress></rpCntInfo><displayName>Nathalie De Hauwere</displayName><displayName>Nathalie De Hauwere</displayName></maintCont></mdMaint><mdConst><Consts xmlns=""><useLimit><DIV STYLE="text-align:Left;"><DIV><P><SPAN>The Flanders Marine Institute manages Marine Regions, but is aware that it is not complete and undoubtedly contains errors. The Flanders Marine Institute cannot be made responsible for any errors or misuse of data contained in this register. Comments from our users are more than welcome, so if you come across any error or incomplete information or you are willing to contribute to this initiative please contact us.</SPAN></P><P><SPAN>The data is provided "as is", and no warranty express, implied or otherwise is offered as to the data's accuracy. The developers do not imply any opinion concerning the legal status of any country, territory or area, or concerning the delimitation of its frontiers or boundaries. The data can be used for educational, scientific or research purposes but should not be used for legal, commercial/economical (exploration of natural resources) or navigational purposes.</SPAN></P><P><SPAN>Anyone can download this data but it is for the sole use of the organisation or individual downloading the data. The geodata may not be redistributed without the permission of the Flanders Marine Institute (VLIZ). The geodata may be used in a Value-Added Software Application (like webservices), on condition that the Flanders Marine Institute is acknowledged as the source of the data. Redistribution rights are granted for hard-copy renditions or static, electronic map images (e.g. jpeg, gif, etc.) that are plotted, printed or publicly displayed with reference to the Flanders Marine Institute. For redistribution rights of derived products, please contact us. You can contact us at info@marineregions.org</SPAN></P></DIV></DIV></useLimit></Consts></mdConst><mdConst><LegConsts xmlns=""><accessConsts><RestrictCd value="006"/></accessConsts><useConsts><RestrictCd value="006"/></useConsts></LegConsts></mdConst><mdFileID>http://geo.vliz.be/geoserver/MarineRegions/wms?service=WMS&version=1.1.…</mdFileID><mdParentID>Marine Regions</mdParentID><dataSetURI>http://geo.vliz.be/geoserver/MarineRegions/wms?service=WMS&version=1.1.…</dataSetURI><dqInfo xmlns=""><dqScope><scpLvl><ScopeCd value="005"/></scpLvl></dqScope><dataLineage><statement>Updates for Maritime Boundaries (EEZ) version 8
-
-
-- Singapore - Malaysia
-
-- New boundary between Colombia and Nicaragua
-
-- Malta (Continental Shelf)
-
-- Guyana - Suriname
-
-
-- Norway: create seperate polygon for the Fisheries Protection Zone around
-
-- Boundary Morocco - Mauritania
-
-- Maritime Dispute Chile-Peru
-
-- Split Guadeloupe and Martinique
-
-- Split US Virgin Islands and Puerto Rico
-
-- ISO Codes
-
-- Error in the western boundary of the Wallis & Futuna EEZ
-
-- Boundary Kenya - Somalia
-
-- Boundary UK - France, Celtic Sea
-
-- Boundary China/North Korea is disputed
-
-- Change terminology: 'disputed' in 'median line - disputed'
-
-- Boundary Tuvalu-Kiribati: agreed boundary:
-
-- Boundary New Caledonia (with Australia/Norfolk Island): continental shelf instead of EEZ
-
-- Congo (Kinshasa) has claimed 200 NM / territorial sea / baselines / and continental shelf
-
-- Include metadata in downloadfiles
-
-- Update boundary Palmyra Atoll, based on http://www.nauticalcharts.noaa.gov/csdl/mbound.htm
-
-- Vanuatu EEZ boundary
-
-- Trinidad & Tobago + Barbados + Venezuela</statement></dataLineage></dqInfo><eainfo><detailed Name="World_EEZ_v8_2014" xmlns=""><enttyp><enttypl Sync="TRUE">World_EEZ_v8_2014</enttypl><enttypt Sync="TRUE">Feature Class</enttypt><enttypc Sync="TRUE">249</enttypc></enttyp><attr xmlns=""><attrlabl Sync="TRUE">FID</attrlabl><attalias Sync="TRUE">FID</attalias><attrtype Sync="TRUE">OID</attrtype><attwidth Sync="TRUE">4</attwidth><atprecis Sync="TRUE">0</atprecis><attscale Sync="TRUE">0</attscale><attrdef Sync="TRUE">Internal feature number.</attrdef><attrdefs Sync="TRUE">Esri</attrdefs><attrdomv><udom Sync="TRUE">Sequential unique whole numbers that are automatically generated.</udom></attrdomv></attr><attr xmlns=""><attrlabl Sync="TRUE">Shape</attrlabl><attalias Sync="TRUE">Shape</attalias><attrtype Sync="TRUE">Geometry</attrtype><attwidth Sync="TRUE">0</attwidth><atprecis Sync="TRUE">0</atprecis><attscale Sync="TRUE">0</attscale><attrdef Sync="TRUE">Feature geometry.</attrdef><attrdefs Sync="TRUE">Esri</attrdefs><attrdomv><udom Sync="TRUE">Coordinates defining the features.</udom></attrdomv></attr><attr><attrlabl Sync="TRUE">OBJECTID</attrlabl><attalias Sync="TRUE">OBJECTID</attalias><attrtype Sync="TRUE">Integer</attrtype><attwidth Sync="TRUE">9</attwidth><atprecis Sync="TRUE">9</atprecis><attscale Sync="TRUE">0</attscale></attr><attr xmlns=""><attrlabl Sync="TRUE">ID</attrlabl><attalias Sync="TRUE">ID</attalias><attrtype Sync="TRUE">SmallInteger</attrtype><attwidth Sync="TRUE">4</attwidth><atprecis Sync="TRUE">4</atprecis><attscale Sync="TRUE">0</attscale></attr><attr xmlns=""><attrlabl Sync="TRUE">EEZ</attrlabl><attalias Sync="TRUE">EEZ</attalias><attrtype Sync="TRUE">String</attrtype><attwidth Sync="TRUE">200</attwidth><atprecis Sync="TRUE">0</atprecis><attscale Sync="TRUE">0</attscale></attr><attr xmlns=""><attrlabl Sync="TRUE">Country</attrlabl><attalias Sync="TRUE">Country</attalias><attrtype Sync="TRUE">String</attrtype><attwidth Sync="TRUE">100</attwidth><atprecis Sync="TRUE">0</atprecis><attscale Sync="TRUE">0</attscale></attr><attr xmlns=""><attrlabl Sync="TRUE">Sovereign</attrlabl><attalias Sync="TRUE">Sovereign</attalias><attrtype Sync="TRUE">String</attrtype><attwidth Sync="TRUE">100</attwidth><atprecis Sync="TRUE">0</atprecis><attscale Sync="TRUE">0</attscale></attr><attr xmlns=""><attrlabl Sync="TRUE">Remarks</attrlabl><attalias Sync="TRUE">Remarks</attalias><attrtype Sync="TRUE">String</attrtype><attwidth Sync="TRUE">150</attwidth><atprecis Sync="TRUE">0</atprecis><attscale Sync="TRUE">0</attscale></attr><attr xmlns=""><attrlabl Sync="TRUE">Sov_ID</attrlabl><attalias Sync="TRUE">Sov_ID</attalias><attrtype Sync="TRUE">SmallInteger</attrtype><attwidth Sync="TRUE">4</attwidth><atprecis Sync="TRUE">4</atprecis><attscale Sync="TRUE">0</attscale></attr><attr xmlns=""><attrlabl Sync="TRUE">EEZ_ID</attrlabl><attalias Sync="TRUE">EEZ_ID</attalias><attrtype Sync="TRUE">Integer</attrtype><attwidth Sync="TRUE">9</attwidth><atprecis Sync="TRUE">9</atprecis><attscale Sync="TRUE">0</attscale></attr><attr xmlns=""><attrlabl Sync="TRUE">ISO_3digit</attrlabl><attalias Sync="TRUE">ISO_3digit</attalias><attrtype Sync="TRUE">String</attrtype><attwidth Sync="TRUE">5</attwidth><atprecis Sync="TRUE">0</atprecis><attscale Sync="TRUE">0</attscale></attr><attr xmlns=""><attrlabl Sync="TRUE">MRGID</attrlabl><attalias Sync="TRUE">MRGID</attalias><attrtype Sync="TRUE">Double</attrtype><attwidth Sync="TRUE">19</attwidth><atprecis Sync="TRUE">0</atprecis><attscale Sync="TRUE">0</attscale></attr><attr xmlns=""><attrlabl Sync="TRUE">Date_chang</attrlabl><attalias Sync="TRUE">Date_chang</attalias><attrtype Sync="TRUE">String</attrtype><attwidth Sync="TRUE">50</attwidth><atprecis Sync="TRUE">0</atprecis><attscale Sync="TRUE">0</attscale></attr><attr xmlns=""><attrlabl Sync="TRUE">Area_m2</attrlabl><attalias Sync="TRUE">Area_m2</attalias><attrtype Sync="TRUE">Double</attrtype><attwidth Sync="TRUE">17</attwidth><atprecis Sync="TRUE">16</atprecis><attscale Sync="TRUE">12</attscale></attr><attr xmlns=""><attrlabl Sync="TRUE">Longitude</attrlabl><attalias Sync="TRUE">Longitude</attalias><attrtype Sync="TRUE">Double</attrtype><attwidth Sync="TRUE">17</attwidth><atprecis Sync="TRUE">16</atprecis><attscale Sync="TRUE">12</attscale></attr><attr xmlns=""><attrlabl Sync="TRUE">Latitude</attrlabl><attalias Sync="TRUE">Latitude</attalias><attrtype Sync="TRUE">Double</attrtype><attwidth Sync="TRUE">17</attwidth><atprecis Sync="TRUE">16</atprecis><attscale Sync="TRUE">12</attscale></attr><attr><attrlabl Sync="TRUE">MRGID_EEZ</attrlabl><attalias Sync="TRUE">MRGID_EEZ</attalias><attrtype Sync="TRUE">Integer</attrtype><attwidth Sync="TRUE">9</attwidth><atprecis Sync="TRUE">9</atprecis><attscale Sync="TRUE">0</attscale></attr></detailed></eainfo><spatRepInfo><VectSpatRep><geometObjs Name="World_EEZ_v8_2014"><geoObjTyp><GeoObjTypCd value="002" Sync="TRUE"></GeoObjTypCd></geoObjTyp><geoObjCnt Sync="TRUE">249</geoObjCnt></geometObjs><topLvl><TopoLevCd value="001" Sync="TRUE"></TopoLevCd></topLvl></VectSpatRep></spatRepInfo></metadata>
=====================================
client/datasource/editor/common/src/main/map/shapeFiles/zee/World_EEZ_v8_2014.shx deleted
=====================================
Binary files a/client/datasource/editor/common/src/main/map/shapeFiles/zee/World_EEZ_v8_2014.shx and /dev/null differ
=====================================
client/datasource/editor/common/src/main/map/shapeFiles/zee/eez_v11_lowres.cpg
=====================================
@@ -0,0 +1 @@
+UTF-8
\ No newline at end of file
=====================================
client/datasource/editor/common/src/main/map/shapeFiles/zee/eez_v11_lowres.dbf
=====================================
Binary files /dev/null and b/client/datasource/editor/common/src/main/map/shapeFiles/zee/eez_v11_lowres.dbf differ
=====================================
client/datasource/editor/common/src/main/map/shapeFiles/zee/eez_v11_lowres.gpkg
=====================================
Binary files /dev/null and b/client/datasource/editor/common/src/main/map/shapeFiles/zee/eez_v11_lowres.gpkg differ
=====================================
client/datasource/editor/common/src/main/map/shapeFiles/zee/World_EEZ_v8_2014.prj → client/datasource/editor/common/src/main/map/shapeFiles/zee/eez_v11_lowres.prj
=====================================
@@ -1 +1 @@
-GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]
\ No newline at end of file
+GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
\ No newline at end of file
=====================================
client/datasource/editor/common/src/main/map/shapeFiles/zee/eez_v11_lowres.qpj
=====================================
@@ -0,0 +1 @@
+GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]]
=====================================
client/datasource/editor/common/src/main/map/shapeFiles/zee/eez_v11_lowres.shp
=====================================
Binary files /dev/null and b/client/datasource/editor/common/src/main/map/shapeFiles/zee/eez_v11_lowres.shp differ
=====================================
client/datasource/editor/common/src/main/map/shapeFiles/zee/eez_v11_lowres.shx
=====================================
Binary files /dev/null and b/client/datasource/editor/common/src/main/map/shapeFiles/zee/eez_v11_lowres.shx differ
=====================================
client/datasource/editor/ll/src/main/i18n/getters/jaxx.getter
=====================================
@@ -30,26 +30,29 @@ observe.data.ll.common.GearUseFeatures.generalTab
observe.data.ll.common.GearUseFeatures.measurementsTab
observe.data.ll.common.GearUseFeatures.number
observe.data.ll.common.GearUseFeatures.usedInTrip
-observe.data.ll.common.Trip.associatedActivityAndFishingOperationCount
+observe.data.ll.common.Trip.associatedActivityCount
+observe.data.ll.common.Trip.associatedFishingOperationCount
observe.data.ll.common.Trip.availableData
observe.data.ll.common.Trip.ersId
observe.data.ll.common.Trip.generalComment
observe.data.ll.common.Trip.generalTab
-observe.data.ll.common.Trip.logbookActivityAndFishingOperationCount
+observe.data.ll.common.Trip.logbookActivityCount
observe.data.ll.common.Trip.logbookAvailability
observe.data.ll.common.Trip.logbookComment
observe.data.ll.common.Trip.logbookDataEntryOperator
observe.data.ll.common.Trip.logbookDataQuality
+observe.data.ll.common.Trip.logbookFishingOperationCount
observe.data.ll.common.Trip.logbookTab
observe.data.ll.common.Trip.mapTab
observe.data.ll.common.Trip.noOfCrewMembers
observe.data.ll.common.Trip.noOfDays
observe.data.ll.common.Trip.observationMethod
-observe.data.ll.common.Trip.observationsActivityAndFishingOperationCount
+observe.data.ll.common.Trip.observationsActivityCount
observe.data.ll.common.Trip.observationsAvailability
observe.data.ll.common.Trip.observationsComment
observe.data.ll.common.Trip.observationsDataEntryOperator
observe.data.ll.common.Trip.observationsDataQuality
+observe.data.ll.common.Trip.observationsFishingOperationCount
observe.data.ll.common.Trip.observationsTab
observe.data.ll.common.Trip.species
observe.data.ll.common.Trip.species.selected
=====================================
client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/common/TripUI.jaxx
=====================================
@@ -180,12 +180,19 @@
</cell>
</row>
- <!-- associatedActivityAndFishingOperationCount -->
+ <!-- associatedActivityCount -->
+ <!-- associatedFishingOperationCount -->
<row>
<cell columns='2'>
- <JPanel id='associatedActivityAndFishingOperationCountPanel' layout="{new BorderLayout()}" beanScope="model">
- <JLabel id='associatedActivityAndFishingOperationCountLabel' styleClass="italic" constraints='BorderLayout.WEST'/>
- <JLabel id='associatedActivityAndFishingOperationCount' styleClass="skipI18n" constraints='BorderLayout.CENTER'/>
+ <JPanel id='associatedActivityAndFishingOperationCountPanel' layout="{new GridLayout(1, 0)}" beanScope="model">
+ <JPanel id='associatedActivityPanel' layout="{new BorderLayout()}">
+ <JLabel id='associatedActivityCountLabel' styleClass="italic" constraints='BorderLayout.WEST'/>
+ <JLabel id='associatedActivityCount' styleClass="skipI18n" constraints='BorderLayout.CENTER'/>
+ </JPanel>
+ <JPanel id='associatedFishingOperationCountPanel' layout="{new BorderLayout()}">
+ <JLabel id='associatedFishingOperationCountLabel' styleClass="italic" constraints='BorderLayout.WEST'/>
+ <JLabel id='associatedFishingOperationCount' styleClass="skipI18n" constraints='BorderLayout.CENTER'/>
+ </JPanel>
</JPanel>
</cell>
</row>
@@ -267,12 +274,20 @@
<JaxxComboBox id='observationsDataQuality' genericType='DataQualityReference' constructorParams='this'/>
</cell>
</row>
- <!-- observationsActivityAndFishingOperationCount -->
+ <!-- observationsActivityCount -->
+ <!-- observationsFishingOperationCount -->
<row>
<cell columns='2'>
- <JPanel id='observationsActivityAndFishingOperationCountPanel' layout="{new BorderLayout()}" beanScope="model">
- <JLabel id='observationsActivityAndFishingOperationCountLabel' styleClass="italic" constraints='BorderLayout.WEST'/>
- <JLabel id='observationsActivityAndFishingOperationCount' styleClass="skipI18n" constraints='BorderLayout.CENTER'/>
+ <JPanel id='observationsActivityAndFishingOperationCountPanel' layout="{new GridLayout(1, 0)}" beanScope="model">
+ <JPanel id='observationsActivityCountPanel' layout="{new BorderLayout()}">
+ <JLabel id='observationsActivityCountLabel' styleClass="italic" constraints='BorderLayout.WEST'/>
+ <JLabel id='observationsActivityCount' styleClass="skipI18n" constraints='BorderLayout.CENTER'/>
+ </JPanel>
+ <JPanel id='observationsFishingOperationCountPanel' layout="{new BorderLayout()}">
+ <JLabel id='observationsFishingOperationCountLabel' styleClass="italic" constraints='BorderLayout.WEST'/>
+ <JLabel id='observationsFishingOperationCount' styleClass="skipI18n" constraints='BorderLayout.CENTER'/>
+ </JPanel>
+
</JPanel>
</cell>
</row>
@@ -309,12 +324,20 @@
<JaxxComboBox id='logbookDataQuality' genericType='DataQualityReference' constructorParams='this'/>
</cell>
</row>
- <!-- logbookActivityAndFishingOperationCount -->
+ <!-- logbookActivityCount -->
+ <!-- logbookFishingOperationCount -->
<row>
<cell columns='2' weightx="1">
- <JPanel id='logbookActivityAndFishingOperationCountPanel' layout="{new BorderLayout()}" beanScope="model">
- <JLabel id='logbookActivityAndFishingOperationCountLabel' styleClass="italic" constraints='BorderLayout.WEST'/>
- <JLabel id='logbookActivityAndFishingOperationCount' styleClass="skipI18n" constraints='BorderLayout.CENTER'/>
+ <JPanel id='logbookActivityAndFishingOperationCountPanel' layout="{new GridLayout(1, 0)}" beanScope="model">
+ <JPanel id='logbookActivityCountPanel' layout="{new BorderLayout()}">
+ <JLabel id='logbookActivityCountLabel' styleClass="italic" constraints='BorderLayout.WEST'/>
+ <JLabel id='logbookActivityCount' styleClass="skipI18n" constraints='BorderLayout.CENTER'/>
+ </JPanel>
+ <JPanel id='logbookFishingOperationCountPanel' layout="{new BorderLayout()}">
+ <JLabel id='logbookFishingOperationCountLabel' styleClass="italic" constraints='BorderLayout.WEST'/>
+ <JLabel id='logbookFishingOperationCount' styleClass="skipI18n" constraints='BorderLayout.CENTER'/>
+ </JPanel>
+
</JPanel>
</cell>
</row>
=====================================
client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/common/TripUI.jcss
=====================================
@@ -20,19 +20,34 @@
* #L%
*/
-#associatedActivityAndFishingOperationCount {
+#associatedActivityCount {
font-weight:bold;
- text:{" " + bean.getAssociatedActivityAndFishingOperationCount()};
+ text:{" " + bean.getAssociatedActivityCount()};
}
-#observationsActivityAndFishingOperationCount {
+#associatedFishingOperationCount {
font-weight:bold;
- text:{" " + bean.getObservationsActivityAndFishingOperationCount()};
+ text:{" " + bean.getAssociatedFishingOperationCount()};
}
-#logbookActivityAndFishingOperationCount {
+#observationsActivityCount {
font-weight:bold;
- text:{" " + bean.getLogbookActivityAndFishingOperationCount()};
+ text:{" " + bean.getObservationsActivityCount()};
+}
+
+#observationsFishingOperationCount {
+ font-weight:bold;
+ text:{" " + bean.getObservationsFishingOperationCount()};
+}
+
+#logbookActivityCount {
+ font-weight:bold;
+ text:{" " + bean.getLogbookActivityCount()};
+}
+
+#logbookFishingOperationCount {
+ font-weight:bold;
+ text:{" " + bean.getLogbookFishingOperationCount()};
}
#startDate {
=====================================
client/datasource/editor/ll/src/main/resources/map/ll-style.xml
=====================================
@@ -17,10 +17,10 @@
<http://www.gnu.org/licenses/gpl-3.0.html>.
#L%
-->
-<StyledLayerDescriptor version="1.0.0"
- xmlns="http://www.opengis.net/sld"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<StyledLayerDescriptor xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ogc="http://www.opengis.net/ogc"
+ version="1.0.0"
+ xmlns="http://www.opengis.net/sld"
xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd
http://www.opengis.net/ogc http://schemas.opengis.net/filter/1.0.0/filter.xsd">
@@ -117,7 +117,7 @@
</ogc:Filter>
<LineSymbolizer>
<Stroke>
- <CssParameter name="stroke">#00FF00</CssParameter>
+ <CssParameter name="stroke">${mapLlStyleObservationsLineTripColor}</CssParameter>
<CssParameter name="stroke-width">2</CssParameter>
<CssParameter name="stroke-dasharray">5 7</CssParameter>
</Stroke>
@@ -135,7 +135,7 @@
</ogc:Filter>
<LineSymbolizer>
<Stroke>
- <CssParameter name="stroke">#00FF00</CssParameter>
+ <CssParameter name="stroke">${mapLlStyleObservationsLineSettingColor}</CssParameter>
<CssParameter name="stroke-width">2</CssParameter>
</Stroke>
</LineSymbolizer>
@@ -152,7 +152,7 @@
</ogc:Filter>
<LineSymbolizer>
<Stroke>
- <CssParameter name="stroke">#FFFF00</CssParameter>
+ <CssParameter name="stroke">${mapLlStyleObservationsLineHaulingColor}</CssParameter>
<CssParameter name="stroke-width">2</CssParameter>
</Stroke>
</LineSymbolizer>
@@ -176,7 +176,7 @@
</ogc:Filter>
<LineSymbolizer>
<Stroke>
- <CssParameter name="stroke">#222222</CssParameter>
+ <CssParameter name="stroke">${mapLlStyleLogbookLineTripColor}</CssParameter>
<CssParameter name="stroke-width">3</CssParameter>
<CssParameter name="stroke-dasharray">5 7</CssParameter>
</Stroke>
@@ -194,7 +194,7 @@
</ogc:Filter>
<LineSymbolizer>
<Stroke>
- <CssParameter name="stroke">#FF0000</CssParameter>
+ <CssParameter name="stroke">${mapLlStyleLogbookLineSettingColor}</CssParameter>
<CssParameter name="stroke-width">4</CssParameter>
</Stroke>
</LineSymbolizer>
@@ -211,7 +211,7 @@
</ogc:Filter>
<LineSymbolizer>
<Stroke>
- <CssParameter name="stroke">#00FFFF</CssParameter>
+ <CssParameter name="stroke">${mapLlStyleLogbookLineHaulingColor}</CssParameter>
<CssParameter name="stroke-width">4</CssParameter>
</Stroke>
</LineSymbolizer>
@@ -240,7 +240,7 @@
<Mark>
<WellKnownName>ttf://Serif#U+00B7</WellKnownName>
<Fill>
- <CssParameter name="fill">#00FF00</CssParameter>
+ <CssParameter name="fill">${mapLlStyleObservationsPointColor}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
@@ -267,7 +267,7 @@
<Mark>
<WellKnownName>Triangle</WellKnownName>
<Fill>
- <CssParameter name="fill">#00FF00</CssParameter>
+ <CssParameter name="fill">${mapLlStyleObservationsPointColor}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
@@ -293,7 +293,7 @@
<Mark>
<WellKnownName>Square</WellKnownName>
<Fill>
- <CssParameter name="fill">#00FF00</CssParameter>
+ <CssParameter name="fill">${mapLlStyleObservationsPointColor}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
@@ -319,7 +319,7 @@
<Mark>
<WellKnownName>Circle</WellKnownName>
<Fill>
- <CssParameter name="fill">#00FF00</CssParameter>
+ <CssParameter name="fill">${mapLlStyleObservationsPointColor}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
@@ -345,7 +345,7 @@
<Mark>
<WellKnownName>X</WellKnownName>
<Fill>
- <CssParameter name="fill">#00FF00</CssParameter>
+ <CssParameter name="fill">${mapLlStyleObservationsPointColor}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
@@ -371,7 +371,7 @@
<Mark>
<WellKnownName>Star</WellKnownName>
<Fill>
- <CssParameter name="fill">#00FF00</CssParameter>
+ <CssParameter name="fill">${mapLlStyleObservationsPointColor}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
@@ -418,7 +418,7 @@
<Mark>
<WellKnownName>ttf://Serif#U+0021</WellKnownName>
<Fill>
- <CssParameter name="fill">#00FF00</CssParameter>
+ <CssParameter name="fill">${mapLlStyleObservationsPointColor}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
@@ -454,7 +454,7 @@
<Mark>
<WellKnownName>ttf://Serif#U+00B7</WellKnownName>
<Fill>
- <CssParameter name="fill">#FF0000</CssParameter>
+ <CssParameter name="fill">${mapLlStyleLogbookPointColor}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
@@ -481,7 +481,7 @@
<Mark>
<WellKnownName>Triangle</WellKnownName>
<Fill>
- <CssParameter name="fill">#FF0000</CssParameter>
+ <CssParameter name="fill">${mapLlStyleLogbookPointColor}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
@@ -508,7 +508,7 @@
<Mark>
<WellKnownName>Square</WellKnownName>
<Fill>
- <CssParameter name="fill">#FF0000</CssParameter>
+ <CssParameter name="fill">${mapLlStyleLogbookPointColor}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
@@ -535,7 +535,7 @@
<Mark>
<WellKnownName>Circle</WellKnownName>
<Fill>
- <CssParameter name="fill">#FF0000</CssParameter>
+ <CssParameter name="fill">${mapLlStyleLogbookPointColor}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
@@ -562,7 +562,7 @@
<Mark>
<WellKnownName>X</WellKnownName>
<Fill>
- <CssParameter name="fill">#FF0000</CssParameter>
+ <CssParameter name="fill">${mapLlStyleLogbookPointColor}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
@@ -589,7 +589,7 @@
<Mark>
<WellKnownName>Star</WellKnownName>
<Fill>
- <CssParameter name="fill">#FF0000</CssParameter>
+ <CssParameter name="fill">${mapLlStyleLogbookPointColor}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
@@ -637,7 +637,7 @@
<Mark>
<WellKnownName>ttf://Serif#U+0021</WellKnownName>
<Fill>
- <CssParameter name="fill">#FF0000</CssParameter>
+ <CssParameter name="fill">${mapLlStyleLogbookPointColor}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
=====================================
client/datasource/editor/ps/src/main/resources/map/ps-style.xml
=====================================
@@ -17,10 +17,10 @@
<http://www.gnu.org/licenses/gpl-3.0.html>.
#L%
-->
-<StyledLayerDescriptor version="1.0.0"
- xmlns="http://www.opengis.net/sld"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<StyledLayerDescriptor xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ogc="http://www.opengis.net/ogc"
+ version="1.0.0"
+ xmlns="http://www.opengis.net/sld"
xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd
http://www.opengis.net/ogc http://schemas.opengis.net/filter/1.0.0/filter.xsd">
@@ -39,7 +39,7 @@
</ogc:Filter>
<LineSymbolizer>
<Stroke>
- <CssParameter name="stroke">#00FF00</CssParameter>
+ <CssParameter name="stroke">${mapPsStyleObservationsColor}</CssParameter>
<CssParameter name="stroke-width">2</CssParameter>
</Stroke>
</LineSymbolizer>
@@ -74,7 +74,7 @@
</ogc:Filter>
<LineSymbolizer>
<Stroke>
- <CssParameter name="stroke">#00FF00</CssParameter>
+ <CssParameter name="stroke">${mapPsStyleObservationsColor}</CssParameter>
<CssParameter name="stroke-width">2</CssParameter>
<CssParameter name="stroke-dasharray">6 4</CssParameter>
</Stroke>
@@ -129,7 +129,7 @@
<Mark>
<WellKnownName>ttf://Serif#U+00B7</WellKnownName>
<Fill>
- <CssParameter name="fill">#00FF00</CssParameter>
+ <CssParameter name="fill">${mapPsStyleObservationsColor}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
@@ -156,7 +156,7 @@
<Mark>
<WellKnownName>ttf://Serif#U+25C6</WellKnownName>
<Fill>
- <CssParameter name="fill">#00FF00</CssParameter>
+ <CssParameter name="fill">${mapPsStyleObservationsColor}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
@@ -183,7 +183,7 @@
<Mark>
<WellKnownName>ttf://Serif#U+002B</WellKnownName>
<Fill>
- <CssParameter name="fill">#00FF00</CssParameter>
+ <CssParameter name="fill">${mapPsStyleObservationsColor}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
@@ -210,7 +210,7 @@
<Mark>
<WellKnownName>ttf://Serif#U+0021</WellKnownName>
<Fill>
- <CssParameter name="fill">#00FF00</CssParameter>
+ <CssParameter name="fill">${mapPsStyleObservationsColor}</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#000000</CssParameter>
=====================================
client/i18n/src/main/i18n/translations/observe_en_GB.properties
=====================================
@@ -100,7 +100,16 @@ observe.config.map.layer7.description=File (shapefile) for layer 7 of map
observe.config.map.layer8.description=File (shapefile) for layer 8 of map
observe.config.map.layer9.description=File (shapefile) for layer 9 of map
observe.config.map.ll.style.description=[Longline] File of styles used in map
+observe.config.map.ll.style.logbook.line.hauling.color=[LL] Logbook Line hauling color
+observe.config.map.ll.style.logbook.line.setting.color=[LL] Logbook Line setting color
+observe.config.map.ll.style.logbook.line.trip.color=[LL] Logbook Line trip color
+observe.config.map.ll.style.logbook.point.color=[LL] Logbook point color
+observe.config.map.ll.style.observations.line.hauling.color=[LL] Observations Line hauling color
+observe.config.map.ll.style.observations.line.setting.color=[LL] Observations Line setting color
+observe.config.map.ll.style.observations.line.trip.color=[LL] Observations Line trip color
+observe.config.map.ll.style.observations.point.color=[LL] Observations point color
observe.config.map.ps.style.description=[Seine] File of styles used in map
+observe.config.map.ps.style.observations.color=[Seine] Color for observations data
observe.config.navigationIconsPath.description=Default navigation icons path.
observe.config.observation.activitysDetaillees=Observation of detailled activities
observe.config.observation.fauneAssociee=Observation of non target
@@ -352,7 +361,8 @@ observe.data.ll.common.Trip.action.move=Change program
observe.data.ll.common.Trip.action.move.choose.parent.message=Select target program
observe.data.ll.common.Trip.action.move.choose.parent.title=Move trips to another program
observe.data.ll.common.Trip.action.move.tip=Change program of trip(s)
-observe.data.ll.common.Trip.associatedActivityAndFishingOperationCount=Total associated activities / fishing operation count
+observe.data.ll.common.Trip.associatedActivityCount=Number of activities matched
+observe.data.ll.common.Trip.associatedFishingOperationCount=Number of fishing operations matched
observe.data.ll.common.Trip.availableData=Available data
observe.data.ll.common.Trip.ersId=Id ERS
observe.data.ll.common.Trip.generalComment=Comment
@@ -360,18 +370,20 @@ observe.data.ll.common.Trip.generalTab=Common characteristics
observe.data.ll.common.Trip.list.message.none=No trip for current program
observe.data.ll.common.Trip.list.navigation.node=Trip
observe.data.ll.common.Trip.list.title=List of trips
-observe.data.ll.common.Trip.logbookActivityAndFishingOperationCount=Total logbook activities / fishing operation count
+observe.data.ll.common.Trip.logbookActivityCount=Number of activities
observe.data.ll.common.Trip.logbookAvailability=Logbook and associated data
observe.data.ll.common.Trip.logbookComment=Comment
+observe.data.ll.common.Trip.logbookFishingOperationCount=Number of fishing operations
observe.data.ll.common.Trip.logbookTab=Logbook and associated data
observe.data.ll.common.Trip.mapTab=Map
observe.data.ll.common.Trip.message.not.open=Current trip is not opened, no edit possible.
observe.data.ll.common.Trip.navigation.unsaved=New trip
observe.data.ll.common.Trip.noOfCrewMembers=Number of crew
observe.data.ll.common.Trip.noOfDays=Duration (days)
-observe.data.ll.common.Trip.observationsActivityAndFishingOperationCount=Total observed activities / fishing operation count
+observe.data.ll.common.Trip.observationsActivityCount=Number of activities
observe.data.ll.common.Trip.observationsAvailability=Observations
observe.data.ll.common.Trip.observationsComment=Comment
+observe.data.ll.common.Trip.observationsFishingOperationCount=Number of fishing operations
observe.data.ll.common.Trip.observationsTab=Observations
observe.data.ll.common.Trip.species=Target species
observe.data.ll.common.Trip.species.selected=Selected species
=====================================
client/i18n/src/main/i18n/translations/observe_es_ES.properties
=====================================
@@ -100,7 +100,16 @@ observe.config.map.layer7.description=Archivo (shapeFiles) del séptimo calco de
observe.config.map.layer8.description=Archivo (shapeFiles) del octavo calco del mapa
observe.config.map.layer9.description=Archivo (shapeFiles) del noveno calco del mapa
observe.config.map.ll.style.description=[Longline] Archivo de los estilos a aplicar sobre los calcos del mapa \#TODO
+observe.config.map.ll.style.logbook.line.hauling.color=[LL] Logbook Line hauling color
+observe.config.map.ll.style.logbook.line.setting.color=[LL] Logbook Line setting color
+observe.config.map.ll.style.logbook.line.trip.color=[LL] Logbook Line trip color
+observe.config.map.ll.style.logbook.point.color=[LL] Logbook point color
+observe.config.map.ll.style.observations.line.hauling.color=[LL] Observations Line hauling color
+observe.config.map.ll.style.observations.line.setting.color=[LL] Observations Line setting color
+observe.config.map.ll.style.observations.line.trip.color=[LL] Observations Line trip color
+observe.config.map.ll.style.observations.point.color=[LL] Observations point color
observe.config.map.ps.style.description=[Seina] Archivo de los estilos a aplicar sobre los calcos del mapa \#TODO
+observe.config.map.ps.style.observations.color=[Seine] Color for observations data
observe.config.navigationIconsPath.description=Default navigation icons path. \#TODO
observe.config.observation.activitysDetaillees=Observación de actividades detalladas
observe.config.observation.fauneAssociee=Observación de Fauna asociada
@@ -352,7 +361,8 @@ observe.data.ll.common.Trip.action.move=Reasignación del programa
observe.data.ll.common.Trip.action.move.choose.parent.message=A qué programa quiere asociar las mareas seleccionadas ?
observe.data.ll.common.Trip.action.move.choose.parent.title=Cambiar el programa de las mareas
observe.data.ll.common.Trip.action.move.tip=Cambiar el programme de mareas seleccionadas
-observe.data.ll.common.Trip.associatedActivityAndFishingOperationCount=Total associated activities / fishing operation count \#TODO
+observe.data.ll.common.Trip.associatedActivityCount=Número de actividades coincidentes
+observe.data.ll.common.Trip.associatedFishingOperationCount=Número de operaciones de pesca coincidentes
observe.data.ll.common.Trip.availableData=Données disponibles
observe.data.ll.common.Trip.ersId=Id ERS
observe.data.ll.common.Trip.generalComment=Comentarios
@@ -360,18 +370,20 @@ observe.data.ll.common.Trip.generalTab=General características
observe.data.ll.common.Trip.list.message.none=Ninguna marea para el programa actual
observe.data.ll.common.Trip.list.navigation.node=Marea
observe.data.ll.common.Trip.list.title=List of trips
-observe.data.ll.common.Trip.logbookActivityAndFishingOperationCount=Total logbook activities / fishing operation count \#TODO
+observe.data.ll.common.Trip.logbookActivityCount=Número de actividades
observe.data.ll.common.Trip.logbookAvailability=Diario de pesca y datos asociados
observe.data.ll.common.Trip.logbookComment=Comentarios
+observe.data.ll.common.Trip.logbookFishingOperationCount=Número de operaciones de pesca
observe.data.ll.common.Trip.logbookTab=Diario de pesca y datos asociados
observe.data.ll.common.Trip.mapTab=Mapa
observe.data.ll.common.Trip.message.not.open=La marea actual no está abierta, no se puede modificar.
observe.data.ll.common.Trip.navigation.unsaved=Nueva marea
observe.data.ll.common.Trip.noOfCrewMembers=Nombre d'équipage
observe.data.ll.common.Trip.noOfDays=Duración (días)
-observe.data.ll.common.Trip.observationsActivityAndFishingOperationCount=Total observed activities / fishing operation count \#TODO
+observe.data.ll.common.Trip.observationsActivityCount=Número de actividades
observe.data.ll.common.Trip.observationsAvailability=Observaciones
observe.data.ll.common.Trip.observationsComment=Comentarios
+observe.data.ll.common.Trip.observationsFishingOperationCount=Número de operaciones de pesca
observe.data.ll.common.Trip.observationsTab=Observaciones
observe.data.ll.common.Trip.species=Especie objetivo
observe.data.ll.common.Trip.species.selected=Espèces sélectionnées \#TODO
=====================================
client/i18n/src/main/i18n/translations/observe_fr_FR.properties
=====================================
@@ -99,8 +99,17 @@ observe.config.map.layer6.description=Fichier (Shape Files) du sixième calque d
observe.config.map.layer7.description=Fichier (Shape Files) du septième calque de la carte
observe.config.map.layer8.description=Fichier (Shape Files) du huitième calque de la carte
observe.config.map.layer9.description=Fichier (Shape Files) du neuvième calque de la carte
-observe.config.map.ll.style.description=Fichier des style (Palangre) à appliquer sur les calques de la carte
-observe.config.map.ps.style.description=Fichier des style (Senne) à appliquer sur les calques de la carte
+observe.config.map.ll.style.description=[Palangre] Fichier des style à appliquer sur les calques de la carte
+observe.config.map.ll.style.logbook.line.hauling.color=[Palangre] Livre de bord Ligne Couleur virage
+observe.config.map.ll.style.logbook.line.setting.color=[Palangre] Livre de bord Ligne Couleur filage
+observe.config.map.ll.style.logbook.line.trip.color=[Palangre] Livre de bord Ligne Couleur marée
+observe.config.map.ll.style.logbook.point.color=[Palangre] Livre de bord Couleur points
+observe.config.map.ll.style.observations.line.hauling.color=[Palangre] Observations Ligne Couleur virage
+observe.config.map.ll.style.observations.line.setting.color=[Palangre] Observations Ligne Couleur filage
+observe.config.map.ll.style.observations.line.trip.color=[Palangre] Observations Ligne Couleur marée
+observe.config.map.ll.style.observations.point.color=[Palangre] Observations Couleur points
+observe.config.map.ps.style.description=[Senne] Fichier des style à appliquer sur les calques de la carte
+observe.config.map.ps.style.observations.color=[Senne] Couleur pour les données d'observation
observe.config.navigationIconsPath.description=Chemin vers les icônes de navigation.
observe.config.observation.activitysDetaillees=Observation des activités détaillées
observe.config.observation.fauneAssociee=Observation des Faunes associées
@@ -352,7 +361,8 @@ observe.data.ll.common.Trip.action.move=Réallocation du programme
observe.data.ll.common.Trip.action.move.choose.parent.message=A quel programme voulez-vous associer les marées sélectionnées ?
observe.data.ll.common.Trip.action.move.choose.parent.title=Changer le programme des marées
observe.data.ll.common.Trip.action.move.tip=Changer le programme des marées sélectionnées
-observe.data.ll.common.Trip.associatedActivityAndFishingOperationCount=Nombres d'activités / d'opérations de pêche mises en correspondance
+observe.data.ll.common.Trip.associatedActivityCount=Nombres d'activités associées
+observe.data.ll.common.Trip.associatedFishingOperationCount=Nombre d'opérations de pêche associées
observe.data.ll.common.Trip.availableData=Données disponibles
observe.data.ll.common.Trip.ersId=Id ERS
observe.data.ll.common.Trip.generalComment=Commentaire
@@ -360,18 +370,20 @@ observe.data.ll.common.Trip.generalTab=Caractéristiques communes
observe.data.ll.common.Trip.list.message.none=Aucune marée pour le programme courant
observe.data.ll.common.Trip.list.navigation.node=Marée
observe.data.ll.common.Trip.list.title=Liste de marées
-observe.data.ll.common.Trip.logbookActivityAndFishingOperationCount=Nombres d'activités / d'opérations de pêche livre de bord
+observe.data.ll.common.Trip.logbookActivityCount=Nombres d'activités
observe.data.ll.common.Trip.logbookAvailability=Livre de bord et données associées
observe.data.ll.common.Trip.logbookComment=Commentaire
+observe.data.ll.common.Trip.logbookFishingOperationCount=Nombre d'opérations de pêche
observe.data.ll.common.Trip.logbookTab=Livre de bord et données associées
observe.data.ll.common.Trip.mapTab=Carte
observe.data.ll.common.Trip.message.not.open=La marée courante n'est pas ouverte, aucune modification possible.
observe.data.ll.common.Trip.navigation.unsaved=Nouvelle marée
observe.data.ll.common.Trip.noOfCrewMembers=Nombre d'équipage
observe.data.ll.common.Trip.noOfDays=Durée (jours)
-observe.data.ll.common.Trip.observationsActivityAndFishingOperationCount=Nombres d'activités / d'opérations de pêche observées
+observe.data.ll.common.Trip.observationsActivityCount=Nombres d'activités
observe.data.ll.common.Trip.observationsAvailability=Données d'observation
observe.data.ll.common.Trip.observationsComment=Commentaire
+observe.data.ll.common.Trip.observationsFishingOperationCount=Nombre d'opérations de pêche
observe.data.ll.common.Trip.observationsTab=Données d'observation
observe.data.ll.common.Trip.species=Espèces ciblées
observe.data.ll.common.Trip.species.selected=Espèces sélectionnées
=====================================
models/dto/src/main/java/fr/ird/observe/dto/data/TripMapConfig.java
=====================================
@@ -87,4 +87,23 @@ public interface TripMapConfig {
List<File> getMapLayerFiles();
+ Color getMapPsStyleObservationsColor();
+
+ File getTemporaryDirectory();
+
+ Color getMapLlStyleObservationsLineTripColor();
+
+ Color getMapLlStyleObservationsLineSettingColor();
+
+ Color getMapLlStyleObservationsLineHaulingColor();
+
+ Color getMapLlStyleObservationsPointColor();
+
+ Color getMapLlStyleLogbookLineTripColor();
+
+ Color getMapLlStyleLogbookLineSettingColor();
+
+ Color getMapLlStyleLogbookLineHaulingColor();
+
+ Color getMapLlStyleLogbookPointColor();
}
=====================================
models/dto/src/main/java/fr/ird/observe/dto/data/ll/common/TripDto.java
=====================================
@@ -57,54 +57,6 @@ public class TripDto extends GeneratedTripDto {
super.setStartDate(startDate == null ? null : DateUtil.getDay(startDate));
}
- @Override
- public void setObservationsActivityCount(int observationsActivityCount) {
- super.setObservationsActivityCount(observationsActivityCount);
- firePropertyChange("observationsActivityAndFishingOperationCount", getObservationsActivityAndFishingOperationCount());
- }
-
- @Override
- public void setObservationsFishingOperationCount(int observationsFishingOperationCount) {
- super.setObservationsFishingOperationCount(observationsFishingOperationCount);
- firePropertyChange("observationsActivityAndFishingOperationCount", getObservationsActivityAndFishingOperationCount());
- }
-
- public String getObservationsActivityAndFishingOperationCount() {
- return String.format("%d / %d", getObservationsActivityCount(), getObservationsFishingOperationCount());
- }
-
- @Override
- public void setLogbookActivityCount(int logbookActivityCount) {
- super.setLogbookActivityCount(logbookActivityCount);
- firePropertyChange("logbookActivityAndFishingOperationCount", getLogbookActivityAndFishingOperationCount());
- }
-
- @Override
- public void setLogbookFishingOperationCount(int logbookFishingOperationCount) {
- super.setLogbookFishingOperationCount(logbookFishingOperationCount);
- firePropertyChange("logbookActivityAndFishingOperationCount", getLogbookActivityAndFishingOperationCount());
- }
-
- public String getLogbookActivityAndFishingOperationCount() {
- return String.format("%d / %d", getLogbookActivityCount(), getLogbookFishingOperationCount());
- }
-
- @Override
- public void setAssociatedActivityCount(int associatedActivityCount) {
- super.setAssociatedActivityCount(associatedActivityCount);
- firePropertyChange("associatedActivityAndFishingOperationCount", getAssociatedActivityAndFishingOperationCount());
- }
-
- @Override
- public void setAssociatedFishingOperationCount(int associatedFishingOperationCount) {
- super.setAssociatedFishingOperationCount(associatedFishingOperationCount);
- firePropertyChange("associatedActivityAndFishingOperationCount", getAssociatedActivityAndFishingOperationCount());
- }
-
- public String getAssociatedActivityAndFishingOperationCount() {
- return String.format("%d / %d", getAssociatedActivityCount(), getAssociatedFishingOperationCount());
- }
-
public void updateNoOfDays() {
setNoOfDays(createNoOfDay(startDate, endDate));
}
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/f88769466370fb9ac864ae78…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/f88769466370fb9ac864ae78…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] Il manque des logs sur le serveur - See #1700
by Tony CHEMIT 27 Dec '20
by Tony CHEMIT 27 Dec '20
27 Dec '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
f8876946 by Tony Chemit at 2020-12-27T08:43:45+01:00
Il manque des logs sur le serveur - See #1700
- - - - -
1 changed file:
- server/configuration/src/main/resources/log4j2.xml
Changes:
=====================================
server/configuration/src/main/resources/log4j2.xml
=====================================
@@ -49,6 +49,9 @@
<Logger name="fr.ird.observe.services.service.referential.differential.DifferentialEngine" level="warn" additivity="false">
<AppenderRef ref="console"/>
</Logger>
+ <Logger name="org.nuiton.topia.service.migration" level="info" additivity="false">
+ <AppenderRef ref="console"/>
+ </Logger>
<Logger name="fr.ird.observe" level="info" additivity="false">
<AppenderRef ref="console"/>
</Logger>
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/f88769466370fb9ac864ae787…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/f88769466370fb9ac864ae787…
You're receiving this email because of your account on gitlab.com.
1
0
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
31ae3c7c by Tony Chemit at 2020-12-26T13:32:01+01:00
Low log level
- - - - -
bbcf858d by Tony Chemit at 2020-12-27T07:01:59+01:00
Show tests results only if not in assert mode
- - - - -
0e056c2c by Tony Chemit at 2020-12-27T07:32:45+01:00
Improve topia context API :
* adding a hook when closing persistence context (TODO add a new event API on this)
- - - - -
35a87380 by Tony Chemit at 2020-12-27T07:33:02+01:00
do not add last update date row if entity is bastract
- - - - -
eae28300 by Tony Chemit at 2020-12-27T07:34:19+01:00
add missing write annotation on some services (TODO remove the lastupdatedate service, this is clearly a persistence matter, not a service)
- - - - -
b3263f1d by Tony Chemit at 2020-12-27T07:35:08+01:00
use last pom
- - - - -
6a214721 by Tony Chemit at 2020-12-27T07:36:56+01:00
Improve services generator :
* introduce service-api meta-generator
* introduce service-local meta-generator
- - - - -
1848f995 by Tony Chemit at 2020-12-27T07:38:30+01:00
Génération du code final des services local - See #1698
Review service-local API (no more proxy to handler transaction, just generated code^^)
- - - - -
9fcf2d77 by Tony Chemit at 2020-12-27T07:39:14+01:00
Génération du code final des services local - See #1698
Rename service local implementations to support.
Real implementations are now generated.
- - - - -
30 changed files:
- models/persistence/src/main/java/fr/ird/observe/entities/ObserveTopiaApplicationContext.java
- models/persistence/src/main/java/fr/ird/observe/entities/ObserveTopiaPersistenceContext.java
- pom.xml
- services/api/pom.xml
- services/api/src/main/java/fr/ird/observe/services/service/LastUpdateDateService.java
- services/local-impl/pom.xml
- services/local-impl/src/main/java/fr/ird/observe/services/local/ObserveServiceContextLocal.java
- services/local-impl/src/main/java/fr/ird/observe/services/local/ObserveServiceFactoryLocal.java
- services/local-impl/src/main/java/fr/ird/observe/services/local/service/DataSourceServiceLocal.java → services/local-impl/src/main/java/fr/ird/observe/services/local/service/DataSourceServiceLocalSupport.java
- services/local-impl/src/main/java/fr/ird/observe/services/local/service/LastUpdateDateServiceLocal.java → services/local-impl/src/main/java/fr/ird/observe/services/local/service/LastUpdateDateServiceLocalSupport.java
- services/local-impl/src/main/java/fr/ird/observe/services/local/service/ObserveServiceLocal.java
- services/local-impl/src/main/java/fr/ird/observe/services/local/service/PingServiceLocal.java → services/local-impl/src/main/java/fr/ird/observe/services/local/service/PingServiceLocalSupport.java
- services/local-impl/src/main/java/fr/ird/observe/services/local/service/ReferenceServiceLocal.java → services/local-impl/src/main/java/fr/ird/observe/services/local/service/ReferenceServiceLocalSupport.java
- services/local-impl/src/main/java/fr/ird/observe/services/local/service/actions/report/ReportServiceLocal.java → services/local-impl/src/main/java/fr/ird/observe/services/local/service/actions/report/ReportServiceLocalSupport.java
- services/local-impl/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalServiceLocal.java → services/local-impl/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalServiceLocalSupport.java
- services/local-impl/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/ng/ReferentialSynchronizeServiceLocal.java → services/local-impl/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/ng/ReferentialSynchronizeServiceLocalSupport.java
- services/local-impl/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/ng/ReferentialSynchronizeSqlListRequestBuilder.java
- services/local-impl/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/InsertSqlWithCascadeStatementGenerator.java
- services/local-impl/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/UpdateSqlWithCascadeStatementGenerator.java
- services/local-impl/src/main/java/fr/ird/observe/services/local/service/actions/synchro/referential/sql/WithCascadeStatementGenerator.java
- services/local-impl/src/main/java/fr/ird/observe/services/local/service/actions/validate/ValidateServiceLocal.java → services/local-impl/src/main/java/fr/ird/observe/services/local/service/actions/validate/ValidateServiceLocalSupport.java
- services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/DataFileServiceLocal.java → services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/DataFileServiceLocalSupport.java
- services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/EditableDataServiceLocalSupport.java
- services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/NavigationServiceLocal.java → services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/NavigationServiceLocalSupport.java
- services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/OpenableDataServiceLocalSupport.java
- services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/Simple2DataServiceLocalSupport.java
- services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/Simple3DataServiceLocalSupport.java
- services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/Simple4DataServiceLocalSupport.java
- services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/SimpleDataServiceLocalSupport.java
- services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/TripManagementServiceLocal.java → services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/TripManagementServiceLocalSupport.java
The diff was not included because it is too large.
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/59e068339104880f5d954a7f…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/59e068339104880f5d954a7f…
You're receiving this email because of your account on gitlab.com.
1
0
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
59e06833 by Tony Chemit at 2020-12-26T10:35:06+01:00
Low log level
- - - - -
1 changed file:
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/ActivityUIModel.java
Changes:
=====================================
client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/ActivityUIModel.java
=====================================
@@ -100,7 +100,7 @@ public class ActivityUIModel extends GeneratedActivityUIModel {
}
private void updateActivityObsCandidates() {
- log.info(String.format("%s Will update release observed activities...", getPrefix()));
+ log.debug(String.format("%s Will update release observed activities...", getPrefix()));
ActivityDto bean = getStates().getBean();
if (pairingContext == null) {
activityObs = Collections.emptyList();
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/59e068339104880f5d954a7f8…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/59e068339104880f5d954a7f8…
You're receiving this email because of your account on gitlab.com.
1
0
[Git][ultreiaio/ird-observe][develop] 2 commits: l'information nombre total d'opération de pêches sur le formulaire marée me...
by Tony CHEMIT 26 Dec '20
by Tony CHEMIT 26 Dec '20
26 Dec '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
117feaa8 by Tony Chemit at 2020-12-26T10:28:20+01:00
l'information nombre total d'opération de pêches sur le formulaire marée me semble un peu faible ? - See #1695
- - - - -
ec3b8390 by Tony Chemit at 2020-12-26T10:33:57+01:00
On en voit pas les activités observées disponibles - Closes #1697
- - - - -
11 changed files:
- client/datasource/editor/ll/src/main/i18n/getters/jaxx.getter
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/common/TripSelectionTreeNode.java
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/common/TripUI.jaxx
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/common/TripUI.jcss
- client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/ActivityUIModel.java
- client/i18n/src/main/i18n/translations/observe_en_GB.properties
- client/i18n/src/main/i18n/translations/observe_es_ES.properties
- client/i18n/src/main/i18n/translations/observe_fr_FR.properties
- models/dto/src/main/java/fr/ird/observe/dto/data/ll/common/TripDto.java
- models/dto/src/main/models/Observe-35-data-ll.model
- models/persistence/src/main/java/fr/ird/observe/entities/data/ll/common/TripImpl.java
Changes:
=====================================
client/datasource/editor/ll/src/main/i18n/getters/jaxx.getter
=====================================
@@ -30,10 +30,12 @@ observe.data.ll.common.GearUseFeatures.generalTab
observe.data.ll.common.GearUseFeatures.measurementsTab
observe.data.ll.common.GearUseFeatures.number
observe.data.ll.common.GearUseFeatures.usedInTrip
+observe.data.ll.common.Trip.associatedActivityAndFishingOperationCount
observe.data.ll.common.Trip.availableData
observe.data.ll.common.Trip.ersId
observe.data.ll.common.Trip.generalComment
observe.data.ll.common.Trip.generalTab
+observe.data.ll.common.Trip.logbookActivityAndFishingOperationCount
observe.data.ll.common.Trip.logbookAvailability
observe.data.ll.common.Trip.logbookComment
observe.data.ll.common.Trip.logbookDataEntryOperator
@@ -43,6 +45,7 @@ observe.data.ll.common.Trip.mapTab
observe.data.ll.common.Trip.noOfCrewMembers
observe.data.ll.common.Trip.noOfDays
observe.data.ll.common.Trip.observationMethod
+observe.data.ll.common.Trip.observationsActivityAndFishingOperationCount
observe.data.ll.common.Trip.observationsAvailability
observe.data.ll.common.Trip.observationsComment
observe.data.ll.common.Trip.observationsDataEntryOperator
@@ -51,7 +54,6 @@ observe.data.ll.common.Trip.observationsTab
observe.data.ll.common.Trip.species
observe.data.ll.common.Trip.species.selected
observe.data.ll.common.Trip.species.universe
-observe.data.ll.common.Trip.totalFishingOperationsNumber
observe.data.ll.common.Trip.tripType
observe.data.ll.landing.Landing.brokerageCompany
observe.data.ll.landing.Landing.caracteristicsTab
=====================================
client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/common/TripSelectionTreeNode.java
=====================================
@@ -49,7 +49,7 @@ public class TripSelectionTreeNode extends TripSelectionTreeNodeSupport<TripDto,
@Override
public String getText() {
- String s = super.getText() + " (" + getData().getActivityObsSize() + ")";
+ String s = super.getText() + " (" + getData().getObservationsActivityCount() + ")";
if (isExist()) {
return t("observe.common.exist.on.remote", s);
}
=====================================
client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/common/TripUI.jaxx
=====================================
@@ -180,13 +180,13 @@
</cell>
</row>
- <!-- totalFishingOperationsNumber -->
+ <!-- associatedActivityAndFishingOperationCount -->
<row>
- <cell anchor='west'>
- <JLabel id='totalFishingOperationsNumberLabel' styleClass="italic"/>
- </cell>
- <cell anchor='west' weightx="0.5">
- <JLabel id='totalFishingOperationsNumber' styleClass="skipI18n"/>
+ <cell columns='2'>
+ <JPanel id='associatedActivityAndFishingOperationCountPanel' layout="{new BorderLayout()}" beanScope="model">
+ <JLabel id='associatedActivityAndFishingOperationCountLabel' styleClass="italic" constraints='BorderLayout.WEST'/>
+ <JLabel id='associatedActivityAndFishingOperationCount' styleClass="skipI18n" constraints='BorderLayout.CENTER'/>
+ </JPanel>
</cell>
</row>
@@ -267,7 +267,15 @@
<JaxxComboBox id='observationsDataQuality' genericType='DataQualityReference' constructorParams='this'/>
</cell>
</row>
-
+ <!-- observationsActivityAndFishingOperationCount -->
+ <row>
+ <cell columns='2'>
+ <JPanel id='observationsActivityAndFishingOperationCountPanel' layout="{new BorderLayout()}" beanScope="model">
+ <JLabel id='observationsActivityAndFishingOperationCountLabel' styleClass="italic" constraints='BorderLayout.WEST'/>
+ <JLabel id='observationsActivityAndFishingOperationCount' styleClass="skipI18n" constraints='BorderLayout.CENTER'/>
+ </JPanel>
+ </cell>
+ </row>
<!-- observationsComment -->
<row>
<cell columns='2' fill='both' weighty="1">
@@ -301,7 +309,15 @@
<JaxxComboBox id='logbookDataQuality' genericType='DataQualityReference' constructorParams='this'/>
</cell>
</row>
-
+ <!-- logbookActivityAndFishingOperationCount -->
+ <row>
+ <cell columns='2' weightx="1">
+ <JPanel id='logbookActivityAndFishingOperationCountPanel' layout="{new BorderLayout()}" beanScope="model">
+ <JLabel id='logbookActivityAndFishingOperationCountLabel' styleClass="italic" constraints='BorderLayout.WEST'/>
+ <JLabel id='logbookActivityAndFishingOperationCount' styleClass="skipI18n" constraints='BorderLayout.CENTER'/>
+ </JPanel>
+ </cell>
+ </row>
<!-- logbookComment -->
<row>
<cell columns='2' fill='both' weighty="1">
=====================================
client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/common/TripUI.jcss
=====================================
@@ -20,9 +20,19 @@
* #L%
*/
-#totalFishingOperationsNumber {
+#associatedActivityAndFishingOperationCount {
font-weight:bold;
- text:{getStringValue(bean.getTotalFishingOperationsNumber())};
+ text:{" " + bean.getAssociatedActivityAndFishingOperationCount()};
+}
+
+#observationsActivityAndFishingOperationCount {
+ font-weight:bold;
+ text:{" " + bean.getObservationsActivityAndFishingOperationCount()};
+}
+
+#logbookActivityAndFishingOperationCount {
+ font-weight:bold;
+ text:{" " + bean.getLogbookActivityAndFishingOperationCount()};
}
#startDate {
@@ -55,8 +65,6 @@
}
#species {
- /*showListLabel:true;
- label:{t("observe.data.ll.common.Trip.species")};*/
universeLabel:{t("observe.data.ll.common.Trip.species.universe")};
selectedLabel:{t("observe.data.ll.common.Trip.species.selected")};
}
=====================================
client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/ActivityUIModel.java
=====================================
@@ -100,9 +100,6 @@ public class ActivityUIModel extends GeneratedActivityUIModel {
}
private void updateActivityObsCandidates() {
- if (!getStates().isOpened()) {
- return;
- }
log.info(String.format("%s Will update release observed activities...", getPrefix()));
ActivityDto bean = getStates().getBean();
if (pairingContext == null) {
=====================================
client/i18n/src/main/i18n/translations/observe_en_GB.properties
=====================================
@@ -352,6 +352,7 @@ observe.data.ll.common.Trip.action.move=Change program
observe.data.ll.common.Trip.action.move.choose.parent.message=Select target program
observe.data.ll.common.Trip.action.move.choose.parent.title=Move trips to another program
observe.data.ll.common.Trip.action.move.tip=Change program of trip(s)
+observe.data.ll.common.Trip.associatedActivityAndFishingOperationCount=Total associated activities / fishing operation count
observe.data.ll.common.Trip.availableData=Available data
observe.data.ll.common.Trip.ersId=Id ERS
observe.data.ll.common.Trip.generalComment=Comment
@@ -359,6 +360,7 @@ observe.data.ll.common.Trip.generalTab=Common characteristics
observe.data.ll.common.Trip.list.message.none=No trip for current program
observe.data.ll.common.Trip.list.navigation.node=Trip
observe.data.ll.common.Trip.list.title=List of trips
+observe.data.ll.common.Trip.logbookActivityAndFishingOperationCount=Total logbook activities / fishing operation count
observe.data.ll.common.Trip.logbookAvailability=Logbook and associated data
observe.data.ll.common.Trip.logbookComment=Comment
observe.data.ll.common.Trip.logbookTab=Logbook and associated data
@@ -367,6 +369,7 @@ observe.data.ll.common.Trip.message.not.open=Current trip is not opened, no edit
observe.data.ll.common.Trip.navigation.unsaved=New trip
observe.data.ll.common.Trip.noOfCrewMembers=Number of crew
observe.data.ll.common.Trip.noOfDays=Duration (days)
+observe.data.ll.common.Trip.observationsActivityAndFishingOperationCount=Total observed activities / fishing operation count
observe.data.ll.common.Trip.observationsAvailability=Observations
observe.data.ll.common.Trip.observationsComment=Comment
observe.data.ll.common.Trip.observationsTab=Observations
@@ -374,7 +377,6 @@ observe.data.ll.common.Trip.species=Target species
observe.data.ll.common.Trip.species.selected=Selected species
observe.data.ll.common.Trip.species.universe=Available species
observe.data.ll.common.Trip.title=Trip
-observe.data.ll.common.Trip.totalFishingOperationsNumber=Total fishing operation count
observe.data.ll.common.Trip.with.logbooks.message=There is some logbook data in this trip, can't unselect logbook availability
observe.data.ll.common.Trip.with.logbooks.title=Can't remove logbook availability
observe.data.ll.common.Trip.with.observations.message=There is some observations in this trip, can't unselect observations availability
=====================================
client/i18n/src/main/i18n/translations/observe_es_ES.properties
=====================================
@@ -352,6 +352,7 @@ observe.data.ll.common.Trip.action.move=Reasignación del programa
observe.data.ll.common.Trip.action.move.choose.parent.message=A qué programa quiere asociar las mareas seleccionadas ?
observe.data.ll.common.Trip.action.move.choose.parent.title=Cambiar el programa de las mareas
observe.data.ll.common.Trip.action.move.tip=Cambiar el programme de mareas seleccionadas
+observe.data.ll.common.Trip.associatedActivityAndFishingOperationCount=Total associated activities / fishing operation count \#TODO
observe.data.ll.common.Trip.availableData=Données disponibles
observe.data.ll.common.Trip.ersId=Id ERS
observe.data.ll.common.Trip.generalComment=Comentarios
@@ -359,6 +360,7 @@ observe.data.ll.common.Trip.generalTab=General características
observe.data.ll.common.Trip.list.message.none=Ninguna marea para el programa actual
observe.data.ll.common.Trip.list.navigation.node=Marea
observe.data.ll.common.Trip.list.title=List of trips
+observe.data.ll.common.Trip.logbookActivityAndFishingOperationCount=Total logbook activities / fishing operation count \#TODO
observe.data.ll.common.Trip.logbookAvailability=Diario de pesca y datos asociados
observe.data.ll.common.Trip.logbookComment=Comentarios
observe.data.ll.common.Trip.logbookTab=Diario de pesca y datos asociados
@@ -367,6 +369,7 @@ observe.data.ll.common.Trip.message.not.open=La marea actual no está abierta, n
observe.data.ll.common.Trip.navigation.unsaved=Nueva marea
observe.data.ll.common.Trip.noOfCrewMembers=Nombre d'équipage
observe.data.ll.common.Trip.noOfDays=Duración (días)
+observe.data.ll.common.Trip.observationsActivityAndFishingOperationCount=Total observed activities / fishing operation count \#TODO
observe.data.ll.common.Trip.observationsAvailability=Observaciones
observe.data.ll.common.Trip.observationsComment=Comentarios
observe.data.ll.common.Trip.observationsTab=Observaciones
@@ -374,7 +377,6 @@ observe.data.ll.common.Trip.species=Especie objetivo
observe.data.ll.common.Trip.species.selected=Espèces sélectionnées \#TODO
observe.data.ll.common.Trip.species.universe=Espèces disponibles \#TODO
observe.data.ll.common.Trip.title=Marea
-observe.data.ll.common.Trip.totalFishingOperationsNumber=Número total de las operaciones de pesca
observe.data.ll.common.Trip.with.logbooks.message=There is some logbook data in this trip, can't unselect logbook availability \#TODO
observe.data.ll.common.Trip.with.logbooks.title=Can't remove logbook availability \#TODO
observe.data.ll.common.Trip.with.observations.message=There is some observations in this trip, can't unselect observations availability \#TODO
=====================================
client/i18n/src/main/i18n/translations/observe_fr_FR.properties
=====================================
@@ -352,6 +352,7 @@ observe.data.ll.common.Trip.action.move=Réallocation du programme
observe.data.ll.common.Trip.action.move.choose.parent.message=A quel programme voulez-vous associer les marées sélectionnées ?
observe.data.ll.common.Trip.action.move.choose.parent.title=Changer le programme des marées
observe.data.ll.common.Trip.action.move.tip=Changer le programme des marées sélectionnées
+observe.data.ll.common.Trip.associatedActivityAndFishingOperationCount=Nombres d'activités / d'opérations de pêche mises en correspondance
observe.data.ll.common.Trip.availableData=Données disponibles
observe.data.ll.common.Trip.ersId=Id ERS
observe.data.ll.common.Trip.generalComment=Commentaire
@@ -359,6 +360,7 @@ observe.data.ll.common.Trip.generalTab=Caractéristiques communes
observe.data.ll.common.Trip.list.message.none=Aucune marée pour le programme courant
observe.data.ll.common.Trip.list.navigation.node=Marée
observe.data.ll.common.Trip.list.title=Liste de marées
+observe.data.ll.common.Trip.logbookActivityAndFishingOperationCount=Nombres d'activités / d'opérations de pêche livre de bord
observe.data.ll.common.Trip.logbookAvailability=Livre de bord et données associées
observe.data.ll.common.Trip.logbookComment=Commentaire
observe.data.ll.common.Trip.logbookTab=Livre de bord et données associées
@@ -367,6 +369,7 @@ observe.data.ll.common.Trip.message.not.open=La marée courante n'est pas ouvert
observe.data.ll.common.Trip.navigation.unsaved=Nouvelle marée
observe.data.ll.common.Trip.noOfCrewMembers=Nombre d'équipage
observe.data.ll.common.Trip.noOfDays=Durée (jours)
+observe.data.ll.common.Trip.observationsActivityAndFishingOperationCount=Nombres d'activités / d'opérations de pêche observées
observe.data.ll.common.Trip.observationsAvailability=Données d'observation
observe.data.ll.common.Trip.observationsComment=Commentaire
observe.data.ll.common.Trip.observationsTab=Données d'observation
@@ -374,7 +377,6 @@ observe.data.ll.common.Trip.species=Espèces ciblées
observe.data.ll.common.Trip.species.selected=Espèces sélectionnées
observe.data.ll.common.Trip.species.universe=Espèces disponibles
observe.data.ll.common.Trip.title=Marée
-observe.data.ll.common.Trip.totalFishingOperationsNumber=Nombre total d'opérations de pêche
observe.data.ll.common.Trip.with.logbooks.message=Il existe des données `Livre de bord` sur cette marée, impossible de désactiver cette propriété
observe.data.ll.common.Trip.with.logbooks.title=Impossible de désactiver la présence des livres de bord
observe.data.ll.common.Trip.with.observations.message=Il existe des observations sur cette marée, impossible de désactiver cette propriété
=====================================
models/dto/src/main/java/fr/ird/observe/dto/data/ll/common/TripDto.java
=====================================
@@ -52,20 +52,68 @@ public class TripDto extends GeneratedTripDto {
return I18nDecoratorHelper.getStartEndDateLabel(getStartDate(), getEndDate());
}
+ @Override
+ public void setStartDate(Date startDate) {
+ super.setStartDate(startDate == null ? null : DateUtil.getDay(startDate));
+ }
+
+ @Override
+ public void setObservationsActivityCount(int observationsActivityCount) {
+ super.setObservationsActivityCount(observationsActivityCount);
+ firePropertyChange("observationsActivityAndFishingOperationCount", getObservationsActivityAndFishingOperationCount());
+ }
+
+ @Override
+ public void setObservationsFishingOperationCount(int observationsFishingOperationCount) {
+ super.setObservationsFishingOperationCount(observationsFishingOperationCount);
+ firePropertyChange("observationsActivityAndFishingOperationCount", getObservationsActivityAndFishingOperationCount());
+ }
+
+ public String getObservationsActivityAndFishingOperationCount() {
+ return String.format("%d / %d", getObservationsActivityCount(), getObservationsFishingOperationCount());
+ }
+
+ @Override
+ public void setLogbookActivityCount(int logbookActivityCount) {
+ super.setLogbookActivityCount(logbookActivityCount);
+ firePropertyChange("logbookActivityAndFishingOperationCount", getLogbookActivityAndFishingOperationCount());
+ }
+
+ @Override
+ public void setLogbookFishingOperationCount(int logbookFishingOperationCount) {
+ super.setLogbookFishingOperationCount(logbookFishingOperationCount);
+ firePropertyChange("logbookActivityAndFishingOperationCount", getLogbookActivityAndFishingOperationCount());
+ }
+
+ public String getLogbookActivityAndFishingOperationCount() {
+ return String.format("%d / %d", getLogbookActivityCount(), getLogbookFishingOperationCount());
+ }
+
+ @Override
+ public void setAssociatedActivityCount(int associatedActivityCount) {
+ super.setAssociatedActivityCount(associatedActivityCount);
+ firePropertyChange("associatedActivityAndFishingOperationCount", getAssociatedActivityAndFishingOperationCount());
+ }
+
+ @Override
+ public void setAssociatedFishingOperationCount(int associatedFishingOperationCount) {
+ super.setAssociatedFishingOperationCount(associatedFishingOperationCount);
+ firePropertyChange("associatedActivityAndFishingOperationCount", getAssociatedActivityAndFishingOperationCount());
+ }
+
+ public String getAssociatedActivityAndFishingOperationCount() {
+ return String.format("%d / %d", getAssociatedActivityCount(), getAssociatedFishingOperationCount());
+ }
+
public void updateNoOfDays() {
setNoOfDays(createNoOfDay(startDate, endDate));
}
public boolean withLogbookData() {
- return getActivityLogbookSize() > 0 || getSampleSize() > 0 || getLandingSize() > 0;
+ return getLogbookActivityCount() > 0 || getSampleSize() > 0 || getLandingSize() > 0;
}
public boolean withObservationData() {
- return isNotActivityObsEmpty();
- }
-
- @Override
- public void setStartDate(Date startDate) {
- super.setStartDate(startDate == null ? null : DateUtil.getDay(startDate));
+ return getObservationsActivityCount() > 0;
}
}
=====================================
models/dto/src/main/models/Observe-35-data-ll.model
=====================================
@@ -10,15 +10,19 @@ data.ll.common.GearUseFeaturesMeasurement > data.Data | references=measurementVa
measurementValue + {*:1} String
gearCharacteristic {*:1} fr.ird.observe.dto.referential.common.GearCharacteristicReference
-data.ll.common.Trip > data.Openable >> data.TripAware | references=startDate,endDate,program,tripTypeId,activityObsSize,activityLogbookSize,landingSize,sampleSize,vessel,observerLabel,observationsAvailability,logbookAvailability comparator=startDate navigationParent=referential.common.Program
+data.ll.common.Trip > data.Openable >> data.TripAware | references=startDate,endDate,program,tripTypeId,observationsActivityCount,logbookActivityCount,landingSize,sampleSize,vessel,observerLabel,observationsAvailability,logbookAvailability comparator=startDate navigationParent=referential.common.Program
startDate + {*:1} Date | notNull
endDate + {*:1} Date | notNull
-totalFishingOperationsNumber + {*:1} Integer
ersId + {*:1} String
generalComment + {*:1} String
observationsComment + {*:1} String
logbookComment + {*:1} String
-activityLogbookSize + {*:1} int
+logbookActivityCount + {*:1} int
+logbookFishingOperationCount + {*:1} int
+observationsActivityCount + {*:1} int
+observationsFishingOperationCount + {*:1} int
+associatedActivityCount + {*:1} int
+associatedFishingOperationCount + {*:1} int
sampleSize + {*:1} int
landingSize + {*:1} int
noOfCrewMembers + {*:1} Integer
=====================================
models/persistence/src/main/java/fr/ird/observe/entities/data/ll/common/TripImpl.java
=====================================
@@ -25,7 +25,6 @@ package fr.ird.observe.entities.data.ll.common;
import fr.ird.observe.dto.data.DataDto;
import fr.ird.observe.dto.data.ll.common.TripDto;
import fr.ird.observe.dto.referential.ReferentialLocale;
-import fr.ird.observe.entities.data.ll.observation.Activity;
import org.nuiton.util.DateUtil;
import java.util.Date;
@@ -45,25 +44,41 @@ public class TripImpl extends TripAbstract {
super.toDto(referentialLocale, dto);
if (dto instanceof TripDto) {
TripDto dto1 = (TripDto) dto;
- //FIXME Improve this to compute it in dto.postInit method
- dto1.setTotalFishingOperationsNumber(computeTotalFishingOperationsNumber());
+
+ dto1.setObservationsActivityCount(getActivityObsSize());
+ dto1.setLogbookActivityCount(getActivityLogbookSize());
+
+ int observationsFishingOperationCount = 0;
+ int logbookFishingOperationCount = 0;
+ int associatedActivityCount = 0;
+ int associatedFishingOperationCount = 0;
+ for (fr.ird.observe.entities.data.ll.observation.Activity a : getActivityObs()) {
+ if (a.isSetOperation()) {
+ observationsFishingOperationCount++;
+ }
+ }
+ for (fr.ird.observe.entities.data.ll.logbook.Activity a : getActivityLogbook()) {
+ boolean withRelated = a.getRelatedObservedActivity() != null;
+ if (withRelated) {
+ associatedActivityCount++;
+ }
+ if (a.isSetOperation()) {
+ logbookFishingOperationCount++;
+ if (withRelated) {
+ associatedFishingOperationCount++;
+ }
+ }
+ }
+ dto1.setObservationsFishingOperationCount(observationsFishingOperationCount);
+ dto1.setLogbookFishingOperationCount(logbookFishingOperationCount);
+ dto1.setAssociatedActivityCount(associatedActivityCount);
+ dto1.setAssociatedFishingOperationCount(associatedFishingOperationCount);
}
}
@Override
public Date getTheoreticalEndDate() {
- Date lastActivityDate = isActivityObsEmpty() ? null : getActivityObs().stream().map(Activity::getTimeStamp).max(Date::compareTo).orElse(null);
+ Date lastActivityDate = isActivityObsEmpty() ? null : getActivityObs().stream().map(fr.ird.observe.entities.data.ll.observation.Activity::getTimeStamp).max(Date::compareTo).orElse(null);
return DateUtil.getEndOfDay(lastActivityDate == null ? getStartDate() : lastActivityDate);
}
-
- private int computeTotalFishingOperationsNumber() {
- int result = 0;
- if (isActivityLogbookNotEmpty()) {
- result += activityLogbook.stream().filter(fr.ird.observe.entities.data.ll.logbook.Activity::isSetOperation).count();
- }
- if (isActivityObsNotEmpty()) {
- result += activityObs.stream().filter(fr.ird.observe.entities.data.ll.observation.Activity::isSetOperation).count();
- }
- return result;
- }
}
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/5e91ce44533915ee1727afe0…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/5e91ce44533915ee1727afe0…
You're receiving this email because of your account on gitlab.com.
1
0
24 Dec '20
Tony CHEMIT pushed to branch pages at ultreiaio / ird-observe
Commits:
ac008863 by 166231 at 2020-12-24T12:39:03+00:00
Site checkin for project ObServe
- - - - -
7 changed files:
- administration-web.html
- architecture-logicielle.html
- index.html
- install-serverPG.html
- install.html
- referential-filter.html
- synchro-referential.html
Changes:
=====================================
administration-web.html
=====================================
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<!--
- | Generated by Apache Maven Doxia Site Renderer 1.9.2 from src/site/markdown/administration-web.md.vm at 2020-12-14
+ | Generated by Apache Maven Doxia Site Renderer 1.9.2 from src/site/markdown/administration-web.md.vm at 2020-12-24
| Rendered using Apache Maven Fluido Skin 1.9
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
@@ -27,8 +27,8 @@
<ul class="breadcrumb">
<li class=""><a href="https://ultreiaio.gitlab.io/ird-observe/index.html" class="externalLink" title="ObServe">ObServe</a><span class="divider">»</span></li>
<li class="active ">Installation de lapplication web</li>
- <li id="publishDate" class="pull-right"><span class="divider">|</span> Dernière publication: 2020-12-14</li>
- <li id="projectVersion" class="pull-right"><span class="divider">|</span>Version: 8.0.1</li>
+ <li id="publishDate" class="pull-right"><span class="divider">|</span> Dernière publication: 2020-12-24</li>
+ <li id="projectVersion" class="pull-right"><span class="divider">|</span>Version: 8.0.2</li>
<li class="pull-right"><span class="divider">|</span>
<a href="http://ultreia.io" class="externalLink" title="Ultreia.io">Ultreia.io</a></li>
<li class="pull-right"><a href="https://gitlab.com/ultreiaio/ird-observe" class="externalLink" title="GitLab">GitLab</a></li>
@@ -103,7 +103,7 @@
<div class="source"><pre class="prettyprint linenums"> /var/local/observeweb/{contextPath}
|-- databases.yml # configuration des bases de données
|-- log
- | `-- observeweb-8.0.1.log # logs de l'application
+ | `-- observeweb-8.0.2.log # logs de l'application
|-- observeweb-log4j.conf # configuration des logs
|-- temp # répertoire temporaire
`-- users.yml # configuration des utilisateurs
=====================================
architecture-logicielle.html
=====================================
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<!--
- | Generated by Apache Maven Doxia Site Renderer 1.9.2 from src/site/markdown/architecture-logicielle.md at 2020-12-14
+ | Generated by Apache Maven Doxia Site Renderer 1.9.2 from src/site/markdown/architecture-logicielle.md at 2020-12-24
| Rendered using Apache Maven Fluido Skin 1.9
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
@@ -27,8 +27,8 @@
<ul class="breadcrumb">
<li class=""><a href="https://ultreiaio.gitlab.io/ird-observe/index.html" class="externalLink" title="ObServe">ObServe</a><span class="divider">»</span></li>
<li class="active ">Architecture logicielle dObServe</li>
- <li id="publishDate" class="pull-right"><span class="divider">|</span> Dernière publication: 2020-12-14</li>
- <li id="projectVersion" class="pull-right"><span class="divider">|</span>Version: 8.0.1</li>
+ <li id="publishDate" class="pull-right"><span class="divider">|</span> Dernière publication: 2020-12-24</li>
+ <li id="projectVersion" class="pull-right"><span class="divider">|</span>Version: 8.0.2</li>
<li class="pull-right"><span class="divider">|</span>
<a href="http://ultreia.io" class="externalLink" title="Ultreia.io">Ultreia.io</a></li>
<li class="pull-right"><a href="https://gitlab.com/ultreiaio/ird-observe" class="externalLink" title="GitLab">GitLab</a></li>
=====================================
index.html
=====================================
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<!--
- | Generated by Apache Maven Doxia Site Renderer 1.9.2 from src/site/markdown/index.md at 2020-12-14
+ | Generated by Apache Maven Doxia Site Renderer 1.9.2 from src/site/markdown/index.md at 2020-12-24
| Rendered using Apache Maven Fluido Skin 1.9
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
@@ -27,8 +27,8 @@
<ul class="breadcrumb">
<li class=""><a href="https://ultreiaio.gitlab.io/ird-observe/index.html" class="externalLink" title="ObServe">ObServe</a><span class="divider">»</span></li>
<li class="active ">ObServe</li>
- <li id="publishDate" class="pull-right"><span class="divider">|</span> Dernière publication: 2020-12-14</li>
- <li id="projectVersion" class="pull-right"><span class="divider">|</span>Version: 8.0.1</li>
+ <li id="publishDate" class="pull-right"><span class="divider">|</span> Dernière publication: 2020-12-24</li>
+ <li id="projectVersion" class="pull-right"><span class="divider">|</span>Version: 8.0.2</li>
<li class="pull-right"><span class="divider">|</span>
<a href="http://ultreia.io" class="externalLink" title="Ultreia.io">Ultreia.io</a></li>
<li class="pull-right"><a href="https://gitlab.com/ultreiaio/ird-observe" class="externalLink" title="GitLab">GitLab</a></li>
=====================================
install-serverPG.html
=====================================
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<!--
- | Generated by Apache Maven Doxia Site Renderer 1.9.2 from src/site/markdown/install-serverPG.md at 2020-12-14
+ | Generated by Apache Maven Doxia Site Renderer 1.9.2 from src/site/markdown/install-serverPG.md at 2020-12-24
| Rendered using Apache Maven Fluido Skin 1.9
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
@@ -27,8 +27,8 @@
<ul class="breadcrumb">
<li class=""><a href="https://ultreiaio.gitlab.io/ird-observe/index.html" class="externalLink" title="ObServe">ObServe</a><span class="divider">»</span></li>
<li class="active ">Installation du serveur Obstuna</li>
- <li id="publishDate" class="pull-right"><span class="divider">|</span> Dernière publication: 2020-12-14</li>
- <li id="projectVersion" class="pull-right"><span class="divider">|</span>Version: 8.0.1</li>
+ <li id="publishDate" class="pull-right"><span class="divider">|</span> Dernière publication: 2020-12-24</li>
+ <li id="projectVersion" class="pull-right"><span class="divider">|</span>Version: 8.0.2</li>
<li class="pull-right"><span class="divider">|</span>
<a href="http://ultreia.io" class="externalLink" title="Ultreia.io">Ultreia.io</a></li>
<li class="pull-right"><a href="https://gitlab.com/ultreiaio/ird-observe" class="externalLink" title="GitLab">GitLab</a></li>
=====================================
install.html
=====================================
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<!--
- | Generated by Apache Maven Doxia Site Renderer 1.9.2 from src/site/markdown/install.md at 2020-12-14
+ | Generated by Apache Maven Doxia Site Renderer 1.9.2 from src/site/markdown/install.md at 2020-12-24
| Rendered using Apache Maven Fluido Skin 1.9
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
@@ -27,8 +27,8 @@
<ul class="breadcrumb">
<li class=""><a href="https://ultreiaio.gitlab.io/ird-observe/index.html" class="externalLink" title="ObServe">ObServe</a><span class="divider">»</span></li>
<li class="active ">Installation dObServe</li>
- <li id="publishDate" class="pull-right"><span class="divider">|</span> Dernière publication: 2020-12-14</li>
- <li id="projectVersion" class="pull-right"><span class="divider">|</span>Version: 8.0.1</li>
+ <li id="publishDate" class="pull-right"><span class="divider">|</span> Dernière publication: 2020-12-24</li>
+ <li id="projectVersion" class="pull-right"><span class="divider">|</span>Version: 8.0.2</li>
<li class="pull-right"><span class="divider">|</span>
<a href="http://ultreia.io" class="externalLink" title="Ultreia.io">Ultreia.io</a></li>
<li class="pull-right"><a href="https://gitlab.com/ultreiaio/ird-observe" class="externalLink" title="GitLab">GitLab</a></li>
=====================================
referential-filter.html
=====================================
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<!--
- | Generated by Apache Maven Doxia Site Renderer 1.9.2 from src/site/markdown/referential-filter.md at 2020-12-14
+ | Generated by Apache Maven Doxia Site Renderer 1.9.2 from src/site/markdown/referential-filter.md at 2020-12-24
| Rendered using Apache Maven Fluido Skin 1.9
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
@@ -27,8 +27,8 @@
<ul class="breadcrumb">
<li class=""><a href="https://ultreiaio.gitlab.io/ird-observe/index.html" class="externalLink" title="ObServe">ObServe</a><span class="divider">»</span></li>
<li class="active ">List of specialized referential filters used in GUI</li>
- <li id="publishDate" class="pull-right"><span class="divider">|</span> Dernière publication: 2020-12-14</li>
- <li id="projectVersion" class="pull-right"><span class="divider">|</span>Version: 8.0.1</li>
+ <li id="publishDate" class="pull-right"><span class="divider">|</span> Dernière publication: 2020-12-24</li>
+ <li id="projectVersion" class="pull-right"><span class="divider">|</span>Version: 8.0.2</li>
<li class="pull-right"><span class="divider">|</span>
<a href="http://ultreia.io" class="externalLink" title="Ultreia.io">Ultreia.io</a></li>
<li class="pull-right"><a href="https://gitlab.com/ultreiaio/ird-observe" class="externalLink" title="GitLab">GitLab</a></li>
=====================================
synchro-referential.html
=====================================
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<!--
- | Generated by Apache Maven Doxia Site Renderer 1.9.2 from src/site/markdown/synchro-referential.md at 2020-12-14
+ | Generated by Apache Maven Doxia Site Renderer 1.9.2 from src/site/markdown/synchro-referential.md at 2020-12-24
| Rendered using Apache Maven Fluido Skin 1.9
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
@@ -27,8 +27,8 @@
<ul class="breadcrumb">
<li class=""><a href="https://ultreiaio.gitlab.io/ird-observe/index.html" class="externalLink" title="ObServe">ObServe</a><span class="divider">»</span></li>
<li class="active ">Synchronisation avancée du référentiel</li>
- <li id="publishDate" class="pull-right"><span class="divider">|</span> Dernière publication: 2020-12-14</li>
- <li id="projectVersion" class="pull-right"><span class="divider">|</span>Version: 8.0.1</li>
+ <li id="publishDate" class="pull-right"><span class="divider">|</span> Dernière publication: 2020-12-24</li>
+ <li id="projectVersion" class="pull-right"><span class="divider">|</span>Version: 8.0.2</li>
<li class="pull-right"><span class="divider">|</span>
<a href="http://ultreia.io" class="externalLink" title="Ultreia.io">Ultreia.io</a></li>
<li class="pull-right"><a href="https://gitlab.com/ultreiaio/ird-observe" class="externalLink" title="GitLab">GitLab</a></li>
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/ac008863fed2a564ac45aa8d3…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/ac008863fed2a564ac45aa8d3…
You're receiving this email because of your account on gitlab.com.
1
0
24 Dec '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
5e91ce44 by Tony Chemit at 2020-12-24T12:54:26+01:00
update CHANGELOG [skip ci]
- - - - -
1 changed file:
- CHANGELOG.md
Changes:
=====================================
CHANGELOG.md
=====================================
@@ -1,26 +1,44 @@
# ObServe changelog
* Author [Tony Chemit](mailto:dev@tchemit.fr)
- * Last generated at 2020-12-24 12:40.
+ * Last generated at 2020-12-24 12:53.
-## Version [8.0.3](https://gitlab.com/ultreiaio/ird-observe/-/milestones/176)
+## Version [8.0.2](https://gitlab.com/ultreiaio/ird-observe/-/milestones/175)
+Merry Christmas
**Closed at 2020-12-24.**
### Issues
- * [[Anomalie 1637]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1637) **Remontée des messages d'erreur serveur vers le client** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil)
- * [[Anomalie 1662]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1662) **Amélioration du comportement lors de la sauvegarde** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
- * [[Evolution 1654]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1654) **Améliorer la taille accordée au formulaire** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
- * [[Evolution 1655]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1655) **Améliorer les performances lors du changement de l'arbre de navigation** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
- * [[Evolution 1659]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1659) **Mettre plus en avant la nouvelle action d'insertion** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
- * [[Evolution 1668]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1668) **Extraire les configurations sauvegardés de sources de données dans des fichiers séparé** (Thanks to ) (Reported by Tony CHEMIT)
- * [[Evolution 1676]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1676) **[LL][Logbook] Taille form activité** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil)
- * [[Evolution 1679]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1679) **[LL][Logbooks] Mise en page form Opération de pêche** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil)
- * [[Evolution 1695]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1695) **l'information nombre total d'opération de pêches sur le formulaire marée me semble un peu faible ?** (Thanks to Pascal Cauquil) (Reported by Tony CHEMIT)
- * [[Tâche 1653]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1653) **Il manque des boutons reset sur les éditeurs de dates** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
- * [[Tâche 1664]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1664) **Il reste quelques optimisations à réaliser sur la couche de persistence** (Thanks to Pascal Cauquil) (Reported by Tony CHEMIT)
- * [[Tâche 1665]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1665) **Valider tous les écrans du modèle LL** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
+ * [[Anomalie 1642]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1642) **Comportement des combobox** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil)
+ * [[Anomalie 1666]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1666) **Impossible d'ouvrir les bases de données** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil)
+ * [[Anomalie 1667]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1667) **Petit problème erratique sur l'ouverture de nœud dans l'arbre** (Thanks to ) (Reported by Tony CHEMIT)
+ * [[Anomalie 1670]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1670) **Si on annule le changement d'une source de donnée, la source précédente reste connectée mais on ne voit pas l'arbre de navigation** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
+ * [[Anomalie 1672]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1672) **[LL] Bug sur création d'activité logbook LL** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil)
+ * [[Anomalie 1673]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1673) **[LL] Ajout données d'observation** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil)
+ * [[Anomalie 1675]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1675) **[LL][Logbook] Quadrant** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil)
+ * [[Anomalie 1677]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1677) **[LL][Logbooks] Pêche / Onglet cyalumes** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil)
+ * [[Anomalie 1678]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1678) **[LL][Logbooks] F5 inopérant (sur MacOS)** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil)
+ * [[Anomalie 1680]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1680) **[LL][Logbooks] Form Composition globale ne s'affiche pas** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil)
+ * [[Anomalie 1681]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1681) **[LL][Logbooks] Impossible d'afficher le form Echantillons** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil)
+ * [[Anomalie 1682]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1682) **[LL][Logbooks] Impossible d'afficher le form Débarquements** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil)
+ * [[Anomalie 1683]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1683) **Il semble manquer des index sur des relations many-to-one (par exemple Tdr → Section)** (Thanks to Pascal Cauquil) (Reported by Tony CHEMIT)
+ * [[Anomalie 1685]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1685) **Gestion de la nullité de certaines clef étrangère** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
+ * [[Anomalie 1690]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1690) **À la sortie de la configuration (avec un appel de rechargement d'interface graphique), la base est masquée et innacessible** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
+ * [[Anomalie 1691]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1691) **Aucun ordre n'est utilisé lors de la synchro simple de référentiel** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
+ * [[Evolution 1640]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1640) **Lisibilité de la carte - police de la date** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil)
+ * [[Evolution 1656]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1656) **Ajouter un onglet dans la configuration pour tout ce qui concerne l'arbre de navigation** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
+ * [[Evolution 1657]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1657) **Revoir le bouton qui permet de voir la base chargée** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
+ * [[Evolution 1661]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1661) **Passage en java 11** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
+ * [[Evolution 1671]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1671) **Lors d'une action d'import d'une sauvegarde, la source de donnée courante est fermée avant même que l'utilisateur est validé** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
+ * [[Evolution 1674]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1674) **Peux-ton afficher ici le racourcis F2 qui permet de basculer lecture/mise à jour ?** (Thanks to Tony CHEMIT) (Reported by Pascal Cauquil)
+ * [[Evolution 1686]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1686) **Meilleur intégration de la précision sur les champs numériques** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
+ * [[Evolution 1687]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1687) **Génération du type précis pour les champs textes** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
+ * [[Evolution 1689]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1689) **Ajouter un onglet cartographie dans la configuration** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
+ * [[Evolution 1693]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1693) **Nettoyage des fichiers du client** (Thanks to Pascal Cauquil) (Reported by Tony CHEMIT)
+ * [[Evolution 1694]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1694) **Sur les éditeurs de date simple utiliser le même raccourci pour ouvrir la popup de date que pour une liste à sélection multiple (↓)** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
+ * [[Evolution 1696]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1696) **Commencer les raccourcis claviers pour changer d'onglet à partir de **shift F1** et plus **shift F5**** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
+ * [[Tâche 1663]](https://gitlab.com/ultreiaio/ird-observe/-/issues/1663) **Revoir le code de gestion des échantillons** (Thanks to Tony CHEMIT) (Reported by Tony CHEMIT)
## Version [8.0.1](https://gitlab.com/ultreiaio/ird-observe/-/milestones/173)
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/5e91ce44533915ee1727afe00…
--
View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/5e91ce44533915ee1727afe00…
You're receiving this email because of your account on gitlab.com.
1
0