This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See http://git.codelutin.com/tutti.git commit 2960ff587c75926953aa9181c27656f188e14da9 Author: Kevin Morin <morin@codelutin.com> Date: Mon Mar 14 16:27:58 2016 +0100 on ne prend pas en compte les caractéristiques par défaut pour chcker si une ligne est vide (fixes #8125) --- .../fr/ifremer/tutti/persistence/entities/CaracteristicMap.java | 8 +++++--- .../IndividualObservationBatchRowModel.java | 9 +++++++-- .../IndividualObservationBatchTableModel.java | 3 +++ 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/CaracteristicMap.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/CaracteristicMap.java index d0582e9..b0a727e 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/CaracteristicMap.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/CaracteristicMap.java @@ -27,7 +27,6 @@ import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import java.io.Serializable; import java.util.Collection; import java.util.LinkedHashMap; -import java.util.Objects; /** * A map (key are {@link Caracteristic}, values are values of caracteristics). @@ -55,7 +54,10 @@ public class CaracteristicMap extends LinkedHashMap<Caracteristic, Serializable> return result; } - public boolean hasNonNullValues() { - return values().stream().filter(Objects::nonNull).count() > 0; + public boolean hasNonNullValues(Collection<Caracteristic> caracteristicsToIgnore) { + return keySet().stream() + .filter(caracteristic -> caracteristicsToIgnore.contains(caracteristic) + && get(caracteristic) != null) + .count() > 0; } } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchRowModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchRowModel.java index 2efea20..654a566 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchRowModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchRowModel.java @@ -41,6 +41,7 @@ import org.nuiton.util.beans.BinderFactory; import java.io.Serializable; import java.util.Collection; +import java.util.Collections; import java.util.List; import java.util.Map; @@ -373,10 +374,14 @@ public class IndividualObservationBatchRowModel extends AbstractTuttiBeanUIModel } public boolean isEmpty() { + return isEmpty(Collections.emptySet()); + } + + public boolean isEmpty(Collection<Caracteristic> caracteristicsToIgnore) { return getSize() == null && getWeight() == null - && (getCaracteristics() == null || !getCaracteristics().hasNonNullValues()) - && (getDefaultCaracteristics() == null || !getDefaultCaracteristics().hasNonNullValues()) + && (getCaracteristics() == null || !getCaracteristics().hasNonNullValues(caracteristicsToIgnore)) + && (getDefaultCaracteristics() == null || !getDefaultCaracteristics().hasNonNullValues(caracteristicsToIgnore)) && getComment() == null && (getAttachment() == null || getAttachment().isEmpty()); } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchTableModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchTableModel.java index 91f784e..8161804 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchTableModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchTableModel.java @@ -38,6 +38,7 @@ import javax.swing.event.TableColumnModelEvent; import javax.swing.event.TableColumnModelListener; import java.io.Serializable; import java.util.Collection; +import java.util.stream.Collectors; import static org.nuiton.i18n.I18n.n; @@ -190,6 +191,8 @@ public class IndividualObservationBatchTableModel extends AbstractApplicationTab for (int i = rows.size() - 1 ; i >= 0 ; i--) { IndividualObservationBatchRowModel row = rows.get(i); // if the row has no data set, then it could be the empty row we are looking for + defaultCaracteristicsMap.keySet().stream() + .filter(key -> defaultCaracteristicsMap.get(key) != null).collect(Collectors.toSet()); if (row.isEmpty()) { result = row; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.