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 d94c4e5f9d41c098904e9b063e5a6edb1f10b5bc Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Sep 10 17:20:15 2016 +0200 Tri des listes de référence aussi dans les autres cas via decorateur (See #8538) --- .../ReferentialSynchronizeTreeModelsBuilder.java | 25 ++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeModelsBuilder.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeModelsBuilder.java index a809c43..2bbb0c4 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeModelsBuilder.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/referential/ng/tree/ReferentialSynchronizeTreeModelsBuilder.java @@ -24,6 +24,9 @@ package fr.ird.observe.application.swing.ui.admin.synchronize.referential.ng.tre import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSetMultimap; +import fr.ird.observe.application.swing.ObserveSwingApplicationContext; +import fr.ird.observe.application.swing.decoration.DecoratorService; +import fr.ird.observe.application.swing.decoration.decorators.ReferentialReferenceDecorator; import fr.ird.observe.application.swing.ui.admin.synchronize.referential.ReferentialSynchronizeMode; import fr.ird.observe.application.swing.ui.admin.synchronize.referential.ng.tree.node.AddedReferenceReferentialSynchroNode; import fr.ird.observe.application.swing.ui.admin.synchronize.referential.ng.tree.node.ReferenceReferentialSynchroNodeSupport; @@ -140,7 +143,11 @@ public class ReferentialSynchronizeTreeModelsBuilder { if (!references.isEmpty()) { TypeReferentialSynchroNode typeNode = rootNode.getOrAddTypeNode(referentialName); if (references.get(0).getPropertyNames().contains(ReferentialDto.PROPERTY_CODE)) { - Collections.sort(references, new ReferentialReferenceComparator<>()); + Collections.sort(references, new ReferentialReferenceComparatorFromCode<>()); + } else { + DecoratorService decoratorService = ObserveSwingApplicationContext.get().getDecoratorService(); + ReferentialReferenceDecorator<R> decorator = decoratorService.getReferentialReferenceDecorator(referentialName); + Collections.sort(references, new ReferentialReferenceComparatorFromDecorator<>(decorator)); } for (ReferentialReference<R> reference : references) { createNode.createNode(typeNode, reference); @@ -197,7 +204,7 @@ public class ReferentialSynchronizeTreeModelsBuilder { } } - private static class ReferentialReferenceComparator<R extends ReferentialDto> implements Comparator<ReferentialReference<R>> { + private static class ReferentialReferenceComparatorFromCode<R extends ReferentialDto> implements Comparator<ReferentialReference<R>> { @Override public int compare(ReferentialReference<R> o1, ReferentialReference<R> o2) { @@ -212,4 +219,18 @@ public class ReferentialSynchronizeTreeModelsBuilder { return StringUtils.leftPad(o1Code, 6, "0").compareTo(StringUtils.leftPad(o2Code, 6, "0")); } } + + private static class ReferentialReferenceComparatorFromDecorator<R extends ReferentialDto> implements Comparator<ReferentialReference<R>> { + + private final ReferentialReferenceDecorator<R> decorator; + + public ReferentialReferenceComparatorFromDecorator(ReferentialReferenceDecorator<R> decorator) { + this.decorator = decorator; + } + + @Override + public int compare(ReferentialReference<R> o1, ReferentialReference<R> o2) { + return decorator.toString(o1).compareTo(decorator.toString(o2)); + } + } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.