Update of /var/cvs/contributions/didactor2/src/core/java/nl/didactor/functions
In directory james.mmbase.org:/tmp/cvs-serv22555/functions
Modified Files:
PeopleClassFunction.java
Log Message:
various fixes
See also:
http://cvs.mmbase.org/viewcvs/contributions/didactor2/src/core/java/nl/didactor/functions
Index: PeopleClassFunction.java
===================================================================
RCS file:
/var/cvs/contributions/didactor2/src/core/java/nl/didactor/functions/PeopleClassFunction.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- PeopleClassFunction.java 3 Aug 2007 18:31:47 -0000 1.4
+++ PeopleClassFunction.java 5 Feb 2008 15:05:36 -0000 1.5
@@ -10,7 +10,7 @@
/**
* Some didactor specific Node functions (implemented as 'bean')
* @author Michiel Meeuwissen
- * @version $Id: PeopleClassFunction.java,v 1.4 2007/08/03 18:31:47 michiel
Exp $
+ * @version $Id: PeopleClassFunction.java,v 1.5 2008/02/05 15:05:36 michiel
Exp $
*/
public class PeopleClassFunction {
protected final static Logger log =
Logging.getLoggerInstance(PeopleClassFunction.class);
@@ -39,9 +39,34 @@
NodeList foundClasses = classes.getList(query);
Node claz;
if (foundClasses.size() > 1) {
- // select the class which is online.
- log.warn("more classes related! for node " + node.getNumber());
- claz = foundClasses.getNode(0);
+ log.debug("more classes related! for node " + node.getNumber());
+ claz = null;
+ try {
+ Date now =
org.mmbase.util.DynamicDate.eval(org.mmbase.util.DynamicDate.getInstance("tohour"));
+ NodeIterator ni = foundClasses.nodeIterator();
+ CLASS:
+ while (ni.hasNext()) {
+ claz = ni.nextNode();
+ log.debug("considering " + claz);
+ NodeList mmevents = claz.getRelatedNodes("mmevents");
+ NodeIterator ei = mmevents.nodeIterator();
+ if (ei.hasNext()) {
+ Node event = ei.nextNode();
+ if (event.getDateValue("start").before(now)) {
+ log.debug(" " + claz + " was started so using this
one");
+ break CLASS;
+ } else {
+ log.debug(event.getDateValue("start") + " is after
" + now);
+ }
+ } else {
+ log.debug("No mmevents coupled to " + claz);
+ }
+ }
+ } catch (org.mmbase.util.dateparser.ParseException pe) {
+ // could not happen
+ log.error(pe);
+ }
+
} else if (foundClasses.size() == 1) {
claz = foundClasses.getNode(0);
} else {
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs