mailman.cloud.codelutin.com
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

Observe-commits

Thread Start a new thread
Download
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
observe-commits@list.forge.codelutin.com

December 2020

  • 1 participants
  • 96 discussions
[Git][ultreiaio/ird-observe][develop] Generate some missing indexes - Closes #1683
by Tony CHEMIT 18 Dec '20

18 Dec '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: b7bd2bc4 by Tony Chemit at 2020-12-18T20:49:16+01:00 Generate some missing indexes - Closes #1683 - - - - - 1 changed file: - pom.xml Changes: ===================================== pom.xml ===================================== @@ -153,7 +153,7 @@ <lib.version.h2>1.4.196</lib.version.h2> <lib.version.nuiton.utils>3.0</lib.version.nuiton.utils> -<!-- <lib.version.java4all.topia>1.31</lib.version.java4all.topia>--> + <lib.version.java4all.topia>1.32</lib.version.java4all.topia> <!-- <lib.version.java4all.eugene>3.0-alpha-38</lib.version.java4all.eugene>--> <lib.version.java4all.jaxx>3.0-alpha-85</lib.version.java4all.jaxx> <!--<lib.version.java4all.application-context>1.0.3-SNAPSHOT</lib.version.java4all.application-context>--> View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/b7bd2bc4a5aaf25223ec8409f… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/b7bd2bc4a5aaf25223ec8409f… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] Generate some missing indexes - Closes #1664
by Tony CHEMIT 18 Dec '20

18 Dec '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 18ea7843 by Tony Chemit at 2020-12-18T20:48:44+01:00 Generate some missing indexes - Closes #1664 - - - - - 1 changed file: - pom.xml Changes: ===================================== pom.xml ===================================== @@ -153,7 +153,7 @@ <lib.version.h2>1.4.196</lib.version.h2> <lib.version.nuiton.utils>3.0</lib.version.nuiton.utils> -<!-- <lib.version.java4all.topia>1.31</lib.version.java4all.topia>--> + <lib.version.java4all.topia>1.32</lib.version.java4all.topia> <!-- <lib.version.java4all.eugene>3.0-alpha-38</lib.version.java4all.eugene>--> <lib.version.java4all.jaxx>3.0-alpha-85</lib.version.java4all.jaxx> <!--<lib.version.java4all.application-context>1.0.3-SNAPSHOT</lib.version.java4all.application-context>--> View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/18ea7843a3271eeb66d3652d7… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/18ea7843a3271eeb66d3652d7… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 3 commits: remove unused method
by Tony CHEMIT 18 Dec '20

18 Dec '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 0c952acb by Tony Chemit at 2020-12-18T20:32:47+01:00 remove unused method - - - - - b2ace90a by Tony Chemit at 2020-12-18T20:34:52+01:00 Il reste quelques optimisations à réaliser sur la couche de persistence - See #1664 * Suppression de contrat sur les entités inutiles * Utilisation de requetes optimisées pour construire le dto de la composition détaillée * suppression de liens sur le modèle de persistence inutiles - - - - - f11cbc8e by Tony Chemit at 2020-12-18T20:47:37+01:00 Generate some missing indexes - Closes #58 - - - - - 13 changed files: - − models/persistence/src/main/java/fr/ird/observe/entities/data/ll/observation/LonglinePositionAware.java - models/persistence/src/main/java/fr/ird/observe/entities/data/ll/observation/SetImpl.java - models/persistence/src/main/java/fr/ird/observe/entities/data/ll/observation/LonglineElementAware.java → models/persistence/src/main/java/fr/ird/observe/entities/data/ll/observation/SetTopiaDao.java - models/persistence/src/main/models/Observe-30-data-ll-observation.model - pom.xml - services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ll/observation/SetDetailCompositionServiceLocal.java - services/local-impl/src/test/java/fr/ird/observe/services/local/service/data/ll/observation/SetDetailCompositionServiceLocalTest.java - 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/empty_h2.sql.gz - tests/test/src/main/resources/db/8.0/empty_pg.sql.gz - tests/test/src/main/resources/db/8.0/referentiel.sql.gz - toolkit/persistence/src/main/java/fr/ird/observe/entities/EntityHelper.java Changes: ===================================== models/persistence/src/main/java/fr/ird/observe/entities/data/ll/observation/LonglinePositionAware.java deleted ===================================== @@ -1,53 +0,0 @@ -package fr.ird.observe.entities.data.ll.observation; - -/* - * #%L - * ObServe Models :: Persistence - * %% - * Copyright (C) 2008 - 2020 IRD, Code Lutin, Ultreia.io - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import fr.ird.observe.dto.data.DataDto; -import fr.ird.observe.dto.reference.DataDtoReference; -import fr.ird.observe.entities.data.DataEntity; - -/** - * Place this contract on any data that use a position on a longline. - * Created on 1/6/15. - * - * @author Tony Chemit - dev(a)tchemit.fr - * @see Catch - * @see Tdr - * @see fr.ird.observe.dto.data.ll.observation.LonglinePositionAware - * @since 3.11 - */ -public interface LonglinePositionAware<Dt extends DataDto, R extends DataDtoReference> extends DataEntity<Dt, R> { - - void setSection(Section section); - - Section getSection(); - - void setBasket(Basket basket); - - Basket getBasket(); - - void setBranchline(Branchline branchline); - - Branchline getBranchline(); - -} ===================================== models/persistence/src/main/java/fr/ird/observe/entities/data/ll/observation/SetImpl.java ===================================== @@ -22,15 +22,12 @@ package fr.ird.observe.entities.data.ll.observation; * #L% */ -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Maps; import fr.ird.observe.dto.CoordinateHelper; import fr.ird.observe.dto.data.DataDto; import fr.ird.observe.dto.data.ll.observation.BasketReference; import fr.ird.observe.dto.data.ll.observation.BranchlineReference; import fr.ird.observe.dto.data.ll.observation.LonglinePositionContainerAware; import fr.ird.observe.dto.data.ll.observation.SectionReference; -import fr.ird.observe.dto.data.ll.observation.SetDetailCompositionDto; import fr.ird.observe.dto.data.ll.observation.SetDto; import fr.ird.observe.dto.referential.ReferentialLocale; @@ -44,10 +41,6 @@ public class SetImpl extends SetAbstract { @Override public <D extends DataDto> void toDto(ReferentialLocale referentialLocale, D dto) { boolean useLonglinePosition = dto instanceof LonglinePositionContainerAware; - boolean detailComposition = dto instanceof SetDetailCompositionDto; - if (useLonglinePosition || detailComposition) { - loadEntityParents(); - } super.toDto(referentialLocale, dto); if (dto instanceof SetDto) { SetDto dto1 = (SetDto) dto; @@ -56,62 +49,27 @@ public class SetImpl extends SetAbstract { dto1.setHaulingStartQuadrant(CoordinateHelper.getQuadrant(haulingStartLongitude, haulingStartLatitude)); dto1.setHaulingEndQuadrant(CoordinateHelper.getQuadrant(haulingEndLongitude, haulingEndLatitude)); } - if (detailComposition) { - loadDtoParents((SetDetailCompositionDto) dto); - } if (useLonglinePosition) { loadDtoReferenceParents((LonglinePositionContainerAware) dto, referentialLocale); } } - private void loadEntityParents() { - getSection().forEach(section -> { - section.setParentId(getTopiaId()); - section.getBasket().forEach(basket -> { - String sectionId = section.getTopiaId(); - basket.setParentId(sectionId); - String basketId = basket.getTopiaId(); - basket.getBranchline().forEach(branchline -> branchline.setParentId(basketId)); - }); - }); - } - - private void loadDtoParents(SetDetailCompositionDto dto) { - //FIXME If not performant, let's used an optimized dao query - ImmutableMap<String, Section> sectionsById = Maps.uniqueIndex(getSection(), Section::getTopiaId); - dto.getSection().forEach(section -> { - section.setParentId(dto.getId()); - String sectionId = section.getTopiaId(); - Section entitySection = sectionsById.get(sectionId); - ImmutableMap<String, Basket> basketsById = Maps.uniqueIndex(entitySection.getBasket(), Basket::getTopiaId); - section.setNotUsed(entitySection.isNotUsed()); - section.getBasket().forEach(basket -> { - basket.setParentId(sectionId); - String basketId = basket.getTopiaId(); - Basket entityBasket = basketsById.get(basketId); - basket.setNotUsed(entityBasket.isNotUsed()); - ImmutableMap<String, Branchline> branchlinesById = Maps.uniqueIndex(entityBasket.getBranchline(), Branchline::getTopiaId); - basket.getBranchline().forEach(branchline -> { - String branchlineId = branchline.getId(); - Branchline entityBranchline = branchlinesById.get(branchlineId); - branchline.setParentId(basketId); - branchline.setNotUsed(entityBranchline.isNotUsed()); - }); - }); - }); - } - private void loadDtoReferenceParents(LonglinePositionContainerAware dto, ReferentialLocale referentialLocale) { List<SectionReference> sections = new LinkedList<>(); List<BasketReference> baskets = new LinkedList<>(); List<BranchlineReference> branchlines = new LinkedList<>(); getSection().forEach(section -> { + section.setParentId(getTopiaId()); + String sectionId = section.getTopiaId(); SectionReference sectionReference = section.toReference(referentialLocale); sections.add(sectionReference); section.getBasket().forEach(basket -> { + String basketId = basket.getTopiaId(); + basket.setParentId(sectionId); BasketReference basketReference = basket.toReference(referentialLocale); baskets.add(basketReference); basket.getBranchline().forEach(branchline -> { + branchline.setParentId(basketId); BranchlineReference branchlineReference = branchline.toReference(referentialLocale); branchlines.add(branchlineReference); }); ===================================== models/persistence/src/main/java/fr/ird/observe/entities/data/ll/observation/LonglineElementAware.java → models/persistence/src/main/java/fr/ird/observe/entities/data/ll/observation/SetTopiaDao.java ===================================== @@ -1,6 +1,6 @@ package fr.ird.observe.entities.data.ll.observation; -/* +/*- * #%L * ObServe Models :: Persistence * %% @@ -22,37 +22,44 @@ package fr.ird.observe.entities.data.ll.observation; * #L% */ -import fr.ird.observe.dto.DtoParentAware; -import fr.ird.observe.dto.data.DataDto; -import fr.ird.observe.dto.reference.DataDtoReference; -import fr.ird.observe.entities.data.DataEntity; +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.spi.context.DataDtoEntityContext; + +import java.util.List; /** - * Place this contract on any element involved in longline definition. - * Created on 12/13/14. + * Created on 12/18/2020. * * @author Tony Chemit - dev(a)tchemit.fr - * @see Section - * @see Basket - * @see Branchline - * @see fr.ird.observe.dto.data.ll.observation.LonglineElementAware - * @since 3.10 + * @since 8.0.1 */ -public interface LonglineElementAware<Dt extends DataDto, R extends DataDtoReference> extends DataEntity<Dt, R>, DtoParentAware { - - Integer getSettingIdentifier(); - - void setSettingIdentifier(Integer settingIdentifier); +public class SetTopiaDao extends AbstractSetTopiaDao<Set> { - Integer getHaulingIdentifier(); + private static final String SQL_PATTERN = "SELECT DISTINCT(%1$s) FROM %2$s WHERE set = '%3$s' AND %1$s IS NOT NULL"; - void setHaulingIdentifier(Integer haulingIdentifier); + public ImmutableSet<String> getSectionUsed(String setId) { + ImmutableSet.Builder<String> builder = ImmutableSet.builder(); + getUsages(Tdr.SPI, Tdr.PROPERTY_SECTION, setId, builder); + getUsages(Catch.SPI, Catch.PROPERTY_SECTION, setId, builder); + return builder.build(); + } - boolean isTdrEmpty(); + public ImmutableSet<String> getBasketUsed(String setId) { + ImmutableSet.Builder<String> builder = ImmutableSet.builder(); + getUsages(Tdr.SPI, Tdr.PROPERTY_BASKET, setId, builder); + getUsages(Catch.SPI, Catch.PROPERTY_BASKET, setId, builder); + return builder.build(); + } - boolean isCatchesEmpty(); + public ImmutableSet<String> getBranchlineUsed(String setId) { + ImmutableSet.Builder<String> builder = ImmutableSet.builder(); + getUsages(Tdr.SPI, Tdr.PROPERTY_BRANCHLINE, setId, builder); + getUsages(Catch.SPI, Catch.PROPERTY_BRANCHLINE, setId, builder); + return builder.build(); + } - default boolean isNotUsed() { - return isTdrEmpty() && isCatchesEmpty(); + 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/models/Observe-30-data-ll-observation.model ===================================== @@ -1,19 +1,5 @@ package fr.ird.observe.entities.data.ll.observation | dbSchema=ll_observation -interface data.ll.observation.LonglineElementAware > fr.ird.observe.entities.data.DataEntity -getSettingIdentifier() Integer -setSettingIdentifier(identifier Integer) -getHaulingIdentifier() Integer -setHaulingIdentifier(identifier Integer) - -interface data.ll.observation.LonglinePositionAware > fr.ird.observe.entities.data.DataEntity -getSection() data.ll.observation.Section -setSection(section data.ll.observation.Section) -getBasket() data.ll.observation.Basket -setBasket(basket data.ll.observation.Basket) -getBranchline() data.ll.observation.Branchline -setBranchline(branchline data.ll.observation.Branchline) - data.ll.observation.Activity > data.DataEntity | entity constants=date,time comment + {*:1} String | hibernateAttributeType=text timeStamp + {*:1} Date @@ -35,16 +21,14 @@ individualWeight + {*:1} Float baitSettingStatus {*:1} referential.ll.common.BaitSettingStatus baitType {*:1} referential.ll.common.BaitType -data.ll.observation.Basket > data.DataEntity >> data.ll.observation.LonglineElementAware fr.ird.observe.dto.DtoParentAware | entity +data.ll.observation.Basket > data.DataEntity >> fr.ird.observe.dto.DtoParentAware | entity settingIdentifier + {*:1} Integer | notNull haulingIdentifier + {*:1} Integer floatline1Length + {*:1} Float floatline2Length + {*:1} Float branchline + {*} data.ll.observation.Branchline | unique orderBy=settingIdentifier inverse=false -catches {*} data.ll.observation.Catch | skipModelNavigation inverse -tdr {*} data.ll.observation.Tdr | skipModelNavigation inverse -data.ll.observation.Branchline > data.DataEntity >> data.ll.observation.LonglineElementAware fr.ird.observe.dto.DtoParentAware | entity constants=timerTimeOnBoardDate,timerTimeOnBoardTime +data.ll.observation.Branchline > data.DataEntity >> fr.ird.observe.dto.DtoParentAware | entity constants=timerTimeOnBoardDate,timerTimeOnBoardTime comment + {*:1} String | hibernateAttributeType=text settingIdentifier + {*:1} Integer | notNull haulingIdentifier + {*:1} Integer @@ -62,8 +46,6 @@ tracelineLength + {*:1} Float | sqlType=numeric hookLost + {*:1} Boolean traceCutOff + {*:1} Boolean hookType {*:0..1} referential.ll.common.HookType -catches {*} data.ll.observation.Catch | skipModelNavigation inverse -tdr {*} data.ll.observation.Tdr | skipModelNavigation inverse baitType {*:0..1} referential.ll.common.BaitType topType {*:0..1} referential.ll.common.LineType tracelineType {*:0..1} referential.ll.common.LineType @@ -78,7 +60,7 @@ tracelineLength + {*:1} Float topType {*:0..1} referential.ll.common.LineType tracelineType {*:0..1} referential.ll.common.LineType -data.ll.observation.Catch > data.DataEntity >> data.ll.observation.LonglinePositionAware | entity +data.ll.observation.Catch > data.DataEntity | entity comment + {*:1} String | hibernateAttributeType=text count + {*:1} Integer totalWeight + {*:1} Float | sqlType=numeric @@ -123,12 +105,10 @@ hookOffset + {*:1} Integer hookType {*:1} referential.ll.common.HookType hookSize {*:1} referential.ll.common.HookSize -data.ll.observation.Section > data.DataEntity >> data.ll.observation.LonglineElementAware fr.ird.observe.dto.DtoParentAware | entity +data.ll.observation.Section > data.DataEntity >> fr.ird.observe.dto.DtoParentAware | entity settingIdentifier + {*:1} Integer | notNull haulingIdentifier + {*:1} Integer basket + {*} data.ll.observation.Basket | unique orderBy=settingIdentifier inverse=false -catches {*} data.ll.observation.Catch | skipModelNavigation inverse -tdr {*} data.ll.observation.Tdr | skipModelNavigation inverse data.ll.observation.SensorUsed > data.DataEntity >> data.DataFileAware | entity data + {*:1} !java.sql.Blob @@ -190,7 +170,7 @@ size + {*:1} Float | sqlType=numeric sizeMeasureType {*:1} referential.common.SizeMeasureType lengthMeasureMethod {*:0..1} referential.common.LengthMeasureMethod -data.ll.observation.Tdr > data.DataEntity >> data.ll.observation.LonglinePositionAware data.DataFileAware | entity constants=deploymentStartDate,deploymentStartTime,deploymentEndDate,deploymentEndTime,fishingStartDate,fishingStartTime,fishingEndDate,fishingEndTime +data.ll.observation.Tdr > data.DataEntity >> data.DataFileAware | entity constants=deploymentStartDate,deploymentStartTime,deploymentEndDate,deploymentEndTime,fishingStartDate,fishingStartTime,fishingEndDate,fishingEndTime floatline1Length + {*:1} Float | sqlType=numeric floatline2Length + {*:1} Float | sqlType=numeric serialNo + {*:1} String ===================================== pom.xml ===================================== @@ -153,7 +153,7 @@ <lib.version.h2>1.4.196</lib.version.h2> <lib.version.nuiton.utils>3.0</lib.version.nuiton.utils> -<!-- <lib.version.java4all.topia>1.31</lib.version.java4all.topia>--> + <lib.version.java4all.topia>1.32</lib.version.java4all.topia> <!-- <lib.version.java4all.eugene>3.0-alpha-38</lib.version.java4all.eugene>--> <lib.version.java4all.jaxx>3.0-alpha-85</lib.version.java4all.jaxx> <!--<lib.version.java4all.application-context>1.0.3-SNAPSHOT</lib.version.java4all.application-context>--> ===================================== services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ll/observation/SetDetailCompositionServiceLocal.java ===================================== @@ -22,8 +22,11 @@ package fr.ird.observe.services.local.service.data.ll.observation; * #L% */ +import com.google.common.collect.ImmutableSet; import fr.ird.observe.dto.data.ll.observation.SetDetailCompositionDto; +import fr.ird.observe.dto.form.Form; import fr.ird.observe.entities.data.ll.observation.Set; +import fr.ird.observe.entities.data.ll.observation.SetTopiaDao; import fr.ird.observe.services.local.service.data.Simple2DataServiceLocalSupport; import fr.ird.observe.services.service.data.ll.observation.SetDetailCompositionService; @@ -37,4 +40,29 @@ public class SetDetailCompositionServiceLocal extends Simple2DataServiceLocalSup super(Set.SPI, Set.SET_DETAIL_COMPOSITION_SPI, null); } + @Override + protected Form<SetDetailCompositionDto> entityToForm(Set entity) { + Form<SetDetailCompositionDto> form = super.entityToForm(entity); + SetDetailCompositionDto dto = form.getObject(); + SetTopiaDao dao = Set.SPI.getDao(getTopiaPersistenceContext()); + ImmutableSet<String> sectionUsed = dao.getSectionUsed(entity.getTopiaId()); + ImmutableSet<String> basketUsed = dao.getBasketUsed(entity.getTopiaId()); + ImmutableSet<String> branchlineUsed = dao.getBranchlineUsed(entity.getTopiaId()); + dto.getSection().forEach(section -> { + section.setParentId(dto.getId()); + String sectionId = section.getTopiaId(); + section.setNotUsed(!sectionUsed.contains(sectionId)); + section.getBasket().forEach(basket -> { + basket.setParentId(sectionId); + String basketId = basket.getTopiaId(); + basket.setNotUsed(!basketUsed.contains(basketId)); + basket.getBranchline().forEach(branchline -> { + String branchlineId = branchline.getId(); + branchline.setParentId(basketId); + branchline.setNotUsed(!branchlineUsed.contains(branchlineId)); + }); + }); + }); + return form; + } } ===================================== services/local-impl/src/test/java/fr/ird/observe/services/local/service/data/ll/observation/SetDetailCompositionServiceLocalTest.java ===================================== @@ -79,6 +79,7 @@ public class SetDetailCompositionServiceLocalTest extends ServiceLocalTestSuppor Assert.assertEquals(Integer.valueOf(18), sectionDto.getHaulingIdentifier()); Assert.assertEquals(13, sectionDto.getBasketSize()); Assert.assertNotNull(sectionDto.getParentId()); + Assert.assertTrue(sectionDto.isNotUsed()); Assert.assertEquals(compositionDto.getId(), sectionDto.getParentId()); Assert.assertNotNull(sectionDto.toReference(ReferentialLocale.FR)); Assert.assertNotNull(sectionDto.toReference(ReferentialLocale.FR).getParentId()); @@ -88,6 +89,8 @@ public class SetDetailCompositionServiceLocalTest extends ServiceLocalTestSuppor Assert.assertEquals(Integer.valueOf(13), basketDto.getHaulingIdentifier()); Assert.assertEquals(6, basketDto.getBranchlineSize()); Assert.assertNotNull(basketDto.getParentId()); + Assert.assertTrue(basketDto.isNotUsed()); + Assert.assertEquals(sectionDto.getId(), basketDto.getParentId()); Assert.assertNotNull(basketDto.toReference(ReferentialLocale.FR)); Assert.assertNotNull(basketDto.toReference(ReferentialLocale.FR).getParentId()); @@ -96,9 +99,14 @@ public class SetDetailCompositionServiceLocalTest extends ServiceLocalTestSuppor Assert.assertEquals(Integer.valueOf(1), branchlineDto.getSettingIdentifier()); Assert.assertEquals(Integer.valueOf(6), branchlineDto.getHaulingIdentifier()); Assert.assertNotNull(branchlineDto.getParentId()); + Assert.assertTrue(branchlineDto.isNotUsed()); Assert.assertEquals(basketDto.getId(), branchlineDto.getParentId()); Assert.assertNotNull(branchlineDto.toReference(ReferentialLocale.FR)); Assert.assertNotNull(branchlineDto.toReference(ReferentialLocale.FR).getParentId()); + + sectionDto = compositionDto.getSection(6); + basketDto = sectionDto.getBasket(8); + Assert.assertFalse(basketDto.isNotUsed()); } @Test ===================================== 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/empty_h2.sql.gz ===================================== Binary files a/tests/test/src/main/resources/db/8.0/empty_h2.sql.gz and b/tests/test/src/main/resources/db/8.0/empty_h2.sql.gz differ ===================================== tests/test/src/main/resources/db/8.0/empty_pg.sql.gz ===================================== Binary files a/tests/test/src/main/resources/db/8.0/empty_pg.sql.gz and b/tests/test/src/main/resources/db/8.0/empty_pg.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 ===================================== toolkit/persistence/src/main/java/fr/ird/observe/entities/EntityHelper.java ===================================== @@ -204,18 +204,6 @@ public class EntityHelper { return dtoList; } - public static <DD extends DataDto, RR extends DataDtoReference, EE extends DataEntity<DD, RR>> LinkedHashSet<RR> toDataReferenceLinkedHashSet(ReferentialLocale referentialLocale, Collection<EE> entities) { - LinkedHashSet<RR> result = null; - if (entities != null) { - result = new LinkedHashSet<>(); - for (EE entity : entities) { - result.add(entity.toReference(referentialLocale)); - } - } - return result; - } - - @SuppressWarnings({"unchecked", "unused"}) public static <DD extends DataDto, RR extends DataDtoReference, EE extends DataEntity<?, ?>, C extends Collection<EE>> C toDataEntityCollectionFromReference(Collection<RR> referencesList, C entities) { if (entities == null) { View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/5af39beb242c07d5e4268bd1… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/5af39beb242c07d5e4268bd1… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 3 commits: clean some tests
by Tony CHEMIT 18 Dec '20

18 Dec '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: fe0a298a by Tony Chemit at 2020-12-18T11:29:18+01:00 clean some tests - - - - - 55095dec by Tony Chemit at 2020-12-18T11:29:48+01:00 Let&#39;s the framework manage WtiDatafile data - - - - - 5af39beb by Tony Chemit at 2020-12-18T13:32:10+01:00 Première passe pour supprimer toutes le code inutile et il y en a! Il reste quelques optimisations à réaliser sur la couche de persistence - See #1664 Première passe pour supprimer toutes le code inutile et il y en a! - - - - - 30 changed files: - − models/persistence/src/main/java/fr/ird/observe/entities/data/ActivityAware.java - − models/persistence/src/main/java/fr/ird/observe/entities/data/SetAware.java - models/persistence/src/main/java/fr/ird/observe/entities/data/TripAware.java - − models/persistence/src/main/java/fr/ird/observe/entities/data/ll/common/GearUseFeaturesImpl.java - models/persistence/src/main/java/fr/ird/observe/entities/data/ll/common/TripImpl.java - models/persistence/src/main/java/fr/ird/observe/entities/data/ll/logbook/ActivityImpl.java - − models/persistence/src/main/java/fr/ird/observe/entities/data/ll/logbook/ActivityTopiaDao.java - models/persistence/src/main/java/fr/ird/observe/entities/data/ll/logbook/SampleImpl.java - models/persistence/src/main/java/fr/ird/observe/entities/data/ll/logbook/SetImpl.java - models/persistence/src/main/java/fr/ird/observe/entities/data/ll/observation/ActivityImpl.java - − models/persistence/src/main/java/fr/ird/observe/entities/data/ll/observation/ActivityTopiaDao.java - − models/persistence/src/main/java/fr/ird/observe/entities/data/ll/observation/BranchlineImpl.java - − models/persistence/src/main/java/fr/ird/observe/entities/data/ll/observation/SensorUsedImpl.java - models/persistence/src/main/java/fr/ird/observe/entities/data/ll/observation/SetImpl.java - − models/persistence/src/main/java/fr/ird/observe/entities/data/ll/observation/TdrImpl.java - − models/persistence/src/main/java/fr/ird/observe/entities/data/ps/common/GearUseFeaturesImpl.java - models/persistence/src/main/java/fr/ird/observe/entities/data/ps/common/TripImpl.java - models/persistence/src/main/java/fr/ird/observe/entities/data/ps/observation/ActivityImpl.java - − models/persistence/src/main/java/fr/ird/observe/entities/data/ps/observation/ActivityTopiaDao.java - models/persistence/src/main/java/fr/ird/observe/entities/data/ps/observation/RouteTopiaDao.java - models/persistence/src/main/java/fr/ird/observe/entities/data/ps/observation/SetImpl.java - models/persistence/src/main/models/Observe-00-common.model - models/persistence/src/main/models/Observe-20-data-ps-observation.model - models/persistence/src/main/models/Observe-25-data-ps-common.model - models/persistence/src/main/models/Observe-30-data-ll-observation.model - models/persistence/src/main/models/Observe-31-data-ll-logbook.model - models/persistence/src/main/models/Observe-35-data-ll-common.model - services/local-impl/pom.xml - 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/data/ll/logbook/SetServiceLocal.java The diff was not included because it is too large. View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/c485f84c32a2207a2d64fd1f… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/c485f84c32a2207a2d64fd1f… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] Comportement des combobox - Closes #1642
by Tony CHEMIT 18 Dec '20

18 Dec '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: c485f84c by Tony Chemit at 2020-12-18T11:10:44+01:00 Comportement des combobox - Closes #1642 - - - - - 1 changed file: - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIHandler.java Changes: ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIHandler.java ===================================== @@ -48,6 +48,7 @@ import fr.ird.observe.dto.form.Form; import fr.ird.observe.dto.reference.ReferentialDtoReference; import fr.ird.observe.services.ObserveServicesProvider; import fr.ird.observe.services.service.ObserveService; +import io.ultreia.java4all.jaxx.widgets.combobox.JaxxComboBox; import io.ultreia.java4all.util.SingletonSupplier; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -60,8 +61,10 @@ import javax.swing.Icon; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JMenuItem; +import javax.swing.JTextField; import javax.swing.SwingUtilities; import java.awt.Component; +import java.awt.Container; import java.awt.FocusTraversalPolicy; import java.awt.KeyboardFocusManager; import java.beans.PropertyChangeListener; @@ -442,9 +445,30 @@ public abstract class ContentUIHandler<U extends ContentUI> implements ObserveSe focusAdjusting = true; try { getModel().setFormFocusOwner(newValue); + //FIXME on contentTable should also check we are in entry form + if (getDataSourceEditor().getModel().isFocusOnNavigation()) { + return; + } + if ("ComboBox.textField".equals(newValue.getName())) { + if (!getModel().getStates().isReadingMode()) { + // we are on jaxx combo box, let's open popup + Container parent = newValue.getParent(); + if (parent!=null) { + parent = parent.getParent(); + if (parent!=null) { + JaxxComboBox<?> combo = (JaxxComboBox<?>) parent; + log.debug(String.format("On a JaxxComboBox: %s on edit mode, will open popup", combo.getName())); + ((JTextField)newValue).setCaretPosition(0); + combo.getCombobox().setPopupVisible(true); + } + } + } + } } finally { focusAdjusting = false; } + } else { + log.debug(String.format("%sCan't set focus owner: %s", prefix,newValue)); } } @@ -460,7 +484,7 @@ public abstract class ContentUIHandler<U extends ContentUI> implements ObserveSe return; } - log.debug(String.format("%sSet form focus on %s", prefix, focusComponent)); + log.info(String.format("%sSet form focus on %s", prefix, focusComponent)); if (focusComponent != null) { focusAdjusting = true; SwingUtilities.invokeLater(() -> { View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/c485f84c32a2207a2d64fd1f5… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/c485f84c32a2207a2d64fd1f5… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] Lisibilité de la carte - police de la date - Closes #1640
by Tony CHEMIT 18 Dec '20

18 Dec '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: b9d86eb8 by Tony Chemit at 2020-12-18T10:14:17+01:00 Lisibilité de la carte - police de la date - Closes #1640 - - - - - 3 changed files: - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/map/TripMapContentBuilderSupport.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/map/TripMapUIHandler.java - client/datasource/editor/ps/src/main/resources/map/ps-style.xml Changes: ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/map/TripMapContentBuilderSupport.java ===================================== @@ -83,7 +83,7 @@ public abstract class TripMapContentBuilderSupport implements TripMapContentBuil 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("dd/MM"); + protected static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("MM-dd"); protected final List<ObserveMapPaneLegendItem> legendItems; protected final List<TripMapPoint> notValidPoints = new LinkedList<>(); ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/map/TripMapUIHandler.java ===================================== @@ -123,16 +123,16 @@ public class TripMapUIHandler implements UIHandler<TripMapUI> { if (zoomRatio != 1 && !rendererRunning) { JMapPane mapPane = getObserveMapPane(); - log.info("Zoom ratio: " + zoomRatio); + log.debug("Zoom ratio: " + zoomRatio); ReferencedEnvelope displayArea = mapPane.getDisplayArea(); double deltaWidth = displayArea.getWidth() * (zoomRatio - 1); double deltaHeight = displayArea.getHeight() * (zoomRatio - 1); - double ratioLeft = zoomCenter.getX() * 1d / mapPane.getWidth(); + double ratioLeft = zoomCenter.getX() / mapPane.getWidth(); // l'axe de Y est inversé entre le référentiel du composant swing et le référentiel géographique - double ratioTop = 1 - (zoomCenter.getY() * 1d / mapPane.getHeight()); + double ratioTop = 1 - (zoomCenter.getY() / mapPane.getHeight()); double deltaLeft = deltaWidth * ratioLeft; double deltaRight = deltaLeft - deltaWidth; ===================================== client/datasource/editor/ps/src/main/resources/map/ps-style.xml ===================================== @@ -58,7 +58,7 @@ <Font> <CssParameter name="font-size">14</CssParameter> <CssParameter name="font-style">normal</CssParameter> - <CssParameter name="font-weight">bold</CssParameter> + <CssParameter name="font-family">Sans-Serif</CssParameter> </Font> </TextSymbolizer> </Rule> View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/b9d86eb83242e40585297e2bc… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/b9d86eb83242e40585297e2bc… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 3 commits: Fix when a LL logbook Activity has no set
by Tony CHEMIT 18 Dec '20

18 Dec '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 7abb8b51 by Tony Chemit at 2020-12-18T01:44:30+01:00 Fix when a LL logbook Activity has no set - - - - - 628c0802 by Tony Chemit at 2020-12-18T01:52:26+01:00 Fix LL logbook Activity recopy action - - - - - eea48ea1 by Tony Chemit at 2020-12-18T02:00:51+01:00 Fix some accelerator for macos - - - - - 3 changed files: - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/ObserveLLKeyStrokes.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SetUIModel.java - services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ll/logbook/SetServiceLocal.java Changes: ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/ObserveLLKeyStrokes.java ===================================== @@ -33,9 +33,9 @@ import javax.swing.KeyStroke; * @since 8.0 */ public class ObserveLLKeyStrokes extends ObserveKeyStrokesEditorApi { - public static final KeyStroke KEY_STROKE_COPY_VALUES_AND_SAVE = KeyStroke.getKeyStroke("ctrl pressed T"); - public static final KeyStroke KEY_STROKE_SELECT_TRANSSHIPMENT = KeyStroke.getKeyStroke("ctrl pressed T"); - public static final KeyStroke KEY_STROKE_RESET_BRANCHLINE = KeyStroke.getKeyStroke("ctrl pressed Z"); - public static final KeyStroke KEY_STROKE_SAVE_BRANCHLINE = KeyStroke.getKeyStroke("ctrl pressed G"); - public static final KeyStroke KEY_STROKE_GENERATE_ID = KeyStroke.getKeyStroke("ctrl pressed G"); + public static final KeyStroke KEY_STROKE_COPY_VALUES_AND_SAVE = KeyStroke.getKeyStroke("pressed F9"); + public static final KeyStroke KEY_STROKE_SELECT_TRANSSHIPMENT = KeyStroke.getKeyStroke("alt pressed T"); + public static final KeyStroke KEY_STROKE_RESET_BRANCHLINE = KeyStroke.getKeyStroke("alt pressed Z"); + public static final KeyStroke KEY_STROKE_SAVE_BRANCHLINE = KeyStroke.getKeyStroke("alt pressed G"); + public static final KeyStroke KEY_STROKE_GENERATE_ID = KeyStroke.getKeyStroke("alt pressed G"); } ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SetUIModel.java ===================================== @@ -54,7 +54,7 @@ public class SetUIModel extends GeneratedSetUIModel { copySetCandidates = form.getObject().getOtherSets().stream() .sorted(Comparator.comparing(SetStubDto::getSettingStartTimeStamp)) .collect(Collectors.toList()); - addPropertyChangeListener(SetDto.PROPERTY_SETTING_START_TIME_STAMP, e -> updateCopySetCandidate((Date) e.getNewValue())); + getStates().getBean().addPropertyChangeListener(SetDto.PROPERTY_SETTING_START_TIME_STAMP, e -> updateCopySetCandidate((Date) e.getNewValue())); updateCopySetCandidate(getStates().getBean().getSettingStartTimeStamp()); } ===================================== services/local-impl/src/main/java/fr/ird/observe/services/local/service/data/ll/logbook/SetServiceLocal.java ===================================== @@ -140,7 +140,7 @@ public class SetServiceLocal extends EditableDataServiceLocalSupport<Activity, S private java.util.Set<SetStubDto> getBrothers(Activity parent) { java.util.Set<SetStubDto> result = new HashSet<>(); Trip trip = getParent(Trip.SPI, Trip.PROPERTY_ACTIVITY_LOGBOOK, parent.getTopiaId()); - trip.getActivityLogbook().stream().filter(ActivityAware::isSetOperation).filter(a -> !Objects.equals(a, parent)).forEach( + trip.getActivityLogbook().stream().filter(a -> a.isSetOperation() && !Objects.equals(a, parent) && a.getSet() != null).forEach( oneParent -> { Set otherSet = oneParent.getSet(); SetStubDto otherSetDto = Set.SET_STUB_SPI.toDto(getReferentialLocale(), otherSet); View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/5606957a4fa845850bca8889… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/5606957a4fa845850bca8889… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] [LL][Logbooks] F5 inopérant (sur MacOS) - Closes #1678
by Tony CHEMIT 18 Dec '20

18 Dec '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 5606957a by Tony Chemit at 2020-12-18T01:33:12+01:00 [LL][Logbooks] F5 inopérant (sur MacOS) - Closes #1678 - - - - - 1 changed file: - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/actions/SaveEdit.java Changes: ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/actions/SaveEdit.java ===================================== @@ -56,6 +56,7 @@ public final class SaveEdit<D extends DataDto, U extends ContentEditUI<D, U>> ex public static <D extends DataDto, U extends ContentEditUI<D, U>> void installAction(U ui, JButton editor, Supplier<SaveRequest> request, Function<SaveRequest, BiFunction<String, D, SaveResultDto>> consumer) { SaveEdit<D, U> action = prepareAction(ui, request, consumer, r -> new SaveEditUIAdapter<>(ui)); + action.setName(action.getName()+"_"+editor.getName()); init(ui, editor, action); } View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/5606957a4fa845850bca88895… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/5606957a4fa845850bca88895… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] Fix navigation menu for action with empty name
by Tony CHEMIT 18 Dec '20

18 Dec '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: d0953698 by Tony Chemit at 2020-12-18T01:06:53+01:00 Fix navigation menu for action with empty name - - - - - 1 changed file: - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/ContentUIMenuAction.java Changes: ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/ContentUIMenuAction.java ===================================== @@ -79,7 +79,12 @@ public class ContentUIMenuAction extends AbstractAction implements MenuAction { if (toolTipText != null) { toolTipText = ObserveKeyStrokesSupport.removeKeyStroke(toolTipText); putValue(SHORT_DESCRIPTION, toolTipText); + String name = (String) getValue(NAME); + if (name!=null && name.isEmpty()) { + putValue(NAME, toolTipText); + } } + this.action = new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/d0953698c96624a4c76a73b24… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/d0953698c96624a4c76a73b24… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 4 commits: use last stable of jaxx
by Tony CHEMIT 17 Dec '20

17 Dec '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 1786594d by Tony Chemit at 2020-12-17T23:44:36+01:00 use last stable of jaxx - - - - - bf7c28c9 by Tony Chemit at 2020-12-17T23:46:05+01:00 Let&#39;s improve once for all select toolbar visibility (always use size of table model, but also can use selected tab for sub content table), and it works pretty well :) - - - - - 453c24b9 by Tony Chemit at 2020-12-18T00:17:50+01:00 Valider tous les écrans du modèle LL - See #1665 l&#39;écran de composition détaillé commence à fonctionner \o/ - - - - - 8ad27d89 by Tony Chemit at 2020-12-18T00:58:37+01:00 [LL] Ajout données d&#39;observation - Closes #1673 - - - - - 15 changed files: - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/mode/ChangeModeExecutor.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/TripActionHelper.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/TripUIHelper.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/list/ContentListUIHandler.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/landing/LandingUIHandler.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SampleUIHandler.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SetGlobalCompositionUIHandler.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetDetailCompositionUIHandler.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetDetailCompositionUIModel.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetGlobalCompositionUIHandler.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/composition/CompositionAutoSelectRowAndShowPopupAction.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/composition/SetDetailCompositionUIValidationHelper.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/composition/basket/BasketTableModel.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/composition/branchline/BranchlineTableModel.java - pom.xml Changes: ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/mode/ChangeModeExecutor.java ===================================== @@ -121,7 +121,8 @@ public class ChangeModeExecutor<U extends ContentUI> { protected void afterOpenReselectNode(NavigationTree tree, NavigationNode selectedNode, String id) { log.info("Will reselect node: " + selectedNode); - SwingUtilities.invokeLater(() -> tree.reSelectSafeNode(selectedNode)); +// SwingUtilities.invokeLater(() -> tree.reSelectSafeNode(selectedNode)); + tree.reSelectSafeNode(selectedNode); } } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/TripActionHelper.java ===================================== @@ -137,11 +137,17 @@ public abstract class TripActionHelper implements WithClientUIContext { NavigationNode tripNode = tree.getSelectedNode().upToReferenceNode(getReferenceType()); tree.selectSafeNode(tripNode); TripUI<?> tripUI = (TripUI<?>) ui.getHandler().getDataSourceEditor().getModel().getContent(); + if (tripNode.getInitializer().getEditNodeId() == null) { + ((ContentUI) tripUI).getMode().doClick(); + tripUI = (TripUI<?>) ui.getHandler().getDataSourceEditor().getModel().getContent(); + } // set availability flag to true tripUI.getModel().set(availabilityPropertyName, true); // go to meta-data tab TabInfo tabInfo = tabGetter.apply(tripUI); - SwingUtilities.invokeLater(() -> tripUI.selectTab(tabInfo)); + TripUI<?> finalTripUI = tripUI; + SwingUtilities.invokeLater(() -> finalTripUI.selectTab(tabInfo)); + } } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/TripUIHelper.java ===================================== @@ -91,6 +91,9 @@ public class TripUIHelper<D extends DataDto, U extends ContentOpenableUI<D, U> & } private void buildTripMap() { + if (ui.getModel().getStates().isCreatingMode()) { + return; + } SwingUtilities.invokeLater(() -> { getClientUIContext().getBusyModel().addTask("Build map"); try { ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/list/ContentListUIHandler.java ===================================== @@ -144,7 +144,8 @@ public abstract class ContentListUIHandler<D extends DataDto, R extends DataDtoR Class<? extends DataDtoReference> referenceType = ui.getModel().getSource().getScope().getMainReferenceType(); NavigationNode referenceNode = tree.getSelectedNode().downToReferenceNode(referenceType, id); log.info(String.format("Will reselect node: %s", selectedNode)); - SwingUtilities.invokeLater(() -> tree.reSelectSafeNode(referenceNode)); +// SwingUtilities.invokeLater(() -> tree.reSelectSafeNode(referenceNode)); + tree.reSelectSafeNode(referenceNode); } @Override ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/landing/LandingUIHandler.java ===================================== @@ -57,7 +57,7 @@ class LandingUIHandler extends GeneratedLandingUIHandler { @Override public void onMainTabChanged(int previousIndex, int selectedIndex) { super.onMainTabChanged(previousIndex, selectedIndex); - ui.getLandingPartUI().getSelectToolbar().setVisible(selectedIndex == 1); + ui.getLandingPartUI().getSelectToolbar().setVisible(selectedIndex == 1 && ui.getLandingPartUI().getTableModel().getRowCount() > 1); } @Override ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SampleUIHandler.java ===================================== @@ -55,7 +55,7 @@ class SampleUIHandler extends GeneratedSampleUIHandler { @Override public void onMainTabChanged(int previousIndex, int selectedIndex) { super.onMainTabChanged(previousIndex, selectedIndex); - ui.getSamplePartUI().getSelectToolbar().setVisible(selectedIndex == 1); + ui.getSamplePartUI().getSelectToolbar().setVisible(selectedIndex == 1 && ui.getSamplePartUI().getTableModel().getRowCount()>1); } @Override ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SetGlobalCompositionUIHandler.java ===================================== @@ -56,6 +56,15 @@ class SetGlobalCompositionUIHandler extends GeneratedSetGlobalCompositionUIHandl getContentOpen().initTabUI(ui.getBaitsCompositionUI(), ui.getBaitsCompositionPanel(), 3); } + @Override + public void onMainTabChanged(int previousIndex, int selectedIndex) { + super.onMainTabChanged(previousIndex, selectedIndex); + ui.getFloatlinesCompositionUI().getSelectToolbar().setVisible(selectedIndex == 0 && ui.getFloatlinesCompositionUI().getTableModel().getRowCount() > 1); + ui.getBranchlinesCompositionUI().getSelectToolbar().setVisible(selectedIndex == 1 && ui.getBranchlinesCompositionUI().getTableModel().getRowCount() > 1); + ui.getHooksCompositionUI().getSelectToolbar().setVisible(selectedIndex == 2 && ui.getHooksCompositionUI().getTableModel().getRowCount() > 1); + ui.getBaitsCompositionUI().getSelectToolbar().setVisible(selectedIndex == 3 && ui.getBaitsCompositionUI().getTableModel().getRowCount() > 1); + } + @Override protected void installResetAction() { ResetForm.installAction(ui, ui.getReset(), new DefaultResetAdapter<SetGlobalCompositionUI>() { ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetDetailCompositionUIHandler.java ===================================== @@ -76,7 +76,6 @@ public class SetDetailCompositionUIHandler extends GeneratedSetDetailComposition private final PropertyChangeListener branchlineDetailChanged; private final PropertyChangeListener modelCanGenerateChanged; private final JVetoableTabbedPane.ChangeSelectedIndex tabbedPaneWillChanged; - public SetDetailCompositionUIValidationHelper validationHelper; SetDetailCompositionUIHandler() { @@ -106,7 +105,6 @@ public class SetDetailCompositionUIHandler extends GeneratedSetDetailComposition @Override public void onInit(SetDetailCompositionUI ui) { - this.validationHelper = new SetDetailCompositionUIValidationHelper(ui); super.onInit(ui); ui.getSectionTemplatesTable().setCellSelectionEnabled(false); ui.get$objectMap().put(DefaultUIInitializer.SUB_TABBED_PANE, ui.getBranchlineDetailUI().getSubTabbedPane()); @@ -118,7 +116,7 @@ public class SetDetailCompositionUIHandler extends GeneratedSetDetailComposition @Override protected void installResetAction() { - ResetForm.installAction(ui, ui.getReset(), new DefaultResetAdapter<SetDetailCompositionUI>() { + ResetForm.installAction(ui, ui.getReset(), new DefaultResetAdapter<>() { @Override public void onUpdate(SetDetailCompositionUI ui) { BranchlineDto branchline = ui.getBranchlinesTableModel().getSelectedRow(); @@ -157,6 +155,7 @@ public class SetDetailCompositionUIHandler extends GeneratedSetDetailComposition Form<BranchlineDto> branchlineDtoForm = Form.newFormDto(BranchlineDto.class, null); BranchlineUIModel branchlineUIModel = model.getBranchlineUIModel(); + branchlineUIModel.setMode(model.getStates().getMode()); Optional<FormDefinition<BranchlineDto>> optionalFormDefinition = ObserveBusinessProject.get().getOptionalFormDefinition(BranchlineDto.class); optionalFormDefinition.ifPresent(t -> branchlineObsUI.getModel().getReferenceCache().loadReferentialReferenceSetsInModel(t, true)); branchlineUIModel.setForm(branchlineDtoForm); @@ -171,7 +170,8 @@ public class SetDetailCompositionUIHandler extends GeneratedSetDetailComposition // TODO Use a cache of templates on setLongline (session scope) model.getSectionTemplatesTableModel().setData(new ArrayList<>()); - branchlineObsUI.edit(null); + BranchlineDto selectedRow = model.getBranchlinesTableModel().getSelectedRow(); + branchlineObsUI.edit(selectedRow); } @Override @@ -180,6 +180,7 @@ public class SetDetailCompositionUIHandler extends GeneratedSetDetailComposition SetDetailCompositionUIModel model = getModel(); List<SectionWithTemplateDto> section = SectionWithTemplateDto.getSectionTemplates(model.getStates().getBean().getSection()); model.getSectionsTableModel().setData(section); + SetDetailCompositionUIValidationHelper validationHelper = model.getValidationHelper(); validationHelper.setObjectValueAdjusting(true); try { model.getSectionTemplatesTableModel().onSectionTemplatesTableModelModified(false); @@ -306,10 +307,6 @@ public class SetDetailCompositionUIHandler extends GeneratedSetDetailComposition } } - public SetDetailCompositionUIValidationHelper getValidationHelper() { - return validationHelper; - } - protected void editBranchline(BranchlineDto branchline) { boolean changed = ui.getValidator().isChanged(); try { ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetDetailCompositionUIModel.java ===================================== @@ -246,7 +246,7 @@ public class SetDetailCompositionUIModel extends GeneratedSetDetailCompositionUI public void init(ContentUI ui, DefaultUIInitializerResult initializerResult) { super.init(ui, initializerResult); SetDetailCompositionUI ui1 = (SetDetailCompositionUI) ui; - validationHelper = ui1.getHandler().getValidationHelper(); + validationHelper = new SetDetailCompositionUIValidationHelper(ui1); getSectionTemplatesTableModel().init(ui1); getSectionsTableModel().init(); getBasketsTableModel().init(ui1); ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetGlobalCompositionUIHandler.java ===================================== @@ -56,6 +56,15 @@ class SetGlobalCompositionUIHandler extends GeneratedSetGlobalCompositionUIHandl getContentOpen().initTabUI(ui.getBaitsCompositionUI(), ui.getBaitsCompositionPanel(), 3); } + @Override + public void onMainTabChanged(int previousIndex, int selectedIndex) { + super.onMainTabChanged(previousIndex, selectedIndex); + ui.getFloatlinesCompositionUI().getSelectToolbar().setVisible(selectedIndex == 0 && ui.getFloatlinesCompositionUI().getTableModel().getRowCount() > 1); + ui.getBranchlinesCompositionUI().getSelectToolbar().setVisible(selectedIndex == 1 && ui.getBranchlinesCompositionUI().getTableModel().getRowCount() > 1); + ui.getHooksCompositionUI().getSelectToolbar().setVisible(selectedIndex == 2 && ui.getHooksCompositionUI().getTableModel().getRowCount() > 1); + ui.getBaitsCompositionUI().getSelectToolbar().setVisible(selectedIndex == 3 && ui.getBaitsCompositionUI().getTableModel().getRowCount() > 1); + } + @Override protected void installResetAction() { ResetForm.installAction(ui, ui.getReset(), new DefaultResetAdapter<SetGlobalCompositionUI>() { ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/composition/CompositionAutoSelectRowAndShowPopupAction.java ===================================== @@ -26,7 +26,7 @@ import fr.ird.observe.client.datasource.editor.api.content.data.simple.ContentSi import fr.ird.observe.client.datasource.editor.api.content.ui.table.EditableTableModelSupport; import fr.ird.observe.client.datasource.editor.api.content.ui.table.popup.AutoSelectRowAndShowPopupActionSupport; import fr.ird.observe.client.datasource.editor.ll.data.observation.SetDetailCompositionUI; -import fr.ird.observe.dto.data.DataDto; +import fr.ird.observe.dto.IdDto; import fr.ird.observe.dto.data.ll.observation.SetDetailCompositionDto; import javax.swing.JMenuItem; @@ -57,11 +57,11 @@ public class CompositionAutoSelectRowAndShowPopupAction extends AutoSelectRowAnd @Override protected void beforeOpenPopup(int modelRowIndex, int modelColumnIndex) { - @SuppressWarnings("unchecked") EditableTableModelSupport<DataDto> model = (EditableTableModelSupport<DataDto>) getTable().getModel(); + @SuppressWarnings("unchecked") EditableTableModelSupport<IdDto> model = (EditableTableModelSupport<IdDto>) getTable().getModel(); boolean selectionNotEmpty = !model.isSelectionEmpty(); boolean selectedRowIsNotEmpty = false; if (selectionNotEmpty) { - DataDto selectedData = model.getSelectedRow(); + IdDto selectedData = model.getSelectedRow(); selectedRowIsNotEmpty = model.isRowNotEmpty(selectedData); } ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/composition/SetDetailCompositionUIValidationHelper.java ===================================== @@ -60,7 +60,7 @@ public class SetDetailCompositionUIValidationHelper { public SetDetailCompositionUIValidationHelper(SetDetailCompositionUI ui) { this.model = ui.getModel(); - this.errorTableModel = (ContentMessageTableModel) ui.getErrorTableModel(); + this.errorTableModel = ui.getErrorTableModel(); SwingValidator<SectionDto> sectionValidator = ui.getSectionValidator(); SwingValidator<BasketDto> basketValidator = ui.getBasketValidator(); SwingValidator<BranchlineDto> branchlineValidator = ui.getBranchlineValidator(); ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/composition/basket/BasketTableModel.java ===================================== @@ -60,7 +60,7 @@ public class BasketTableModel extends LonglineCompositionTableModelSupport<Baske } public void init(SetDetailCompositionUI ui) { - validationHelper = ui.getHandler().getValidationHelper(); + validationHelper = ui.getModel().getValidationHelper(); PropertyChangeListener basketsTableModelModified = evt -> { Boolean newValue = (Boolean) evt.getNewValue(); ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/composition/branchline/BranchlineTableModel.java ===================================== @@ -132,6 +132,8 @@ public class BranchlineTableModel extends LonglineCompositionTableModelSupport<B result = !isGenerateHaulingIds(); break; case 2: + case 3: + // can always change length ? result = true; break; default: ===================================== pom.xml ===================================== @@ -155,7 +155,7 @@ <!-- <lib.version.java4all.topia>1.31</lib.version.java4all.topia>--> <!-- <lib.version.java4all.eugene>3.0-alpha-38</lib.version.java4all.eugene>--> - <lib.version.java4all.jaxx>3.0-alpha-85-SNAPSHOT</lib.version.java4all.jaxx> + <lib.version.java4all.jaxx>3.0-alpha-85</lib.version.java4all.jaxx> <!--<lib.version.java4all.application-context>1.0.3-SNAPSHOT</lib.version.java4all.application-context>--> <!--<lib.version.java4all.application-template>1.0.2-SNAPSHOT</lib.version.java4all.application-template>--> <!--<lib.version.java4all.i18n>4.0-beta-3-SNAPSHOT</lib.version.java4all.i18n>--> View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/fb0090f8d4acbb49eb2c8c1b… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/fb0090f8d4acbb49eb2c8c1b… You're receiving this email because of your account on gitlab.com.
1 0
0 0
  • ← Newer
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.