This is an automated email from the git hooks/post-receive script. New commit to branch feature/7616-VerifEcranCaptures in repository tutti. See http://git.codelutin.com/tutti.git commit 95af8d1f120f6724c0a57ce608dd20b1417b8b90 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Fri Mar 11 10:00:57 2016 +0100 Ajout de trace dans les appels des services, revoie dans le dto des données de position sur la ligne (see #7616). --- .../impl/longline/CatchLonglineUIHandler.java | 12 +- .../impl/longline/LonglinePositionHelper.java | 51 ++++--- .../content/table/impl/longline/TdrUIHandler.java | 22 ++- .../dto/reference/DataReferenceSetDefinitions.java | 12 +- .../xmi/observe-services-dto-longline.properties | 4 + .../main/xmi/observe-services-dto-longline.zargo | Bin 63930 -> 64556 bytes .../longline/SetLonglineCatchServiceTopia.java | 158 +++++++++++++++------ 7 files changed, 176 insertions(+), 83 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java index 124c1a7..cb5e467 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java @@ -26,7 +26,6 @@ import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.DataReference; -import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.BasketDto; import fr.ird.observe.services.dto.longline.BranchlineDto; @@ -611,13 +610,12 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat model.setForm(form); - - DataReferenceSet<SectionDto> sections= model.getDataReferenceSet(CatchLonglineDto.PROPERTY_SECTION); - DataReferenceSet<BasketDto> baskets = model.getDataReferenceSet(CatchLonglineDto.PROPERTY_BASKET); - DataReferenceSet<BranchlineDto> branchlines = model.getDataReferenceSet(CatchLonglineDto.PROPERTY_BRANCHLINE); - LonglinePositionHelper<CatchLonglineDto> positionHelper = POSITION_HELPER_ENTRY.getContextValue(getUi()); - positionHelper.initSections(sections, baskets, branchlines, form.getObject().getCatchLongline()); + positionHelper.initSections( + form.getObject().getSections(), + form.getObject().getBaskets(), + form.getObject().getBranchlines(), + form.getObject().getCatchLongline()); SetLonglineCatchDtos.copySetLonglineCatchDto(form.getObject(), getBean()); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/LonglinePositionHelper.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/LonglinePositionHelper.java index 306d302..8ccb724 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/LonglinePositionHelper.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/LonglinePositionHelper.java @@ -22,10 +22,8 @@ package fr.ird.observe.ui.content.table.impl.longline; * #L% */ -import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import fr.ird.observe.services.dto.DataReference; -import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.longline.BasketDto; import fr.ird.observe.services.dto.longline.BranchlineDto; import fr.ird.observe.services.dto.longline.CatchLonglineDto; @@ -38,6 +36,7 @@ import java.beans.PropertyChangeListener; import java.util.Collection; import java.util.Collections; import java.util.List; +import java.util.stream.Collectors; /** * Created on 1/6/15. @@ -56,11 +55,11 @@ public class LonglinePositionHelper<D extends LonglinePositionAwareDto> { // To avoid any propagation when doing some works on locations protected boolean locationIsAdjusting; - protected DataReferenceSet<SectionDto> sectionUniverse; + protected Collection<DataReference<SectionDto>> sectionUniverse; - protected DataReferenceSet<BasketDto> basketUniverse; + protected Collection<DataReference<BasketDto>> basketUniverse; - protected DataReferenceSet<BranchlineDto> branchlineUniverse; + protected Collection<DataReference<BranchlineDto>> branchlineUniverse; public LonglinePositionHelper(BeanComboBox<DataReference<SectionDto>> uiSection, BeanComboBox<DataReference<BasketDto>> uiBasket, @@ -91,9 +90,9 @@ public class LonglinePositionHelper<D extends LonglinePositionAwareDto> { } - public void initSections(DataReferenceSet<SectionDto> sectionUniverse, - DataReferenceSet<BasketDto> basketUniverse, - DataReferenceSet<BranchlineDto> branchlineUniverse, + public void initSections(Collection<DataReference<SectionDto>> sectionUniverse, + Collection<DataReference<BasketDto>> basketUniverse, + Collection<DataReference<BranchlineDto>> branchlineUniverse, Collection<D> dtos) { this.sectionUniverse = sectionUniverse; @@ -180,7 +179,7 @@ public class LonglinePositionHelper<D extends LonglinePositionAwareDto> { if (sectionUniverse != null) { - sections.addAll(sectionUniverse.getReferences()); + sections.addAll(sectionUniverse); } @@ -281,7 +280,14 @@ public class LonglinePositionHelper<D extends LonglinePositionAwareDto> { protected DataReference<SectionDto> getSection(DataReference<BasketDto> basket) { String sectionId = (String) basket.getPropertyValue(BasketDto.PROPERTY_SECTION); - DataReference<SectionDto> section = sectionUniverse.getReferenceById(sectionId); + + DataReference<SectionDto> section = sectionUniverse.stream() + // TODO sbavencoff 11/03/2016 utiliser le prédicat AbstractReference.newIdPredicate() + // A la migartion vers les prédicats JAVA8 + .filter(s -> sectionId.equals(s.getId())) + .findFirst() + .get(); + return section; } @@ -289,25 +295,36 @@ public class LonglinePositionHelper<D extends LonglinePositionAwareDto> { protected DataReference<BasketDto> getBasket(DataReference<BranchlineDto> branchline) { String basketId = (String) branchline.getPropertyValue(BranchlineDto.PROPERTY_BASKET); - DataReference<BasketDto> basket = basketUniverse.getReferenceById(basketId); + + DataReference<BasketDto> basket = basketUniverse.stream() + // TODO sbavencoff 11/03/2016 utiliser le prédicat DataReference.newLabelValuePredicate + // A la migartion vers les prédicats JAVA8 + .filter(b -> basketId.equals(b.getId())) + .findFirst() + .get(); + return basket; } protected List<DataReference<BasketDto>> getBaskets(DataReference<SectionDto> section) { - List<DataReference<BasketDto>> baskets = Lists.newArrayList(Iterables.filter( - basketUniverse.getReferences(), - DataReference.newLabelValuePredicate(BasketDto.PROPERTY_SECTION, section.getId()))); + List<DataReference<BasketDto>> baskets = basketUniverse.stream() + // TODO sbavencoff 11/03/2016 utiliser le prédicat DataReference.newLabelValuePredicate + // A la migartion vers les prédicat JAVA8 + .filter(b -> section.getId().equals(b.getPropertyValue(BasketDto.PROPERTY_SECTION))) + .collect(Collectors.toList()); return baskets; } protected List<DataReference<BranchlineDto>> getBranchlines(DataReference<BasketDto> basket) { - List<DataReference<BranchlineDto>> branchlines = Lists.newArrayList(Iterables.filter( - branchlineUniverse.getReferences(), - DataReference.newLabelValuePredicate(BranchlineDto.PROPERTY_BASKET, basket.getId()))); + List<DataReference<BranchlineDto>> branchlines = branchlineUniverse.stream() + // TODO sbavencoff 11/03/2016 utilise le prédicat DataReference.newLabelValuePredicate + // A la migartion vers les prédicat JAVA8 + .filter(b -> basket.getId().equals(b.getPropertyValue(BranchlineDto.PROPERTY_BASKET))) + .collect(Collectors.toList()); return branchlines; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java index b72ee1d..9ffccf9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java @@ -28,12 +28,7 @@ import com.google.common.io.Files; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.ObserveSwingTechnicalException; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.Form; -import fr.ird.observe.services.dto.longline.BasketDto; -import fr.ird.observe.services.dto.longline.BranchlineDto; -import fr.ird.observe.services.dto.longline.CatchLonglineDto; -import fr.ird.observe.services.dto.longline.SectionDto; import fr.ird.observe.services.dto.longline.SetLonglineTdrDto; import fr.ird.observe.services.dto.longline.SetLonglineTdrDtos; import fr.ird.observe.services.dto.longline.TdrDto; @@ -478,16 +473,17 @@ public class TdrUIHandler extends ContentTableUIHandler<SetLonglineTdrDto, TdrDt ContentTableUIModel<SetLonglineTdrDto, TdrDto> model = getModel(); loadReferentialReferenceSetsInModel(form); model.setForm(form); - - DataReferenceSet<SectionDto> sections = model.getDataReferenceSet(CatchLonglineDto.PROPERTY_SECTION); - DataReferenceSet<BasketDto> baskets = model.getDataReferenceSet(CatchLonglineDto.PROPERTY_BASKET); - DataReferenceSet<BranchlineDto> branchlines = model.getDataReferenceSet(CatchLonglineDto.PROPERTY_BRANCHLINE); +//TODO sbavencoff a traité dans le ticket sur l'ecran TDR +// DataReferenceSet<SectionDto> sections = model.getDataReferenceSet(CatchLonglineDto.PROPERTY_SECTION); +// DataReferenceSet<BasketDto> baskets = model.getDataReferenceSet(CatchLonglineDto.PROPERTY_BASKET); +// DataReferenceSet<BranchlineDto> branchlines = model.getDataReferenceSet(CatchLonglineDto.PROPERTY_BRANCHLINE); LonglinePositionHelper<TdrDto> positionHelper = POSITION_HELPER_ENTRY.getContextValue(getUi()); - positionHelper.initSections(sections, - baskets, - branchlines, - form.getObject().getTdr()); +//TODO sbavencoff a traité dans le ticket sur l'ecran TDR +// positionHelper.initSections(sections, +// baskets, +// branchlines, +// form.getObject().getTdr()); SetLonglineTdrDtos.copySetLonglineTdrDto(form.getObject(), getBean()); diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/DataReferenceSetDefinitions.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/DataReferenceSetDefinitions.java index 78704e2..d524f35 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/DataReferenceSetDefinitions.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/DataReferenceSetDefinitions.java @@ -120,7 +120,17 @@ public enum DataReferenceSetDefinitions { BRANCHLINE(newDefinitionBuilder(BranchlineDto.class) .addProperty(Integer.class, BranchlineDto.PROPERTY_HAULING_IDENTIFIER) - .addProperty(Integer.class, BranchlineDto.PROPERTY_SETTING_IDENTIFIER)),; + .addProperty(Integer.class, BranchlineDto.PROPERTY_SETTING_IDENTIFIER)), + + BASKET_WITH_SECTION(newDefinitionBuilder(BasketDto.class) + .addProperty(Integer.class, BasketDto.PROPERTY_HAULING_IDENTIFIER) + .addProperty(Integer.class, BasketDto.PROPERTY_SETTING_IDENTIFIER) + .addProperty(String.class, BasketDto.PROPERTY_SECTION)), + + BRANCHLINE_WITH_BASKET(newDefinitionBuilder(BranchlineDto.class) + .addProperty(Integer.class, BranchlineDto.PROPERTY_HAULING_IDENTIFIER) + .addProperty(Integer.class, BranchlineDto.PROPERTY_SETTING_IDENTIFIER) + .addProperty(String.class, BranchlineDto.PROPERTY_BASKET)),; public static final Map<String, ReferenceSetDefinition> MAPPING = new TreeMap<>(); diff --git a/observe-services-model/src/main/xmi/observe-services-dto-longline.properties b/observe-services-model/src/main/xmi/observe-services-dto-longline.properties index abcd155..63d8b19 100644 --- a/observe-services-model/src/main/xmi/observe-services-dto-longline.properties +++ b/observe-services-model/src/main/xmi/observe-services-dto-longline.properties @@ -66,6 +66,10 @@ fr.ird.observe.services.dto.longline.FloatlinesComposition.attribute.lineType.ta fr.ird.observe.services.dto.longline.Encounter.attribute.species.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.services.dto.longline.Encounter.attribute.encounterType.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.EncounterTypeDto +fr.ird.observe.services.dto.longline.SetLonglineCatch.attribute.baskets.tagValue.attributeGeneric=fr.ird.observe.services.dto.longline.BasketDto +fr.ird.observe.services.dto.longline.SetLonglineCatch.attribute.branchlines.tagValue.attributeGeneric=fr.ird.observe.services.dto.longline.BranchlineDto +fr.ird.observe.services.dto.longline.SetLonglineCatch.attribute.sections.tagValue.attributeGeneric=fr.ird.observe.services.dto.longline.SectionDto + fr.ird.observe.services.dto.longline.CatchLongline.attribute.basket.tagValue.attributeGeneric=fr.ird.observe.services.dto.longline.BasketDto fr.ird.observe.services.dto.longline.CatchLongline.attribute.branchline.tagValue.attributeGeneric=fr.ird.observe.services.dto.longline.BranchlineDto fr.ird.observe.services.dto.longline.CatchLongline.attribute.catchFateLongline.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.CatchFateLonglineDto diff --git a/observe-services-model/src/main/xmi/observe-services-dto-longline.zargo b/observe-services-model/src/main/xmi/observe-services-dto-longline.zargo index 5747114..e13bb9e 100644 Binary files a/observe-services-model/src/main/xmi/observe-services-dto-longline.zargo and b/observe-services-model/src/main/xmi/observe-services-dto-longline.zargo differ diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchServiceTopia.java index 76b3e04..29bfab7 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchServiceTopia.java @@ -22,20 +22,37 @@ package fr.ird.observe.services.service.longline; * #L% */ +import fr.ird.observe.entities.longline.Basket; +import fr.ird.observe.entities.longline.Branchline; +import fr.ird.observe.entities.longline.Section; import fr.ird.observe.entities.longline.SetLongline; import fr.ird.observe.services.ObserveServiceTopia; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.longline.BasketDto; +import fr.ird.observe.services.dto.longline.BranchlineDto; +import fr.ird.observe.services.dto.longline.CatchLonglineDto; +import fr.ird.observe.services.dto.longline.SectionDto; import fr.ird.observe.services.dto.longline.SetLonglineCatchDto; +import fr.ird.observe.services.dto.reference.DataReferenceSetDefinitions; +import fr.ird.observe.services.dto.reference.ReferenceSetDefinition; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ public class SetLonglineCatchServiceTopia extends ObserveServiceTopia implements SetLonglineCatchService { + private static final Log log = LogFactory.getLog(SetLonglineCatchServiceTopia.class); + @Override public Form<SetLonglineCatchDto> loadForm(String setLonglineId) { + if (log.isTraceEnabled()) { + log.trace("loadForm(" + setLonglineId + ")"); + } SetLongline setLongline = loadEntity(SetLonglineCatchDto.class, setLonglineId); @@ -43,59 +60,110 @@ public class SetLonglineCatchServiceTopia extends ObserveServiceTopia implements SetLonglineCatchDto.class, setLongline, ReferenceSetRequestDefinitions.SET_LONGLINE_CATCH_FORM - //ImmutableMap.<String, Object>of(Section.PROPERTY_SET_LONGLINE, setLongline), //FIXME context ); - //FIXME Faire ça dans l'ui -// for(Section section : setLongline.getSection()) { -// -// for (Basket basket : section.getBasket()) { -// -// ReferenceDto<BasketDto> basketRef = form.getReferenceById(BasketDto.class, SectionDto.PROPERTY_BASKET, basket.getTopiaId()); -// -// basketRef.addPropertyValue(BasketDto.PROPERTY_SECTION, section.getTopiaId()); -// -// for (Branchline branchline : basket.getBranchline()) { -// -// ReferenceDto<BranchlineDto> branchlineRef = form.getReferenceById(BranchlineDto.class, BasketDto.PROPERTY_BRANCHLINE, branchline.getTopiaId()); -// -// branchlineRef.addPropertyValue(BranchlineDto.PROPERTY_BASKET, basket.getTopiaId()); -// -// } -// -// } -// -// } -// -// for (CatchLonglineDto catchLonglineDto : form.getForm().getCatchLongline()) { -// -// ReferenceDto<BasketDto> basketRef = catchLonglineDto.getBasket(); -// -// if (basketRef != null) { -// -// ReferenceDto<BasketDto> basketRefLabel = form.getReferenceById(BasketDto.class, basketRef.getId()); -// -// basketRef.addPropertyValue(BasketDto.PROPERTY_SECTION, basketRefLabel.getPropertyValue(BasketDto.PROPERTY_SECTION)); -// -// } -// -// ReferenceDto<BranchlineDto> branchlineRef = catchLonglineDto.getBranchline(); -// -// if (branchlineRef != null) { -// -// ReferenceDto<BranchlineDto> branchlineRefLabel = form.getReferenceById(BranchlineDto.class, branchlineRef.getId()); -// -// branchlineRef.addPropertyValue(BranchlineDto.PROPERTY_BASKET, branchlineRefLabel.getPropertyValue(BranchlineDto.PROPERTY_BASKET)); -// -// } -// -// } + // constitution des références des position sur la ligne + for(Section section : setLongline.getSection()) { + + DataReference<SectionDto> sectionRef = toReference(section); + + form.getObject().addSections(sectionRef); + + for (Basket basket : section.getBasket()) { + + DataReference<BasketDto> basketRef = toBasketReference(basket, section); + + form.getObject().addBaskets(basketRef); + + for (Branchline branchline : basket.getBranchline()) { + + DataReference<BranchlineDto> branchlineRef = toBranchlineReference(branchline, basket); + + form.getObject().addBranchlines(branchlineRef); + + } + + } + + } + + // remplacement des références de position avec ces référence complété avec l'id du parent + for (CatchLonglineDto catchLonglineDto : form.getObject().getCatchLongline()) { + + DataReference<BasketDto> basketRef = catchLonglineDto.getBasket(); + + if (basketRef != null) { + + DataReference<BasketDto> basketRefWithSection = form.getObject().getBaskets().stream() + .filter(b -> basketRef.getId().equals(b.getId())) + .findFirst() + .get(); + + catchLonglineDto.setBasket(basketRefWithSection); + + } + + DataReference<BranchlineDto> branchlineRef = catchLonglineDto.getBranchline(); + + if (branchlineRef != null) { + + DataReference<BranchlineDto> branchlineRefWithSection = form.getObject().getBranchlines().stream() + .filter(b -> branchlineRef.getId().equals(b.getId())) + .findFirst() + .get(); + + catchLonglineDto.setBranchline(branchlineRefWithSection); + + } + + } return form; } + protected DataReference<BasketDto> toBasketReference(Basket basket, Section section) { + + DataReference<BasketDto> reference = new DataReference<>(); + + reference.setId(basket.getTopiaId()); + reference.setCreateDate(basket.getTopiaCreateDate()); + reference.setVersion(basket.getTopiaVersion()); + + ReferenceSetDefinition<BasketDto> definition = DataReferenceSetDefinitions.BASKET_WITH_SECTION.getDefinition(); + reference.init(definition.getType(), + definition.getPropertyNames(), + basket.getSettingIdentifier(), + basket.getHaulingIdentifier(), + section.getTopiaId()); + + return reference; + } + + protected DataReference<BranchlineDto> toBranchlineReference(Branchline branchline, Basket basket) { + + DataReference<BranchlineDto> reference = new DataReference<>(); + + reference.setId(branchline.getTopiaId()); + reference.setCreateDate(branchline.getTopiaCreateDate()); + reference.setVersion(branchline.getTopiaVersion()); + + ReferenceSetDefinition<BranchlineDto> definition = DataReferenceSetDefinitions.BRANCHLINE_WITH_BASKET.getDefinition(); + reference.init(definition.getType(), + definition.getPropertyNames(), + branchline.getSettingIdentifier(), + branchline.getHaulingIdentifier(), + basket.getTopiaId()); + + return reference; + } + + @Override public SaveResultDto save(SetLonglineCatchDto dto) { + if (log.isTraceEnabled()) { + log.trace("save(" + dto.getId() + ")"); + } + SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); copyDataDtoToEntity(dto, entity); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.