Author: tdraier
Date: Tue Sep 25 18:57:27 2007
New Revision: 18653

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18653&repname=
=3Djahia
Log:
improved debug options for container cache, added /bypass , /offonce and /o=
nlyupdate support

Modified:
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/taglibs/container/=
ContainerCacheTag.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/taglibs/container/=
ContainerTag.java

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/taglibs/cont=
ainer/ContainerCacheTag.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/taglibs/container/ContainerCacheTag.java&re=
v=3D18653&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
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/taglibs/container/=
ContainerCacheTag.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/taglibs/container/=
ContainerCacheTag.java Tue Sep 25 18:57:27 2007
@@ -27,8 +27,12 @@
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.jsp.JspException;
 import javax.servlet.jsp.JspTagException;
+import javax.servlet.jsp.JspWriter;
 import javax.servlet.jsp.PageContext;
+import javax.servlet.jsp.tagext.BodyContent;
 import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 import java.util.HashSet;
 import java.util.Set;
 =

@@ -157,9 +161,16 @@
         }
         dependencies =3D new HashSet();
 =

-        currentCache =3D "true".equals(cache) && !"off".equals(jData.getPr=
ocessingContext().getParameter(ProcessingContext.CONTAINERCACHE_MODE_PARAME=
TER));
-        debug =3D "debug".equals(jData.getProcessingContext().getParameter=
(ProcessingContext.CONTAINERCACHE_MODE_PARAMETER));
-        if (currentCache) {
+        boolean cacheOff =3D ProcessingContext.CACHE_OFF.equals(jData.getP=
rocessingContext().getParameter(ProcessingContext.CONTAINERCACHE_MODE_PARAM=
ETER)) ||
+                ProcessingContext.CACHE_BYPASS.equals(jData.getProcessingC=
ontext().getParameter(ProcessingContext.CONTAINERCACHE_MODE_PARAMETER));
+
+        currentCache =3D "true".equals(cache) && !cacheOff;
+
+        boolean onlyUpdate =3D ProcessingContext.CACHE_OFFONCE.equals(jDat=
a.getProcessingContext().getParameter(ProcessingContext.CONTAINERCACHE_MODE=
_PARAMETER)) ||
+                ProcessingContext.CACHE_ONLYUPDATE.equals(jData.getProcess=
ingContext().getParameter(ProcessingContext.CONTAINERCACHE_MODE_PARAMETER));
+
+        debug =3D "debug".equals(jData.getProcessingContext().getParameter=
(ProcessingContext.CONTAINERCACHE_MODE_PARAMETER)) || onlyUpdate || cacheOf=
f;
+        if (currentCache && !onlyUpdate) {
             try {
                 boolean b =3D putEsiHeader();
                 containerContent =3D getFromContainerCache(container, jDat=
a, b);
@@ -197,17 +208,7 @@
                                                    "aclGroup:" + this.aclG=
roupFinalKey);
                         }
                     }
-                    if (debug) {
-                        if (currentCache) {
-                            getPreviousOut().print("<fieldset><legend alig=
n=3D\"right\">to cache</legend>");
-                        } else {
-                            getPreviousOut().print("<fieldset><legend alig=
n=3D\"right\">not cache</legend>");
-                        }
-                    }
-                    getBodyContent().writeOut(getPreviousOut());
-                    if (debug) {
-                        getPreviousOut().print("</fieldset>");
-                    }
+                    ContainerCacheTag.writeOut(getPreviousOut(), getBodyCo=
ntent(), currentCache, debug);
                 }
                 getBodyContent().clear();
                 this.counter++;
@@ -227,13 +228,7 @@
         // pooling.
         if ((this.display) && (containerContent !=3D null && containerCont=
ent.length()>0)) {
             try {
-                if (debug) {
-                    pageContext.getOut().print("<fieldset><legend align=3D=
\"right\">from cache</legend>");
-                }
-                pageContext.getOut().print(containerContent);
-                if (debug) {
-                    pageContext.getOut().print("</fieldset>");
-                }
+                writeOutFromCache(pageContext.getOut(), containerContent, =
debug);
                 if (jData.getProcessingContext().settings().isEsiCacheActi=
vated() &&
                     (parentTemplate !=3Dnull && requestedFragment =3D=3D c=
ontainer.getID() + 1000 &&
                     (cacheKey=3D=3Dnull || cacheKey.equals(((HttpServletRe=
quest)pageContext.getRequest()).getParameter("cachekey")))))
@@ -411,4 +406,32 @@
         }
         return b;
     }
