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 0b438af46daa4729efacdda7b377d3124f7bc2bc Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Feb 13 11:57:59 2015 +0100 fixes #6663: [CAPTURE] Écran de résumé: les pourcentages calculés ne sont pas supprimés après l'action réinitialiser --- .../operation/catches/EditCatchesSvgHandler.java | 62 ++++++++++++++-------- 1 file changed, 39 insertions(+), 23 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesSvgHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesSvgHandler.java index 72b4bb0..a1f9fed 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesSvgHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesSvgHandler.java @@ -26,6 +26,7 @@ package fr.ifremer.tutti.ui.swing.content.operation.catches; import com.google.common.base.Function; import com.google.common.collect.HashMultimap; +import com.google.common.collect.ImmutableSet; import com.google.common.collect.Multimap; import com.google.common.collect.Sets; import fr.ifremer.tutti.TuttiConfiguration; @@ -51,6 +52,7 @@ import org.apache.batik.util.XMLResourceDescriptor; import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.nuiton.jaxx.application.bean.JavaBeanObjectUtil; import org.nuiton.util.Resource; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -581,7 +583,7 @@ public class EditCatchesSvgHandler { FishingOperation fishingOperation = model.getFishingOperation(); if (fishingOperation != null) { final boolean tremieCarrouselFieldsVisisble = fishingOperation.getVessel() != null - && fishingOperation.getVessel().getId().equals(context.getConfig().getTremieCarousselVesselId()); + && fishingOperation.getVessel().getId().equals(context.getConfig().getTremieCarousselVesselId()); updateOnCanvas(new Runnable() { @Override @@ -725,6 +727,8 @@ public class EditCatchesSvgHandler { private Integer ratio = null; + private final Set<String> propertyNames; + public RatioPropertyChangeListener(String elementId, String numeratorProperty, String denominatorProperty, @@ -733,7 +737,7 @@ public class EditCatchesSvgHandler { this.numeratorProperty = numeratorProperty; this.denominatorProperty = denominatorProperty; this.denominatorComputedProperty = denominatorComputedProperty; - + this.propertyNames = ImmutableSet.of(numeratorProperty, denominatorProperty, denominatorComputedProperty); updateRatioText(); } @@ -741,33 +745,45 @@ public class EditCatchesSvgHandler { public void propertyChange(PropertyChangeEvent evt) { String propertyName = evt.getPropertyName(); - if (propertyName.equals(numeratorProperty) || propertyName.equals(denominatorProperty)) { + if (propertyNames.contains(propertyName)) { updateRatioText(); } } protected void updateRatioText() { - try { - String numerator = BeanUtils.getProperty(model, numeratorProperty); - String denominator = BeanUtils.getProperty(model, denominatorProperty); - if (denominator == null) { - denominator = BeanUtils.getProperty(model, denominatorComputedProperty); - } - - if (numerator != null && denominator != null) { - Float numeratorValue = Float.valueOf(numerator); - Float denominatorValue = Float.valueOf(denominator); - - if (denominatorValue != 0) { - ratio = Numbers.roundToInt(100f * numeratorValue / denominatorValue); - } - } - - } catch (ReflectiveOperationException e) { - if (log.isErrorEnabled()) { - log.error("Error while computing the ration", e); - } +// try { +// +// String numerator = BeanUtils.getProperty(model, numeratorProperty); +// String denominator = BeanUtils.getProperty(model, denominatorProperty); +// if (denominator == null) { +// denominator = BeanUtils.getProperty(model, denominatorComputedProperty); +// } +// +// if (numerator != null && denominator != null) { +// Float numeratorValue = Float.valueOf(numerator); +// Float denominatorValue = Float.valueOf(denominator); +// +// if (denominatorValue != 0) { +// ratio = Numbers.roundToInt(100f * numeratorValue / denominatorValue); +// } +// } +// +// } catch (ReflectiveOperationException e) { +// if (log.isErrorEnabled()) { +// log.error("Error while computing the ratio", e); +// } +// } + + Float numerator = (Float) JavaBeanObjectUtil.getProperty(model, numeratorProperty); + Float denominator = (Float) JavaBeanObjectUtil.getProperty(model, denominatorProperty); + if (denominator == null) { + denominator = (Float) JavaBeanObjectUtil.getProperty(model, denominatorComputedProperty); + } + if (numerator == null || denominator == null || Weights.isEqualWeight(denominator, 0f)) { + ratio = null; + } else { + ratio = Numbers.roundToInt(100f * numerator / denominator); } updateOnCanvas(new Runnable() { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.