Update of
/var/cvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/containers
In directory james.mmbase.org:/tmp/cvs-serv6217
Modified Files:
ListNodesContainerTag.java
Log Message:
MMB-1764
See also:
http://cvs.mmbase.org/viewcvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/containers
See also: http://www.mmbase.org/jira/browse/MMB-1764
Index: ListNodesContainerTag.java
===================================================================
RCS file:
/var/cvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/containers/ListNodesContainerTag.java,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -b -r1.28 -r1.29
--- ListNodesContainerTag.java 14 Aug 2008 13:58:37 -0000 1.28
+++ ListNodesContainerTag.java 30 Dec 2008 17:48:08 -0000 1.29
@@ -19,14 +19,19 @@
import org.mmbase.cache.CachePolicy;
import org.mmbase.storage.search.*;
+import org.mmbase.util.logging.Logger;
+import org.mmbase.util.logging.Logging;
+
/**
* Container cognate for ListNodesTag.
*
* @author Michiel Meeuwissen
* @since MMBase-1.7
- * @version $Id: ListNodesContainerTag.java,v 1.28 2008/08/14 13:58:37 michiel
Exp $
+ * @version $Id: ListNodesContainerTag.java,v 1.29 2008/12/30 17:48:08 michiel
Exp $
*/
public class ListNodesContainerTag extends NodeReferrerTag implements
NodeQueryContainer {
+
+ private static final Logger log =
Logging.getLoggerInstance(ListNodesContainerTag.class);
// nodereferrer because RelatedNodesContainer extension
protected NodeQuery query = null;
@@ -118,7 +123,23 @@
}
query = (NodeQuery) query.clone();
} else if (getReferid() != null) {
- query = (NodeQuery)
getContextProvider().getContextContainer().getObject(getReferid());
+ Object o =
getContextProvider().getContextContainer().getObject(getReferid());
+
+ // TODO following code must be put in
org.mmbase.bridge.util.Queries or
+ // org.mmbase.util.Casting or so.
+ if (o instanceof NodeQuery) {
+ query = (NodeQuery) o;
+ } else if (o instanceof SearchQuery) {
+ SearchQuery q = (SearchQuery) o;
+ if (q.getSteps().size() != 1) throw new
IllegalStateException("The object " + q + " has not precisely one step and can
therefore not be converted to a NodeQuery");
+ query =
getCloudVar().getNodeManager(q.getSteps().get(0).getTableName()).createQuery();
+ query.setConstraint(Queries.copyConstraint(q.getConstraint(),
q.getSteps().get(0), query, query.getNodeStep()));
+ query.setOffset(q.getOffset());
+ query.setMaxNumber(q.getMaxNumber());
+ query.setDistinct(q.isDistinct());
+
+ }
+
if (query == null) {
throw new JspTagException("No query found in referred id " +
getReferid());
}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs