Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/GroupBranchingActivity.java =================================================================== diff -u -r309a597eada52a4079f2985e0d97beedf9adda42 -rfd75ff4bac204cc358183623e946df6102e7eefc --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/GroupBranchingActivity.java (.../GroupBranchingActivity.java) (revision 309a597eada52a4079f2985e0d97beedf9adda42) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/GroupBranchingActivity.java (.../GroupBranchingActivity.java) (revision fd75ff4bac204cc358183623e946df6102e7eefc) @@ -24,6 +24,7 @@ package org.lamsfoundation.lams.learningdesign; import java.io.Serializable; +import java.util.Iterator; import java.util.Set; import java.util.Vector; @@ -168,10 +169,18 @@ listOfValidationErrors.add(new ValidationErrorDTO(ValidationErrorDTO.BRANCHING_ACTVITY_GROUPING_ERROR_CODE, messageService.getMessage(ValidationErrorDTO.BRANCHING_ACTVITY_GROUPING), this.getActivityUIID())); } else { for ( Group group : groups ) { - if ( group.getBranchActivities() == null || group.getBranchActivities().size() != 1 ) { + boolean foundEntry = false; + if ( group.getBranchActivities() != null ) { + Iterator iter = group.getBranchActivities().iterator(); + while (iter.hasNext() && ! foundEntry ) { + BranchActivityEntry entry = (BranchActivityEntry) iter.next(); + foundEntry = entry.getBranchingActivity().equals(this); + } + } + if ( ! foundEntry ) { listOfValidationErrors.add(new ValidationErrorDTO(ValidationErrorDTO.BRANCHING_ACTVITY_MUST_HAVE_ALL_GROUPS_ALLOCATED_ERROR_CODE, messageService.getMessage(ValidationErrorDTO.BRANCHING_ACTVITY_MUST_HAVE_ALL_GROUPS_ALLOCATED), this.getActivityUIID())); break; - } + } } } }