mcardle     2005/12/14 17:47:48 CET

  Modified files:
    src/org/jahia/esi/invalidation/services Invalidator.java 
  Log:
  * support for first step in rewrite of backend cache code

  * more error handling
  
  Revision  Changes    Path
  1.9       +17 -12    
esi_server/src/org/jahia/esi/invalidation/services/Invalidator.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/esi_server/src/org/jahia/esi/invalidation/services/Invalidator.java.diff?r1=1.8&r2=1.9&f=h
  
  
  
  Index: Invalidator.java
  ===================================================================
  RCS file: 
/home/cvs/repository/esi_server/src/org/jahia/esi/invalidation/services/Invalidator.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- Invalidator.java  7 Dec 2005 17:02:00 -0000       1.8
  +++ Invalidator.java  14 Dec 2005 16:47:48 -0000      1.9
  @@ -50,7 +50,6 @@
   import java.io.*;
   import java.util.Vector;
   import java.util.Enumeration;
  -import java.util.HashMap;
   import java.util.Iterator;
   import java.util.regex.Pattern;
   import java.util.regex.Matcher;
  @@ -65,7 +64,7 @@
   import org.jahia.esi.invalidation.markup.Cookie;
   import org.jahia.esi.invalidation.markup.Header;
   import org.jahia.esi.invalidation.markup.Other;
  -import org.jahia.esi.settings.GeneralSettings;
  +import org.jahia.esi.settings.SettingsBean;
   import org.jahia.esi.cache.FragmentCache;
   import org.jahia.esi.cache.UrlCacheObject;
   
  @@ -83,12 +82,12 @@
           base64 = new Base64();
   
           try {
  -            String s = (GeneralSettings.getInstance().getUsername()
  -                    + ":" + GeneralSettings.getInstance().getPassword());
  +            String s = (SettingsBean.getInstance().getUsername()
  +                    + ":" + SettingsBean.getInstance().getPassword());
               byte[] sbtytes = base64.encode(s.getBytes() );
               base64Signature = new String(sbtytes,  "ISO-8859-1" );
  -            System.out.println("logon base64Signature: 
"+base64Signature);//TODO: DELETE ME!!!!
  -            System.out.println("logon string: "+s);//TODO: DELETE ME!!!!
  +            log.info("logon base64Signature: "+base64Signature);//TODO: 
DELETE ME!!!!
  +            log.info("logon string: "+s);//TODO: DELETE ME!!!!
   
           } catch (UnsupportedEncodingException e) {
               log.error(e);
  @@ -411,8 +410,7 @@
   
       private String processInvalidationObjects(Vector objects) {
   
  -        FragmentCache cache = FragmentCache.getInstance();
  -        HashMap urlCache = cache.getUrlCache();
  +        FragmentCache fragmentCache = FragmentCache.getInstance();
   
           StringBuffer respMsg = new StringBuffer("");
   
  @@ -471,12 +469,19 @@
   
                   //Search cache for any matches
                   Vector urlKeysToRemove = new Vector();
  -                Iterator urlItid = urlCache.keySet().iterator();
  +                Iterator urlItid = 
fragmentCache.getUrlCacheKeySet().iterator();
                   while (urlItid.hasNext()) {
                       String urlKey = (String) urlItid.next();
  -                    UrlCacheObject urlObj = (UrlCacheObject) 
urlCache.get(urlKey);
  +                    //TODO: potential for error here since 
getUrlCacheObject() can modify cache if the object has expired
  +                    //TODO: need to fix this
  +                    UrlCacheObject urlObj = 
fragmentCache.getUrlCacheObject(urlKey);
   
  -                     if (urlObj.getUrl()==null || 
"".equals(urlObj.getUrl())) {
  +                    if (urlObj==null) {
  +                        log.error("Missing UrlCacheObject[" + urlKey + "] 
whilst iterating over UrlCacheKeySet");
  +                        continue;
  +                    }
  +
  +                    if (urlObj.getUrl()==null || "".equals(urlObj.getUrl())) 
{
                           log.error("Invalid UrlCacheObject.getUrl() value in 
matching process : " + urlObj);
                           continue;
                       }
  @@ -518,7 +523,7 @@
                       Enumeration enumK = urlKeysToRemove.elements();
                       while (enumK.hasMoreElements()) {
                           String urlKey = (String) enumK.nextElement();
  -                        cache.remove(urlKey);
  +                        fragmentCache.remove(urlKey);
                           //TODO: support obj.getREMOVALTTL();
                           respMsg.append("Removed ["+urlKey+"] from Cache with 
INFO: ["+obj.getINFO()+"]\n");
                           numInv++;
  

Reply via email to