Update of
/var/cvs/contributions/didactor2/src/assessment/java/nl/didactor/component/assessment
In directory
james.mmbase.org:/tmp/cvs-serv27983/assessment/java/nl/didactor/component/assessment
Modified Files:
LessonChecker.java
Log Message:
See also:
http://cvs.mmbase.org/viewcvs/contributions/didactor2/src/assessment/java/nl/didactor/component/assessment
Index: LessonChecker.java
===================================================================
RCS file:
/var/cvs/contributions/didactor2/src/assessment/java/nl/didactor/component/assessment/LessonChecker.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- LessonChecker.java 4 Dec 2008 16:34:28 -0000 1.3
+++ LessonChecker.java 8 Jan 2009 11:09:20 -0000 1.4
@@ -24,7 +24,7 @@
* Functionality are made accessible to front-end jsps using (node) functions
(see e.g. people.xml).
*
- * @version $Id: LessonChecker.java,v 1.3 2008/12/04 16:34:28 michiel Exp $
+ * @version $Id: LessonChecker.java,v 1.4 2009/01/08 11:09:20 michiel Exp $
*/
public class LessonChecker {
@@ -76,6 +76,23 @@
return result;
}
+ protected static List<Node> getLearnBlocks(@Required @Name("education")
Node education) {
+ List<Node> result = new ArrayList<Node>();
+ Cloud cloud = education.getCloud();
+ NodeQuery q = Queries.createRelatedNodesQuery(education,
+
cloud.getNodeManager("learnblocks"),
+ "posrel",
+ "destination");
+ Queries.addSortOrders(q, "posrel.pos", "UP");
+ NodeList relatedLearnBlocks = q.getNodeManager().getList(q);
+
+ for (Node learnBlock : relatedLearnBlocks) {
+ boolean related =
Queries.count(AssessmentField.getRelationsQuery(learnBlock)) > 0;
+ result.add(learnBlock);
+ }
+ return result;
+ }
+
protected static Node getClassRel(Node lesson, Node user) {
NodeList classRels = user.getCloud().getList("" + lesson.getNumber(),
@@ -132,9 +149,14 @@
return resultSet;
}
+ List<Node> lessons = getLessons(education);
+ boolean foundALesson = false;
+
boolean statusBlocked = false;
- for (Node learnBlock : getLessons(education)) {
+ for (Node learnBlock : getLearnBlocks(education)) {
+
+ if (lessons.contains(learnBlock)) foundALesson = true;
if (statusBlocked) {
//It means the rest of learnblocks is closed.
@@ -146,7 +168,7 @@
Node classrel = getClassRel(learnBlock, user);
boolean closed = classrel != null;
log.debug("" + learnBlock.getNumber() + " closed " + closed);
- if (! closed) {
+ if (! closed && foundALesson) {
statusBlocked = true;
}
}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs