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

Christian Bauer christian at hibernate.org
Thu Apr 19 14:36:12 EDT 2007


  User: cbauer  
  Date: 07/04/19 14:36:12

  Modified:    examples/wiki/src/main/org/jboss/seam/wiki/core/dao   
                        NodeDAO.java FeedDAO.java UserDAO.java
  Log:
  Finalized 'deletion' of stuff with updated FK constraint rules, now required the very latest Hibernate JARs
  
  Revision  Changes    Path
  1.12      +1 -47     jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/dao/NodeDAO.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: NodeDAO.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/dao/NodeDAO.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -b -r1.11 -r1.12
  --- NodeDAO.java	19 Apr 2007 09:32:08 -0000	1.11
  +++ NodeDAO.java	19 Apr 2007 18:36:12 -0000	1.12
  @@ -176,13 +176,6 @@
           getSession().evict(historicalNode);
       }
   
  -    public int removeHistoricalNodes(Node node) {
  -        if (node == null) return 0;
  -        return getSession().createQuery("delete from HistoricalNode n where n.nodeId = :nodeId")
  -                            .setParameter("nodeId", node.getId())
  -                            .executeUpdate();
  -    }
  -
       @SuppressWarnings({"unchecked"})
       public List<Node> findHistoricalNodes(Node node) {
           if (node == null) return null;
  @@ -191,45 +184,6 @@
                               .list();
       }
   
  -    // TODO: Although it seem like a good idea this is broken until I implement ON CASCADE DELETE on the foreign keys
  -    public void removeChildNodes(Directory dir) {
  -        throw new UnsupportedOperationException("Not implemented, see TODO");
  -        /*
  -        entityManager.joinTransaction();
  -
  -        // Find all the parents of this area whose children we should NOT delete 
  -        List<Long> excludeIdentifiers = new ArrayList<Long>();
  -        Directory temp = dir;
  -        while (temp.getParent() != null && temp.getParent().getId() != null) {
  -            excludeIdentifiers.add(temp.getParent().getId());
  -            temp = temp.getParent();
  -        }
  -
  -        // Avoid FK violation if one of the child nodes is the default document of the directory
  -        entityManager.createQuery("update Node n set n.defaultDocument = null where n = :node").setParameter("node", dir).executeUpdate();
  -
  -        System.out.println("################# DELETING FILES");
  -        // Delete all records from the File secondary table
  -        ((Session)entityManager.getDelegate())
  -                .createQuery("delete from File f where f.areaNumber = :area" +
  -                             " and f.parent.id not in (:excludedIdentifiers)")
  -                .setParameter("area", dir.getAreaNumber())
  -                .setParameterList("excludedIdentifiers", excludeIdentifiers)
  -                .executeUpdate();
  -
  -        System.out.println("################# DELETING NODES");
  -
  -        // Delete all records from the Node main table
  -        ((Session)entityManager.getDelegate())
  -                .createQuery("delete from Node n where n.areaNumber = :area" +
  -                             " and n.parent.id not in (:excludedIdentifiers) and not n = :exclude")
  -                .setParameter("area", dir.getAreaNumber())
  -                .setParameter("exclude", dir)
  -                .setParameterList("excludedIdentifiers", excludeIdentifiers)
  -                .executeUpdate();
  -        */
  -    }
  -
       // Multi-row constraint validation
       public boolean isUniqueWikiname(Node node) {
           Node foundNode = findNodeInArea(node.getParent().getAreaNumber(), node.getWikiname(), entityManager);
  
  
  
  1.3       +0 -15     jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/dao/FeedDAO.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: FeedDAO.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/dao/FeedDAO.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- FeedDAO.java	9 Apr 2007 08:43:53 -0000	1.2
  +++ FeedDAO.java	19 Apr 2007 18:36:12 -0000	1.3
  @@ -68,7 +68,6 @@
   
           if (feeds.size() >0) {
               FeedEntry feedEntry = new FeedEntry();
  -            feedEntry.setDocument(document);
               feedEntry.setLink(renderFeedURL(document));
               feedEntry.setTitle(document.getName());
               feedEntry.setAuthor(document.getCreatedBy().getFullname());
  @@ -101,20 +100,6 @@
           if (updatedEntries == 0) createFeedEntries(pushOnSiteFeed, document);
       }
   
  -    public void removeFeedEntries(Document document) {
  -        restrictedEntityManager.joinTransaction();
  -
  -        try {
  -            FeedEntry entry = (FeedEntry) restrictedEntityManager
  -                .createQuery("select fe from FeedEntry fe where fe.document = :document")
  -                .setParameter("document", document)
  -                .getSingleResult();
  -
  -            restrictedEntityManager.remove(entry);
  -        } catch (EntityNotFoundException ex) {
  -        } catch (NoResultException ex) {}
  -    }
  -
       private String renderFeedURL(Node node) {
           WikiPreferences wikiPrefs = (WikiPreferences) Component.getInstance("wikiPreferences");
           return wikiPrefs.getBaseUrl() + WikiUtil.renderURL(node);
  
  
  
  1.5       +14 -0     jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/dao/UserDAO.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: UserDAO.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/dao/UserDAO.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -b -r1.4 -r1.5
  --- UserDAO.java	2 Apr 2007 18:25:06 -0000	1.4
  +++ UserDAO.java	19 Apr 2007 18:36:12 -0000	1.5
  @@ -10,6 +10,7 @@
   import org.jboss.seam.annotations.AutoCreate;
   import org.jboss.seam.wiki.core.model.Role;
   import org.jboss.seam.wiki.core.model.User;
  +import org.jboss.seam.Component;
   import org.hibernate.criterion.Order;
   import org.hibernate.criterion.Example;
   import org.hibernate.criterion.MatchMode;
  @@ -69,6 +70,19 @@
           return null;
       }
   
  +    public void resetNodeCreatorToAdmin(User user) {
  +
  +        User adminUser = (User) Component.getInstance("adminUser");
  +
  +        entityManager.joinTransaction();
  +        entityManager.createQuery("update Node n set n.createdBy = :admin where n.createdBy = :user")
  +                    .setParameter("admin", entityManager.merge(adminUser))
  +                    .setParameter("user", user)
  +                    .executeUpdate();
  +    }
  +
  +
  +
       public List<User> findByExample(User exampleUser, String orderByProperty, boolean orderDescending,
                                       int firstResult, int maxResults, String... ignoreProperty) {
           Criteria crit = prepareExampleCriteria(exampleUser, orderByProperty, orderDescending, ignoreProperty);
  
  
  



More information about the jboss-cvs-commits mailing list