Author: tdraier
Date: Wed Dec 26 14:38:53 2007
New Revision: 19415

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D19415&repname=
=3Djahia
Log:
complete container/page/list deletion, delete properties/jahia-objects and =
jahia-workflow data, -> avoid duplicate keys ( SQLIMA-10 )

Modified:
    trunk/core/src/java/org/jahia/hibernate/dao/JahiaContainerDAO.java
    trunk/core/src/java/org/jahia/hibernate/dao/JahiaContainerListDAO.java
    trunk/core/src/java/org/jahia/hibernate/dao/JahiaObjectDAO.java
    trunk/core/src/java/org/jahia/hibernate/dao/JahiaPagesDAO.java
    trunk/core/src/java/org/jahia/hibernate/dao/JahiaWorkflowDAO.java
    trunk/core/src/java/org/jahia/hibernate/manager/JahiaContainerListManag=
er.java
    trunk/core/src/java/org/jahia/hibernate/manager/JahiaContainerManager.j=
ava
    trunk/core/src/java/org/jahia/hibernate/manager/JahiaPagesManager.java
    trunk/core/src/webapp/WEB-INF/etc/spring/applicationcontext-manager.xml

Modified: trunk/core/src/java/org/jahia/hibernate/dao/JahiaContainerDAO.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/hibernate/dao/JahiaContainerDAO.java&rev=3D19415&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/hibernate/dao/JahiaContainerDAO.java (ori=
ginal)
+++ trunk/core/src/java/org/jahia/hibernate/dao/JahiaContainerDAO.java Wed =
Dec 26 14:38:53 2007
@@ -1076,10 +1076,10 @@
         }
     }
 =

