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();