r938 - xwiki/trunk/src/main/java/com/xpn/xwiki/api
Ludovic Dubost
ludovic at users.forge.objectweb.org
Sat Feb 25 11:57:42 CET 2006
Author: ludovic
Date: 2006-02-25 11:57:42 +0100 (Sat, 25 Feb 2006)
New Revision: 938
Modified:
xwiki/trunk/src/main/java/com/xpn/xwiki/api/XWiki.java
Log:
Added security calls and wrapping to some search functions
Modified: xwiki/trunk/src/main/java/com/xpn/xwiki/api/XWiki.java
===================================================================
--- xwiki/trunk/src/main/java/com/xpn/xwiki/api/XWiki.java 2006-02-25 10:56:56 UTC (rev 937)
+++ xwiki/trunk/src/main/java/com/xpn/xwiki/api/XWiki.java 2006-02-25 10:57:42 UTC (rev 938)
@@ -214,11 +214,17 @@
}
public List search(String wheresql) throws XWikiException {
- return xwiki.search(wheresql, context);
+ if (checkProgrammingRights())
+ return xwiki.search(wheresql, context);
+ else
+ return null;
}
public List search(String wheresql, int nb, int start) throws XWikiException {
- return xwiki.search(wheresql, nb, start, context);
+ if (checkProgrammingRights())
+ return xwiki.search(wheresql, nb, start, context);
+ else
+ return null;
}
public List searchDocuments(String wheresql) throws XWikiException {
@@ -230,17 +236,35 @@
}
public List searchDocuments(String wheresql, int nb, int start, String selectColumns) throws XWikiException {
+ if (checkProgrammingRights())
return xwiki.getStore().searchDocumentsNames(wheresql, nb, start, selectColumns, context);
- }
+ else
+ return null;
+ }
public List searchDocuments(String wheresql, boolean distinctbylanguage) throws XWikiException {
- return xwiki.getStore().searchDocuments(wheresql, context);
+ return wrapDocs(xwiki.getStore().searchDocuments(wheresql, context));
}
public List searchDocuments(String wheresql, boolean distinctbylanguage, int nb, int start) throws XWikiException {
- return xwiki.getStore().searchDocuments(wheresql, nb, start, context);
+ return wrapDocs(xwiki.getStore().searchDocuments(wheresql, nb, start, context));
}
+ private List wrapDocs(List docs)
+ {
+ List result = new ArrayList();
+ if (docs != null)
+ {
+ for (Iterator iter = result.iterator(); iter.hasNext();)
+ {
+ XWikiDocument doc = (XWikiDocument) iter.next();
+ Document wrappedDoc = new Document(doc, context);
+ result.add(wrappedDoc);
+ }
+ }
+ return result;
+ }
+
public String parseContent(String content) {
return xwiki.parseContent(content, context);
}
More information about the Xwiki-notifications
mailing list