-    public void deleteProperties(Integer ctnDef) {
+    public void deleteProperties(Integer ctnId) {
         HibernateTemplate template =3D getHibernateTemplate();
         template.setFlushMode(HibernateTemplate.FLUSH_AUTO);
-        template.deleteAll(template.find("from JahiaContainerProperty p wh=
ere p.comp_id.containerId=3D?",ctnDef));
+        template.deleteAll(template.find("from JahiaContainerProperty p wh=
ere p.comp_id.containerId=3D?",ctnId));
     }
 =

     public void saveProperties(Integer ctnID, Integer siteID, Map containe=
rProperties) {

Modified: trunk/core/src/java/org/jahia/hibernate/dao/JahiaContainerListDAO=
.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/hibernate/dao/JahiaContainerListDAO.java&rev=3D19415&repname=3Djah=
ia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/hibernate/dao/JahiaContainerListDAO.java =
(original)
+++ trunk/core/src/java/org/jahia/hibernate/dao/JahiaContainerListDAO.java =
Wed Dec 26 14:38:53 2007
@@ -812,14 +812,19 @@
                 }
             }
             }
-            template.deleteAll(template.find("from JahiaContainerListPrope=
rty p where p.comp_id.containerListId=3D?",
-                                                 data.getComp_id().getId()=
));
+            deleteProperties(data.getComp_id().getId());
             map.put(new ContentContainerListKey(data.getComp_id().getId().=
intValue()),data.getJahiaAclId());
         }
         template.deleteAll(list);
         return map;
     }
 =

+    public void deleteProperties(Integer ctnListId) {
+        HibernateTemplate template =3D getHibernateTemplate();
+        template.setFlushMode(HibernateTemplate.FLUSH_AUTO);
+        template.deleteAll(template.find("from JahiaContainerListProperty =
p where p.comp_id.containerListId=3D?",ctnListId));
+    }
+
     public Integer getIdByPageIdAndDefinitionNameAndParentID(Integer pageI=
d, String containerListName, Integer parentId) {
         Integer retval =3D null;
         String hql =3D "select distinct l.comp_id.id from JahiaContainerLi=
st l where l.pageid=3D? and l.containerDefinition.name=3D? and l.parentId=
=3D?";

Modified: trunk/core/src/java/org/jahia/hibernate/dao/JahiaObjectDAO.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/hibernate/dao/JahiaObjectDAO.java&rev=3D19415&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/hibernate/dao/JahiaObjectDAO.java (origin=
al)
+++ trunk/core/src/java/org/jahia/hibernate/dao/JahiaObjectDAO.java Wed Dec=
 26 14:38:53 2007
@@ -260,7 +260,7 @@
         HibernateTemplate template =3D getHibernateTemplate();
         template.setFlushMode(HibernateTemplate.FLUSH_AUTO);
         String query =3D "from JahiaObject obj where obj.comp_id.id=3D? AN=
D obj.comp_id.type=3D?";
-        template.deleteAll(template.find(query, new Object[]{key.getId(),k=
ey.getKey()}));
+        template.deleteAll(template.find(query, new Object[]{key.getId(),k=
ey.getType()}));
         template.flush();
     }
 =


Modified: trunk/core/src/java/org/jahia/hibernate/dao/JahiaPagesDAO.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/hibernate/dao/JahiaPagesDAO.java&rev=3D19415&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/hibernate/dao/JahiaPagesDAO.java (origina=
l)
+++ trunk/core/src/java/org/jahia/hibernate/dao/JahiaPagesDAO.java Wed Dec =
26 14:38:53 2007
@@ -521,7 +521,9 @@
         saveProperties(data);
     }
 =

-    private void deleteProperties(Integer pageId, final HibernateTemplate =
template) {
+    public void deleteProperties(Integer pageId) {
+        HibernateTemplate template =3D getHibernateTemplate();
+        template.setFlushMode(HibernateTemplate.FLUSH_AUTO);
         template.deleteAll(template.find("from JahiaPagesProp p where p.co=
mp_id.pageId=3D?",pageId));
     }
 =

@@ -547,7 +549,7 @@
         Map map =3D new HashMap(entities.size());
         for (int i =3D 0; i < entities.size(); i++) {
             JahiaPagesData jahiaPagesData =3D (JahiaPagesData) entities.ge=
t(i);
-            deleteProperties(jahiaPagesData.getComp_id().getId(), template=
);
+            deleteProperties(jahiaPagesData.getComp_id().getId());
             map.put(new ContentPageKey(jahiaPagesData.getComp_id().getId()=
.intValue()),jahiaPagesData.getJahiaAclId());
         }
         template.deleteAll(entities);

Modified: trunk/core/src/java/org/jahia/hibernate/dao/JahiaWorkflowDAO.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/hibernate/dao/JahiaWorkflowDAO.java&rev=3D19415&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/hibernate/dao/JahiaWorkflowDAO.java (orig=
inal)
+++ trunk/core/src/java/org/jahia/hibernate/dao/JahiaWorkflowDAO.java Wed D=
ec 26 14:38:53 2007
@@ -61,6 +61,15 @@
         return (JahiaWorkflow) template.load(JahiaWorkflow.class,objectKey=
);
     }
 =

+    public void delete(String objectKey) {
+        HibernateTemplate template =3D getHibernateTemplate();
+        template.setCacheQueries(true);
+        Object o =3D template.get(JahiaWorkflow.class, objectKey);
+        if (o !=3D null) {
+            template.delete(o);
+        }
+    }
+
     public List getLinkedObjectForMain(String mainObjectKey) {
         String hql =3D "select w.objectKey from JahiaWorkflow w where w.ma=
inObjectkey=3D?";
         final HibernateTemplate template =3D getHibernateTemplate();

Modified: trunk/core/src/java/org/jahia/hibernate/manager/JahiaContainerLis=
tManager.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/hibernate/manager/JahiaContainerListManager.java&rev=3D19415&repna=
me=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/hibernate/manager/JahiaContainerListManag=
er.java (original)
+++ trunk/core/src/java/org/jahia/hibernate/manager/JahiaContainerListManag=
er.java Wed Dec 26 14:38:53 2007
@@ -24,11 +24,13 @@
 import org.jahia.content.ContentContainerListKey;
 import org.jahia.content.ContentObject;
 import org.jahia.content.CrossReferenceManager;
+import org.jahia.content.ContentContainerKey;
 import org.jahia.exceptions.JahiaException;
 import org.jahia.exceptions.JahiaInitializationException;
 import org.jahia.hibernate.dao.*;
 import org.jahia.hibernate.model.JahiaContainerList;
 import org.jahia.hibernate.model.JahiaCtnListPK;
+import org.jahia.hibernate.model.JahiaObjectPK;
 import org.jahia.services.cache.Cache;
 import org.jahia.services.cache.CacheService;
 import org.jahia.services.cache.GroupCacheKey;
@@ -60,6 +62,7 @@
     private JahiaAclDAO aclDAO =3D null;
     private JahiaContainerDefinitionDAO definitionDAO =3D null;
     private JahiaObjectDAO jahiaObjectDAO =3D null;
+    private JahiaWorkflowDAO jahiaWorkflowDAO =3D null;
     private JahiaPagesDAO jahiaPagesDAO =3D null;
     private Log log =3D LogFactory.getLog(JahiaContainerListDAO.class);
     private CacheService cacheService =3D null;
@@ -92,6 +95,14 @@
         this.jahiaObjectDAO =3D jahiaObjectDAO;
     }
 =

+    public JahiaWorkflowDAO getJahiaWorkflowDAO() {
+        return jahiaWorkflowDAO;
+    }
+
+    public void setJahiaWorkflowDAO(JahiaWorkflowDAO jahiaWorkflowDAO) {
+        this.jahiaWorkflowDAO =3D jahiaWorkflowDAO;
+    }
+
     public JahiaPagesDAO getJahiaPagesDAO() {
         return jahiaPagesDAO;
     }
@@ -168,11 +179,11 @@
                    jahiaContainerList.getContainerDefinition().getName());
     }
 =

-    public void deleteContainerList(int containerId, JahiaSaveVersion save=
Version) {
+    public void deleteContainerList(int containerListId, JahiaSaveVersion =
saveVersion) {
         // Load active container
         JahiaContainerList container =3D null;
         try {
-            container =3D dao.loadPublishedContainerList(new Integer(conta=
inerId));
+            container =3D dao.loadPublishedContainerList(new Integer(conta=
inerListId));
         } catch (ObjectRetrievalFailureException e) {
         }
         if (saveVersion.isStaging()) {
@@ -181,7 +192,7 @@
                 // We have an active version so we create a staged version=
 if none exist
                 List stagedContainers =3D null;
                 try {
-                    stagedContainers =3D dao.loadStagedContainerLists(new =
Integer(containerId));
+                    stagedContainers =3D dao.loadStagedContainerLists(new =
Integer(containerListId));
                 } catch (ObjectRetrievalFailureException e) {
                 }
                 if (stagedContainers =3D=3D null || stagedContainers.size(=
) =3D=3D 0) {
@@ -208,13 +219,13 @@
             } else {
                 List stagedContainers =3D null;
                 try {
-                    stagedContainers =3D dao.loadStagedContainerLists(new =
Integer(containerId));
+                    stagedContainers =3D dao.loadStagedContainerLists(new =
Integer(containerListId));
                 } catch (ObjectRetrievalFailureException e) {
                 }
                 dao.deleteContainerLists(stagedContainers);
             }
         } else if (saveVersion.isVersioned()) {
-            dao.backupContainerList(new Integer(containerId), new Long(sav=
eVersion.getVersionID()));
+            dao.backupContainerList(new Integer(containerListId), new Long=
(saveVersion.getVersionID()));
             dao.deleteContainerList(container);
             try {
                 org.jahia.hibernate.model.JahiaContainer jahiaContainer =
=3D
@@ -226,17 +237,13 @@
                 log.error("Could not clone org.jahia.hibernate.model.Jahia=
Container");
             }
         } else {
-            dao.deleteContainerList(dao.loadPublishedContainerList(new Int=
eger(containerId)));
+            dao.deleteContainerList(dao.loadPublishedContainerList(new Int=
eger(containerListId)));
         }
-        flushCache(containerId, container!=3Dnull?container.getContainerDe=
finition().getJahiaSiteId().intValue():0,
+        flushCache(containerListId, container!=3Dnull?container.getContain=
erDefinition().getJahiaSiteId().intValue():0,
                    container!=3Dnull?container.getContainerDefinition().ge=
tName():null);
         // remove all links for page if no pages exist at all with this id
-        if(dao.getNBContainerList(containerId)=3D=3D0){
-            try {
-                CrossReferenceManager.getInstance().removeAllObjectXRefs(n=
ew ContentContainerListKey(containerId));
-            } catch (JahiaException e) {
-                throw new RuntimeException(e);
-            }
+        if(dao.getNBContainerList(containerListId)=3D=3D0){
+            deleteContainerListReferences(containerListId);
         }
     }
 =

@@ -246,14 +253,23 @@
         flushCache(id, 0,null);
         // remove all links for page if no pages exist at all with this id
         if(dao.getNBContainerList(id)=3D=3D0){
-            try {
-                CrossReferenceManager.getInstance().removeAllObjectXRefs(n=
ew ContentContainerListKey(id));
-            } catch (JahiaException e) {
-                throw new RuntimeException(e);
-            }
+            deleteContainerListReferences(id);
         }
     }
 =

+    private void deleteContainerListReferences(int containerListId) {
+        try {
+            jahiaObjectDAO.delete(new JahiaObjectPK(ContentContainerListKe=
y.CONTAINERLIST_TYPE, new Integer(containerListId)));
+            jahiaWorkflowDAO.delete(ContentContainerListKey.toObjectKeyStr=
ing(containerListId));
+            dao.deleteProperties(new Integer(containerListId));
+            CrossReferenceManager.getInstance().removeAllObjectXRefs(new C=
ontentContainerListKey(containerListId));
+        } catch (JahiaException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+
+
     public Collection getAllPageTopLevelContainerListIDs(int pageID) {
         return dao.getAllContainerTopLevelListIds(new Integer(pageID));
     }

Modified: trunk/core/src/java/org/jahia/hibernate/manager/JahiaContainerMan=
ager.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/hibernate/manager/JahiaContainerManager.java&rev=3D19415&repname=
=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/hibernate/manager/JahiaContainerManager.j=
ava (original)
+++ trunk/core/src/java/org/jahia/hibernate/manager/JahiaContainerManager.j=
ava Wed Dec 26 14:38:53 2007
@@ -21,7 +21,6 @@
 =

 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.hibernate.Query;
 import org.jahia.bin.Jahia;
 import org.jahia.content.ContentContainerKey;
 import org.jahia.content.ContentObject;
@@ -31,6 +30,7 @@
 import org.jahia.exceptions.JahiaInitializationException;
 import org.jahia.hibernate.dao.*;
 import org.jahia.hibernate.model.JahiaCtnEntryPK;
+import org.jahia.hibernate.model.JahiaObjectPK;
 import org.jahia.params.ProcessingContext;
 import org.jahia.services.cache.Cache;
 import org.jahia.services.cache.CacheService;
@@ -63,6 +63,7 @@
     private JahiaContainerDAO dao =3D null;
     private JahiaContainerDefinitionDAO definitionDAO =3D null;
     private JahiaObjectDAO jahiaObjectDAO =3D null;
+    private JahiaWorkflowDAO jahiaWorkflowDAO =3D null;
     private JahiaSiteDAO siteDAO =3D null;
     private Log log =3D LogFactory.getLog(getClass());
     private CacheService cacheService =3D null;
@@ -193,6 +194,14 @@
         this.jahiaObjectDAO =3D jahiaObjectDAO;
     }
 =

+    public JahiaWorkflowDAO getJahiaWorkflowDAO() {
+        return jahiaWorkflowDAO;
+    }
+
+    public void setJahiaWorkflowDAO(JahiaWorkflowDAO jahiaWorkflowDAO) {
+        this.jahiaWorkflowDAO =3D jahiaWorkflowDAO;
+    }
+
     public void setJahiaSiteDAO(JahiaSiteDAO siteDAO) {
         this.siteDAO =3D siteDAO;
     }
@@ -291,11 +300,7 @@
         }
         // remove all links for page if no pages exist at all with this id
         if(dao.getNBContainer(containerId)=3D=3D0){
-            try {
-                CrossReferenceManager.getInstance().removeAllObjectXRefs(n=
ew ContentContainerKey(containerId));
-            } catch (JahiaException e) {
-                throw new RuntimeException(e);
-            }
+            deleteContainerReferences(containerId);
         }
     }
 =

@@ -310,11 +315,18 @@
         }
         // remove all links for page if no pages exist at all with this id
         if(dao.getNBContainer(containerId)=3D=3D0){
-            try {
-                CrossReferenceManager.getInstance().removeAllObjectXRefs(n=
ew ContentContainerKey(containerId));
-            } catch (JahiaException e) {
-                throw new RuntimeException(e);
-            }
+            deleteContainerReferences(containerId);
+        }
+    }
+
+    private void deleteContainerReferences(int containerId) {
+        try {
+            jahiaObjectDAO.delete(new JahiaObjectPK(ContentContainerKey.CO=
NTAINER_TYPE, new Integer(containerId)));
+            jahiaWorkflowDAO.delete(ContentContainerKey.toObjectKeyString(=
containerId));
+            dao.deleteProperties(new Integer(containerId));
+            CrossReferenceManager.getInstance().removeAllObjectXRefs(new C=
ontentContainerKey(containerId));
+        } catch (JahiaException e) {
+            throw new RuntimeException(e);
         }
     }
 =


Modified: trunk/core/src/java/org/jahia/hibernate/manager/JahiaPagesManager=
.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/hibernate/manager/JahiaPagesManager.java&rev=3D19415&repname=3Djah=
ia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/hibernate/manager/JahiaPagesManager.java =
(original)
+++ trunk/core/src/java/org/jahia/hibernate/manager/JahiaPagesManager.java =
Wed Dec 26 14:38:53 2007
@@ -25,6 +25,8 @@
 import org.apache.commons.logging.LogFactory;
 import org.jahia.content.ContentPageKey;
 import org.jahia.content.ContentPageXRefManager;
+import org.jahia.content.ContentContainerListKey;
+import org.jahia.content.ContentContainerKey;
 import org.jahia.exceptions.JahiaException;
 import org.jahia.exceptions.JahiaInitializationException;
 import org.jahia.exceptions.JahiaPageNotFoundException;
@@ -32,6 +34,7 @@
 import org.jahia.hibernate.model.JahiaPagesData;
 import org.jahia.hibernate.model.JahiaPagesDataPK;
 import org.jahia.hibernate.model.JahiaSite;
+import org.jahia.hibernate.model.JahiaObjectPK;
 import org.jahia.registries.ServicesRegistry;
 import org.jahia.services.cache.Cache;
 import org.jahia.services.cache.CacheService;
@@ -59,6 +62,7 @@
     private JahiaAclDAO aclDAO =3D null;
     private JahiaFieldsDataDAO fieldDAO =3D null;
     private JahiaObjectDAO jahiaObjectDAO =3D null;
+    private JahiaWorkflowDAO jahiaWorkflowDAO =3D null;
     private JahiaPagesDAO dao =3D null;
     private JahiaPagesDefinitionDAO definitionDAO =3D null;
     private JahiaSiteDAO siteDAO =3D null;
@@ -91,6 +95,14 @@
         this.jahiaObjectDAO =3D jahiaObjectDAO;
     }
 =

+    public JahiaWorkflowDAO getJahiaWorkflowDAO() {
+        return jahiaWorkflowDAO;
+    }
+
+    public void setJahiaWorkflowDAO(JahiaWorkflowDAO jahiaWorkflowDAO) {
+        this.jahiaWorkflowDAO =3D jahiaWorkflowDAO;
+    }
+
     public void setJahiaPagesDAO(JahiaPagesDAO dao) {
         this.dao =3D dao;
     }
@@ -153,6 +165,7 @@
         Integer idJahiaPagesData =3D null;
         if (newStagingInfo.getID() > 0)
             idJahiaPagesData =3D new Integer(newStagingInfo.getID());
+            idJahiaPagesData =3D new Integer(newStagingInfo.getID());
         JahiaPagesDataPK pk =3D new JahiaPagesDataPK(idJahiaPagesData,
                                                    new Long(newStagingInfo=
.getVersionID()),
                                                    new Integer(newStagingI=
nfo.getWorkflowState()),
@@ -190,6 +203,10 @@
         // remove all links for page if no pages exist at all with this id
         if(dao.getNBPages(activeInfo.getID())=3D=3D0){
             try {
+                jahiaObjectDAO.delete(new JahiaObjectPK(ContentPageKey.PAG=
E_TYPE, new Integer(activeInfo.getID())));
+                jahiaWorkflowDAO.delete(ContentPageKey.toObjectKeyString(a=
ctiveInfo.getID()));
+                dao.deleteProperties(new Integer(activeInfo.getID()));
+
                 ContentPageXRefManager.getInstance().removeAllPageLinks(ac=
tiveInfo.getID());
                 // @Todo find a better way of flushing when truly deleting=
 page
                 HtmlCache htmlCacheInstance =3D cacheService.getHtmlCacheI=
nstance();

Modified: trunk/core/src/webapp/WEB-INF/etc/spring/applicationcontext-manag=
er.xml
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/webapp=
/WEB-INF/etc/spring/applicationcontext-manager.xml&rev=3D19415&repname=3Dja=
hia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/webapp/WEB-INF/etc/spring/applicationcontext-manager.xml=
 (original)
+++ trunk/core/src/webapp/WEB-INF/etc/spring/applicationcontext-manager.xml=
 Wed Dec 26 14:38:53 2007
@@ -143,6 +143,9 @@
                 <property name=3D"jahiaObjectDAO">
                     <ref bean=3D"jahiaObjectDAO"/>
                 </property>
+                <property name=3D"jahiaWorkflowDAO">
+                    <ref bean=3D"jahiaWorkflowDAO"/>
+                </property>
                 <property name=3D"cacheService">
                     <ref bean=3D"JahiaCacheService"/>
                 </property>
@@ -165,6 +168,9 @@
                 <property name=3D"jahiaObjectDAO">
                     <ref bean=3D"jahiaObjectDAO"/>
                 </property>
+                <property name=3D"jahiaWorkflowDAO">
+                    <ref bean=3D"jahiaWorkflowDAO"/>
+                </property>                =

                 <property name=3D"jahiaPagesDAO">
                     <ref bean=3D"jahiaPagesDAO"/>
                 </property>
@@ -257,6 +263,9 @@
                 <property name=3D"jahiaObjectDAO">
                     <ref bean=3D"jahiaObjectDAO"/>
                 </property>
+                <property name=3D"jahiaWorkflowDAO">
+                    <ref bean=3D"jahiaWorkflowDAO"/>
+                </property>
                 <property name=3D"jahiaPagesDAO">
                     <ref bean=3D"jahiaPagesDAO"/>
                 </property>

_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list

Reply via email to