+
+
+    private static SimpleDateFormat dateFormat =3D new SimpleDateFormat("H=
H:mm:ss");
+
+    public static void writeOut(JspWriter writer, BodyContent content, boo=
lean currentCache, boolean debug) throws IOException {
+        if (debug) {
+            if (currentCache) {
+                writer.print("<fieldset><legend align=3D\"right\">writing =
to cache (now "+dateFormat.format(new Date())+")</legend>");
+            } else {
+                writer.print("<fieldset><legend align=3D\"right\">not cach=
ed (now "+dateFormat.format(new Date())+")</legend>");
+            }
+        }
+        content.writeOut(writer);
+        if (debug) {
+            writer.print("</fieldset>");
+        }
+    }
+
+    public static void writeOutFromCache(JspWriter writer, String content,=
 boolean debug) throws IOException {
+        if (debug) {
+            writer.print("<fieldset><legend align=3D\"right\">getting from=
 cache (now "+dateFormat.format(new Date())+")</legend>");
+        }
+        writer.print(content);
+        if (debug) {
+            writer.print("</fieldset>");
+        }
+    }
+
 }

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/taglibs/cont=
ainer/ContainerTag.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/taglibs/container/ContainerTag.java&rev=3D1=
8653&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
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/taglibs/container/=
ContainerTag.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/taglibs/container/=
ContainerTag.java Tue Sep 25 18:57:27 2007
@@ -188,7 +188,6 @@
         ServletRequest request =3D pageContext.getRequest();
         jData =3D (JahiaData) request.getAttribute("org.jahia.data.JahiaDa=
ta");
         currentCache =3D "true".equals(cache) && !"off".equals(jData.getPr=
ocessingContext().getParameter(ProcessingContext.CONTAINERCACHE_MODE_PARAME=
TER));
-        debug =3D "debug".equals(jData.getProcessingContext().getParameter=
(ProcessingContext.CONTAINERCACHE_MODE_PARAMETER));
         if (currentCache && jData.getProcessingContext().settings().isEsiC=
acheActivated()) {
             HttpServletResponse httpResponse =3D ((ParamBean) jData.getPro=
cessingContext()).getRealResponse();
             JesiTemplateTag tag =3D
@@ -250,27 +249,31 @@
 =

             ServletRequest request =3D pageContext.getRequest();
             jData =3D (JahiaData) request.getAttribute("org.jahia.data.Jah=
iaData");
-            currentCache =3D "true".equals(cache) && !"off".equals(jData.g=
etProcessingContext().getParameter(ProcessingContext.CONTAINERCACHE_MODE_PA=
RAMETER));
-            if (currentCache) {
+
+            boolean cacheOff =3D ProcessingContext.CACHE_OFF.equals(jData.=
getProcessingContext().getParameter(ProcessingContext.CONTAINERCACHE_MODE_P=
ARAMETER)) ||
+                    ProcessingContext.CACHE_BYPASS.equals(jData.getProcess=
ingContext().getParameter(ProcessingContext.CONTAINERCACHE_MODE_PARAMETER));
+
+            currentCache =3D "true".equals(cache) && !cacheOff;
+
+            boolean onlyUpdate =3D ProcessingContext.CACHE_OFFONCE.equals(=
jData.getProcessingContext().getParameter(ProcessingContext.CONTAINERCACHE_=
MODE_PARAMETER)) ||
+                    ProcessingContext.CACHE_ONLYUPDATE.equals(jData.getPro=
cessingContext().getParameter(ProcessingContext.CONTAINERCACHE_MODE_PARAMET=
ER));
+
+            debug =3D "debug".equals(jData.getProcessingContext().getParam=
eter(ProcessingContext.CONTAINERCACHE_MODE_PARAMETER)) || onlyUpdate || cac=
heOff;            =

+
+            if (currentCache  && !onlyUpdate) {
                 try {
                     boolean b =3D putEsiHeader();
                     String containerContent =3D getFromContainerCache(cont=
ainer, jData, b);
                     if (containerContent !=3D null) {
                         if ((this.display)) {
                             try {
-                                if (debug) {
-                                    out.print("<fieldset><legend align=3D\=
"right\">from cache</legend>");
-                                }
-                                out.print(containerContent);
+                                ContainerCacheTag.writeOutFromCache(out, c=
ontainerContent, debug);
                                 if (b && (requestedFragment =3D=3D contain=
er.getID() + 1000 && (cacheKey=3D=3Dnull || cacheKey.equals(((HttpServletRe=
quest)pageContext.getRequest()).getParameter("cachekey")))))
                                     parentTemplate.setRequestedFragmentBod=
y(containerContent);
                                 if (requestedFragment !=3D JesiConst.NO_FR=
AGMENTS && this.prefetchURL !=3Dnull) {
                                     storeFragmentInSession((ParamBean) jDa=
ta.getProcessingContext(), containerContent,
                                                            "", ""+containe=
r.getID(), "aclGroup:"+this.aclGroupFinalKey);
                                 }
-                                if (debug) {
-                                    out.print("</fieldset>");
-                                }
                             } catch (IOException ioe) {
                                 logger.error("Error displaying container o=
utput", ioe);
                                 throw new JspTagException();
@@ -366,17 +369,8 @@
                                                    "aclGroup:" + this.aclG=
roupFinalKey);
                         }
                     }
-                    if (debug) {
-                        if (currentCache) {
-                            getPreviousOut().print("<fieldset><legend alig=
n=3D\"right\">to cache</legend>");
-                        } else {
-                            getPreviousOut().print("<fieldset><legend alig=
n=3D\"right\">not cache</legend>");
-                        }
-                    }
-                    getBodyContent().writeOut(getPreviousOut());
-                    if (debug) {
-                        getPreviousOut().print("</fieldset>");
-                    }
+
+                    ContainerCacheTag.writeOut(getPreviousOut(), getBodyCo=
ntent(), currentCache, debug);
                 }
                 getBodyContent().clear();
                 this.counter++;

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

Reply via email to