diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/criterion/CriterionDTO.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/criterion/CriterionDTO.java index bb96b1480..aabbb0db7 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/criterion/CriterionDTO.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/criterion/CriterionDTO.java @@ -26,14 +26,13 @@ package org.navalplanner.web.resources.criterion; import java.util.ArrayList; -import java.util.List; -import org.navalplanner.business.resources.entities.Criterion; -import org.navalplanner.business.resources.entities.CriterionType; - import java.util.HashSet; +import java.util.List; import java.util.Set; import org.apache.commons.lang.Validate; +import org.navalplanner.business.resources.entities.Criterion; +import org.navalplanner.business.resources.entities.CriterionType; /** * * @author Susana Montes Pedreira @@ -65,11 +64,15 @@ public class CriterionDTO { this.newObject = false; } - public static List asListDTO(Set setChildren,CriterionDTO parent){ + public static List asListDTO(List setChildren, + CriterionDTO parent) { List listChildren = new ArrayList(); for(Criterion criterion : setChildren){ CriterionDTO criterionDTO = new CriterionDTO(criterion); - criterionDTO.setChildren(asListDTO(criterion.getChildren(),criterionDTO)); + criterion.getChildren(); + List orderedChildren = Criterion.sortByName(criterion + .getChildren()); + criterionDTO.setChildren(asListDTO(orderedChildren, criterionDTO)); criterionDTO.setParent(parent); listChildren.add(criterionDTO); } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/criterion/CriterionTreeModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/criterion/CriterionTreeModel.java index 3376406fa..aba0eccba 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/criterion/CriterionTreeModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/criterion/CriterionTreeModel.java @@ -44,7 +44,7 @@ import org.zkoss.zul.TreeModel; * Model for a the {@link Criterion} tree for a {@link CriterionType}
* @author Susana Montes Pedreira */ -public class CriterionTreeModel implements ICriterionTreeModel{ +public class CriterionTreeModel implements ICriterionTreeModel { private MutableTreeModel tree; @@ -64,7 +64,8 @@ public class CriterionTreeModel implements ICriterionTreeModel{ private static List getCriterionDTOs( CriterionType criterionType,CriterionDTO criterionRootDTO){ - Set criterions = getDirectCriterions(criterionType); + List criterions = Criterion + .sortByName(getDirectCriterions(criterionType)); return CriterionDTO.asListDTO(criterions, criterionRootDTO); } @@ -433,7 +434,8 @@ public class CriterionTreeModel implements ICriterionTreeModel{ regenerateCodeForUnsavedCriteria(criterionRootDTO.getChildren()); } - private void regenerateCodeForUnsavedCriteria(List criterionDTOs){ + private void regenerateCodeForUnsavedCriteria( + List criterionDTOs) { for(CriterionDTO criterionDTO : criterionDTOs){ if(criterionDTO.getCriterion().isNewObject()) { criterionDTO.getCriterion().setCodeAutogenerated(); @@ -441,4 +443,5 @@ public class CriterionTreeModel implements ICriterionTreeModel{ regenerateCodeForUnsavedCriteria(criterionDTO.getChildren()); } } + }