This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit ee984be242987c6a65b1f66c42281b3bc64fda98 Author: Kevin Morin <morin@codelutin.com> Date: Thu Oct 15 11:17:06 2015 +0200 correction du decorateur de referencedto pour que le tri fonctionne (refs #7610) --- .../ui/util/decorator/ReferenceDecorator.java | 43 +++++++++++++++------- 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/ReferenceDecorator.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/ReferenceDecorator.java index 480a2e8..224e407 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/ReferenceDecorator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/ReferenceDecorator.java @@ -1,11 +1,8 @@ package fr.ird.observe.ui.util.decorator; -import com.google.common.collect.ImmutableList; import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.referential.ReferentialDto; - -import java.util.HashMap; -import java.util.Map; +import org.apache.commons.jxpath.JXPathContext; import static org.nuiton.i18n.I18n.t; @@ -19,18 +16,36 @@ public class ReferenceDecorator extends ObserveDecorator<ReferenceDto> implement } @Override - public String toString(Object bean) { - if (bean instanceof ReferenceDto) { - ReferenceDto ref = (ReferenceDto) bean; - Map map = new HashMap<>(); - ImmutableList<String> propertyNames = ref.getPropertyNames(); - for (String propertyName : propertyNames) { - Object value = ((ReferenceDto) bean).getPropertyValue(propertyName); - map.put(propertyName, value); + protected Comparable<Comparable<?>> getTokenValue(JXPathContext jxcontext, String token) { + + // assume all values are comparable + Comparable<Comparable<?>> value; + + Object contextBean = jxcontext.getContextBean(); + + if (contextBean instanceof ReferenceDto) { + + ReferenceDto referenceBean = (ReferenceDto) contextBean; + + + if (referenceBean.getPropertyNames().contains(token)) { + + value = (Comparable<Comparable<?>>) referenceBean.getPropertyValue(token); + + if (value == null) { + value = (Comparable<Comparable<?>>) getDefaultNullValue(token); + } + + } else { + value = (Comparable<Comparable<?>>) getDefaultUndefinedValue(token); } - bean = map; + + } else { + value = super.getTokenValue(jxcontext, token); } - return super.toString(bean); + + return value; + } @Override -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.