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