cmailleux    2005/12/20 12:26:04 CET

  Modified files:
    core/src/java/org/jahia/hibernate/dao 
                                          JahiaContainerListDAO.java 
    core/src/java/org/jahia/hibernate/manager 
                                              JahiaContainerListManager.java 
  Log:
  Do not backup if activeversionID equals currentactiveversionID (this case can 
happen in no workflow)
  
  Revision  Changes    Path
  1.16      +3 -4      
jahia/core/src/java/org/jahia/hibernate/dao/JahiaContainerListDAO.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/hibernate/dao/JahiaContainerListDAO.java.diff?r1=1.15&r2=1.16&f=h
  1.16      +3 -7      
jahia/core/src/java/org/jahia/hibernate/manager/JahiaContainerListManager.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/hibernate/manager/JahiaContainerListManager.java.diff?r1=1.15&r2=1.16&f=h
  
  
  
  Index: JahiaContainerListDAO.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/hibernate/dao/JahiaContainerListDAO.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- JahiaContainerListDAO.java        23 Nov 2005 17:44:10 -0000      1.15
  +++ JahiaContainerListDAO.java        20 Dec 2005 11:26:03 -0000      1.16
  @@ -7,13 +7,12 @@
   import org.apache.commons.collections.FastHashMap;
   import org.apache.commons.logging.Log;
   import org.apache.commons.logging.LogFactory;
  +import org.jahia.content.ContentContainerListKey;
   import org.jahia.hibernate.model.JahiaContainerList;
   import org.jahia.hibernate.model.JahiaContainerListProperty;
   import org.jahia.hibernate.model.JahiaContainerListPropertyPK;
   import org.jahia.hibernate.model.JahiaCtnListPK;
  -import org.jahia.content.ContentContainerListKey;
   import org.springframework.orm.hibernate3.HibernateTemplate;
  -import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
   
   import java.util.*;
   
  @@ -31,10 +30,10 @@
   
   // -------------------------- OTHER METHODS --------------------------
   
  -    public void backupContainer(Integer containerID) {
  +    public void backupContainer(Integer containerID, Long versionID) {
           try {
               JahiaContainerList container = (JahiaContainerList) 
loadPublishedContainerList(containerID);
  -            if (container != null) {
  +            if (container != null && 
!container.getComp_id().getVersionId().equals(versionID)) {
                   JahiaContainerList jahiaContainer = (JahiaContainerList) 
container.clone();
                   jahiaContainer.getComp_id().setWorkflowState(new Integer(0));
                   getHibernateTemplate().save(jahiaContainer);
  
  
  
  Index: JahiaContainerListManager.java
  ===================================================================
  RCS file: 
/home/cvs/repository/jahia/core/src/java/org/jahia/hibernate/manager/JahiaContainerListManager.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- JahiaContainerListManager.java    7 Dec 2005 12:12:43 -0000       1.15
  +++ JahiaContainerListManager.java    20 Dec 2005 11:26:04 -0000      1.16
  @@ -187,7 +187,7 @@
                   dao.deleteContainerLists(stagedContainers);
               }
           } else if (saveVersion.isVersioned()) {
  -            dao.backupContainer(new Integer(containerId));
  +            dao.backupContainer(new Integer(containerId), new 
Long(saveVersion.getVersionID()));
               dao.deleteContainerList(container);
               try {
                   org.jahia.hibernate.model.JahiaContainer jahiaContainer =
  @@ -495,7 +495,7 @@
               pk.setVersionId(new Long(0));
           } else {
               if (saveVersion.isVersioned()) {
  -                dao.backupContainer(new Integer(containerList.getID()));
  +                dao.backupContainer(new Integer(containerList.getID()), new 
Long(saveVersion.getVersionID()));
               }
               pk.setWorkflowState(new Integer(1));
               pk.setVersionId(new Long(saveVersion.getVersionID()));
  @@ -528,7 +528,7 @@
           if (container != null) {
               // We have something to validate
               if (saveVersion.isVersioned()) {
  -                dao.backupContainer(new Integer(containerId));
  +                dao.backupContainer(new Integer(containerId),new 
Long(saveVersion.getVersionID()));
               }
               // Is it a delete
               int versionID = saveVersion.getVersionID();
  @@ -548,10 +548,6 @@
                   JahiaContainerList publishedContainer = 
dao.loadPublishedContainerList(new Integer(containerId));
                   if (publishedContainer != null) {
                       dao.deleteContainerList(publishedContainer);
  -                    // Avoid duplicate version id in case of a no workflow 
when we could have multiple validation in the same second
  -                    
if(versionID==publishedContainer.getComp_id().getVersionId().intValue()) {
  -                        versionID++;
  -                    }
                   }
                   try {
                       JahiaContainerList jahiaContainer = (JahiaContainerList) 
container.clone();
  

Reply via email to