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

Reply via email to