[jboss-cvs] jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/dao ...
Christian Bauer
christian at hibernate.org
Tue Jan 1 08:00:44 EST 2008
User: cbauer
Date: 08/01/01 08:00:44
Modified: examples/wiki/src/main/org/jboss/seam/wiki/core/dao
WikiNodeDAO.java
Log:
JBSEAM-1863 - Pager plugin for previous/next document, also on forum header
Revision Changes Path
1.4 +17 -0 jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/dao/WikiNodeDAO.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: WikiNodeDAO.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/dao/WikiNodeDAO.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- WikiNodeDAO.java 30 Dec 2007 02:33:21 -0000 1.3
+++ WikiNodeDAO.java 1 Jan 2008 13:00:44 -0000 1.4
@@ -293,6 +293,23 @@
.getResultList();
}
+ public WikiDocument findSiblingWikiDocumentInDirectory(WikiDocument currentDocument, String byProperty, boolean previousOrNext) {
+ byProperty = byProperty.replaceAll("[^\\p{Alnum}]+", ""); // Avoid SQL injection hole!
+ try {
+ return (WikiDocument)restrictedEntityManager
+ .createQuery("select sibling from WikiDocument sibling, WikiDocument current" +
+ " where sibling.parent = current.parent and current = :current and not sibling = :current" +
+ " and sibling."+ byProperty + " " + (previousOrNext ? "<=" : ">=") + "current."+byProperty +
+ " order by sibling." +byProperty + " " + (previousOrNext ? "desc" : "asc") )
+ .setMaxResults(1)
+ .setParameter("current", currentDocument)
+ .getSingleResult();
+ } catch (EntityNotFoundException ex) {
+ } catch (NoResultException ex) {
+ }
+ return null;
+ }
+
public WikiUpload findWikiUpload(Long uploadId) {
try {
return (WikiUpload) restrictedEntityManager
More information about the jboss-cvs-commits
mailing list