[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