Criteria tree element is alphabetically sorted when loaded for edition

FEA: ItEr61S05BugFixing
This commit is contained in:
Lorenzo Tilve 2010-10-06 19:28:18 +02:00
parent 84313c672a
commit c43f4ab7a5
2 changed files with 15 additions and 9 deletions

View file

@ -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 <smontes@wirelessgalicia.com>
@ -65,11 +64,15 @@ public class CriterionDTO {
this.newObject = false;
}
public static List<CriterionDTO> asListDTO(Set<Criterion> setChildren,CriterionDTO parent){
public static List<CriterionDTO> asListDTO(List<Criterion> setChildren,
CriterionDTO parent) {
List<CriterionDTO> listChildren = new ArrayList<CriterionDTO>();
for(Criterion criterion : setChildren){
CriterionDTO criterionDTO = new CriterionDTO(criterion);
criterionDTO.setChildren(asListDTO(criterion.getChildren(),criterionDTO));
criterion.getChildren();
List<Criterion> orderedChildren = Criterion.sortByName(criterion
.getChildren());
criterionDTO.setChildren(asListDTO(orderedChildren, criterionDTO));
criterionDTO.setParent(parent);
listChildren.add(criterionDTO);
}

View file

@ -44,7 +44,7 @@ import org.zkoss.zul.TreeModel;
* Model for a the {@link Criterion} tree for a {@link CriterionType} <br />
* @author Susana Montes Pedreira <smontes@wirelessgalicia.com>
*/
public class CriterionTreeModel implements ICriterionTreeModel{
public class CriterionTreeModel implements ICriterionTreeModel {
private MutableTreeModel<CriterionDTO> tree;
@ -64,7 +64,8 @@ public class CriterionTreeModel implements ICriterionTreeModel{
private static List<CriterionDTO> getCriterionDTOs(
CriterionType criterionType,CriterionDTO criterionRootDTO){
Set<Criterion> criterions = getDirectCriterions(criterionType);
List<Criterion> 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<CriterionDTO> criterionDTOs){
private void regenerateCodeForUnsavedCriteria(
List<CriterionDTO> criterionDTOs) {
for(CriterionDTO criterionDTO : criterionDTOs){
if(criterionDTO.getCriterion().isNewObject()) {
criterionDTO.getCriterion().setCodeAutogenerated();
@ -441,4 +443,5 @@ public class CriterionTreeModel implements ICriterionTreeModel{
regenerateCodeForUnsavedCriteria(criterionDTO.getChildren());
}
}
}