cmailleux 2005/11/03 19:26:56 CET
Modified files:
core/src/java/org/jahia/hibernate/manager
JahiaPagesManager.java
Log:
Workaround when moving page or deleting a staging page
Flush all caches, I will look to find a better way to flush only real
dependencies of the page next week
Revision Changes Path
1.13 +10 -1
jahia/core/src/java/org/jahia/hibernate/manager/JahiaPagesManager.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/hibernate/manager/JahiaPagesManager.java.diff?r1=1.12&r2=1.13&f=h
Index: JahiaPagesManager.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/hibernate/manager/JahiaPagesManager.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- JahiaPagesManager.java 21 Oct 2005 11:02:29 -0000 1.12
+++ JahiaPagesManager.java 3 Nov 2005 18:26:56 -0000 1.13
@@ -141,6 +141,10 @@
cache.remove(ContentPageKey.PAGE_TYPE);
}
}
+ cache =
cacheService.getCache(JahiaContainerListManager.JAHIA_CONTAINER_LIST_ID_CACHE);
+ if(cache!=null) {
+
cache.flushGroup(JahiaContainerListManager.PAGE_ID_CACHE_PREFIX+pageId);
+ }
}
public JahiaPageInfo copyEntry(int id, EntryStateable fromEntryState,
EntryStateable toEntryState) {
@@ -217,6 +221,8 @@
if(dao.getNBPages(activeInfo.getID())==0){
try {
ContentPageXRefManager.getInstance().removeAllPageLinks(activeInfo.getID());
+ // @Todo find a better way of flushing when truly deleting
page
+ cacheService.flushAllCaches();
} catch (JahiaException e) {
throw new RuntimeException(e);
}
@@ -443,7 +449,10 @@
data.setPageType(new Integer(newStagingInfo.getPageType()));
// Have we move the page ? if so flsuh all caches because we do not
know yet which cache must be flushed
// @Todo find a better way of flushing when moving page
- if(data.getParentID()!= null && newStagingInfo.getParentID()!=
data.getParentID().intValue())
+ int parentID = 0;
+ if(data.getParentID()!=null)
+ parentID = data.getParentID().intValue();
+ if(newStagingInfo.getParentID()!= parentID)
cacheService.flushAllCaches();
data.setParentID(new Integer(newStagingInfo.getParentID()));
data.setRemoteURL(newStagingInfo.getRemoteURL());