[jboss-cvs] jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/dao ...

Christian Bauer christian at hibernate.org
Thu Dec 20 07:23:05 EST 2007


  User: cbauer  
  Date: 07/12/20 07:23:05

  Modified:    examples/wiki/src/main/org/jboss/seam/wiki/core/dao 
                        WikiNodeDAO.java
  Log:
  JBSEAM-1743 - Clipboard for copying/moving of nodes
  
  Revision  Changes    Path
  1.2       +29 -8     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.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  --- WikiNodeDAO.java	19 Dec 2007 04:29:26 -0000	1.1
  +++ WikiNodeDAO.java	20 Dec 2007 12:23:05 -0000	1.2
  @@ -63,6 +63,33 @@
   
       }
   
  +    public List<WikiNode> findWikiNodes(List<Long> ids) {
  +        return restrictedEntityManager
  +                .createQuery("select n from WikiNode n where n.id in (:idList)")
  +                .setParameter("idList", ids)
  +                .setHint("org.hibernate.comment", "Find wikinodes by id list")
  +                .getResultList();
  +    }
  +
  +    public WikiNode findWikiNodeInArea(Long areaNumber, String wikiname) {
  +        return findWikiNodeInArea(areaNumber, wikiname, restrictedEntityManager);
  +    }
  +
  +    public WikiNode findWikiNodeInArea(Long areaNumber, String wikiname, EntityManager em) {
  +        try {
  +            return (WikiNode) em
  +                    .createQuery("select n from WikiNode n where n.areaNumber = :areaNumber and n.wikiname = :wikiname")
  +                    .setParameter("areaNumber", areaNumber)
  +                    .setParameter("wikiname", wikiname)
  +                    .setHint("org.hibernate.comment", "Find node in area")
  +                    .setHint("org.hibernate.cacheable", true)
  +                    .getSingleResult();
  +        } catch (EntityNotFoundException ex) {
  +        } catch (NoResultException ex) {
  +        }
  +        return null;
  +    }
  +
       public Long findChildrenCount(WikiNode node) {
           try {
               return (Long) restrictedEntityManager
  @@ -400,18 +427,12 @@
   
       // Multi-row constraint validation
       public boolean isUniqueWikiname(Long areaNumber, WikiNode node) {
  -        WikiNode foundNode = findWikiDocumentInArea(areaNumber, node.getWikiname(), entityManager);
  -        if (foundNode == null) {
  -            foundNode = findWikiDirectoryInArea(areaNumber, node.getWikiname(), entityManager);
  -        }
  +        WikiNode foundNode = findWikiNodeInArea(areaNumber, node.getWikiname(), entityManager);
           return foundNode == null || node.getId() != null && node.getId().equals(foundNode.getId());
       }
   
       public boolean isUniqueWikiname(Long areaNumber, String wikiname) {
  -        WikiNode foundNode = findWikiDocumentInArea(areaNumber, wikiname, entityManager);
  -        if (foundNode == null) {
  -            foundNode = findWikiDirectoryInArea(areaNumber, wikiname, entityManager);
  -        }
  +        WikiNode foundNode = findWikiNodeInArea(areaNumber, wikiname, entityManager);
           return foundNode == null;
       }
   
  
  
  



More information about the jboss-cvs-commits mailing list