Update of /var/cvs/contributions/didactor2/src/core/java/nl/didactor/functions
In directory james.mmbase.org:/tmp/cvs-serv9705/java/nl/didactor/functions
Modified Files:
CopyBookMadeTest.java
Log Message:
made it possible to link questions with (xml) learnblocks. This allows for less
formal 'tests', which don't have to be formally assessed.
See also:
http://cvs.mmbase.org/viewcvs/contributions/didactor2/src/core/java/nl/didactor/functions
Index: CopyBookMadeTest.java
===================================================================
RCS file:
/var/cvs/contributions/didactor2/src/core/java/nl/didactor/functions/CopyBookMadeTest.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- CopyBookMadeTest.java 18 Jan 2008 12:22:58 -0000 1.2
+++ CopyBookMadeTest.java 7 Nov 2008 17:01:04 -0000 1.3
@@ -11,7 +11,7 @@
* Retrieves a 'madetests' object for a certain tests and copybook objects.
*
* @author Michiel Meeuwissen
- * @version $Id: CopyBookMadeTest.java,v 1.2 2008/01/18 12:22:58 michiel Exp $
+ * @version $Id: CopyBookMadeTest.java,v 1.3 2008/11/07 17:01:04 michiel Exp $
*/
public class CopyBookMadeTest {
protected final static Logger log =
Logging.getLoggerInstance(CopyBookMadeTest.class);
@@ -34,13 +34,37 @@
clear = c;
}
+ private static final List<String> NODEMANAGERS = new ArrayList<String>();
+ static {
+ NODEMANAGERS.add("tests");
+ NODEMANAGERS.add("learnblocks");
+ }
+
+ protected static SortedSet<Integer> getOTypes(Cloud cloud, boolean desc,
List<String> names) {
+ SortedSet<Integer> set = new TreeSet<Integer>();
+ Iterator<String> i = names.iterator();
+ while (i.hasNext()) {
+ NodeManager nm = cloud.getNodeManager(i.next());
+ set.add(nm.getNumber());
+ if (desc) {
+ NodeManagerIterator j =
nm.getDescendants().nodeManagerIterator();
+ while (j.hasNext()) {
+ set.add(j.nextNodeManager().getNumber());
+ }
+ }
+ }
+ return set;
+ }
+
public Node madetest() {
Cloud cloud = node.getCloud();
NodeManager madeTests = cloud.getNodeManager("madetests");
NodeQuery query = Queries.createRelatedNodesQuery(node, madeTests,
"related", "destination");
- Step testStep = query.addRelationStep(cloud.getNodeManager("tests"),
"related", "source").getNext();
+ Step testStep =
query.addRelationStep(cloud.getNodeManager("learnobjects"), "related",
"source").getNext();
Queries.addConstraint(query,
query.createConstraint(query.createStepField(testStep, "number"), test));
+ Queries.addConstraint(query,
query.createConstraint(query.createStepField(testStep, "otype"),
getOTypes(cloud, true, NODEMANAGERS)));
+ query.addSortOrder(testStep, SortOrder.ASCENDING);
NodeList found = madeTests.getList(query);
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs