This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit d1ae1f09b3ea8960639d50ef86a887183d689b4c Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Oct 26 17:51:39 2016 +0200 Chargement dans l'arbre du nombre de route par marée --- .../observe/application/swing/ui/tree/ObserveTreeHelper.java | 12 ++++++++++++ .../application/swing/ui/tree/node/TripSeineNode.java | 12 ++++++++++++ 2 files changed, 24 insertions(+) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/ObserveTreeHelper.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/ObserveTreeHelper.java index 4487406..a29372a 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/ObserveTreeHelper.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/ObserveTreeHelper.java @@ -23,8 +23,10 @@ package fr.ird.observe.application.swing.ui.tree; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableListMultimap; +import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; +import com.google.common.collect.Maps; import com.google.common.collect.Multimaps; import fr.ird.observe.application.swing.ObserveSwingApplicationContext; import fr.ird.observe.application.swing.db.DataContext; @@ -44,6 +46,7 @@ import fr.ird.observe.application.swing.ui.tree.node.AbstrctReferenceNodeSupport import fr.ird.observe.application.swing.ui.tree.node.ObserveNode; import fr.ird.observe.application.swing.ui.tree.node.ProgramLonglineNode; import fr.ird.observe.application.swing.ui.tree.node.ProgramSeineNode; +import fr.ird.observe.application.swing.ui.tree.node.TripSeineNode; import fr.ird.observe.application.swing.ui.tree.renderer.AbstractObserveTreeCellRenderer; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.IdDto; @@ -163,11 +166,20 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { ProgramSeineNode programNode = (ProgramSeineNode) observeNode; String programId = programNode.getEntity().getId(); ImmutableList<DataReference<TripSeineDto>> trips = tripsSeineByProgramId.get(programId); + ImmutableMap<String, DataReference<TripSeineDto>> tripsById = Maps.uniqueIndex(trips, DataReference::getId); if (CollectionUtils.isNotEmpty(trips)) { if (log.isInfoEnabled()) { log.info("[PS] Add " + trips.size() + " trips to " + programNode); } programNode.populateChilds(trips, getBridge(), provider); + Enumeration<ObserveNode> tripNodes = programNode.children(); + while (tripNodes.hasMoreElements()) { + TripSeineNode tripNode = (TripSeineNode) tripNodes.nextElement(); + String tripId = tripNode.getEntity().getId(); + DataReference<TripSeineDto> tripDto = tripsById.get(tripId); + int routeCount = (int) tripDto.getPropertyValue(TripSeineDto.PROPERTY_ROUTE_COUNT); + tripNode.setInitialRouteCount(routeCount); + } } } if (observeNode instanceof ProgramLonglineNode) { diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/node/TripSeineNode.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/node/TripSeineNode.java index b716579..2d40dde 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/node/TripSeineNode.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/node/TripSeineNode.java @@ -41,10 +41,22 @@ public class TripSeineNode extends DataReferenceNodeSupport<TripSeineDto> { super(TripSeineDto.class, entity); } + private int initialRouteCount; @Override protected DataReference<TripSeineDto> fetchEntity() { TripSeineService tripSeineService = ObserveSwingApplicationContext.get().getMainDataSourceServicesProvider().newTripSeineService(); return tripSeineService.loadReferenceToRead(getId()); } + + public void setInitialRouteCount(int initialRouteCount) { + this.initialRouteCount = initialRouteCount; + } + + public int getRouteCount() { + if (entity == null) { + return initialRouteCount; + } + return (int) entity.getPropertyValue(TripSeineDto.PROPERTY_ROUTE_COUNT); + } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.