[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