Author: cmailleux
Date: Tue Aug 28 13:49:25 2007
New Revision: 18280

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18280&repname=
=3Djahia
Log:
Thanks to Benjamin, try to avoid NPE

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=3D18280&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 Aug 28 13:49:25 2007
@@ -98,17 +98,19 @@
         pageContext.setAttribute(ContainerTag.CACHETAG, this);
         ServletRequest request =3D pageContext.getRequest();
         jData =3D (JahiaData) request.getAttribute("org.jahia.data.JahiaDa=
ta");
-        HttpServletResponse httpResponse =3D ((ParamBean) jData.getProcess=
ingContext()).getRealResponse();
-        JesiTemplateTag tag =3D
-                ((JesiTemplateTag) pageContext.getAttribute(JesiConst.TEMP=
LATE_IN_USE, PageContext.REQUEST_SCOPE));
-        if (tag !=3D null) {
-            requestedFragment =3D tag.getRequestedFragment();
-            if (requestedFragment !=3D JesiConst.NO_FRAGMENTS) {
-                if (!httpResponse.containsHeader(JesiConst.SURROGATE_CONTR=
OL_HEADER)) {
-                    String s =3D makeSurrogateControl();
-                    httpResponse.setHeader(JesiConst.SURROGATE_CONTROL_HEA=
DER, s);
-                    //tag this response with the fragment header
-                    httpResponse.setIntHeader(JesiConst.ESI_FRAGMENT_HEADE=
R, requestedFragment);
+        if (jData.getProcessingContext().settings().isEsiCacheActivated())=
 {
+            HttpServletResponse httpResponse =3D ((ParamBean) jData.getPro=
cessingContext()).getRealResponse();
+            JesiTemplateTag tag =3D
+                    ((JesiTemplateTag) pageContext.getAttribute(JesiConst.=
TEMPLATE_IN_USE, PageContext.REQUEST_SCOPE));
+            if (tag !=3D null) {
+                requestedFragment =3D tag.getRequestedFragment();
+                if (requestedFragment !=3D JesiConst.NO_FRAGMENTS) {
+                    if (!httpResponse.containsHeader(JesiConst.SURROGATE_C=
ONTROL_HEADER)) {
+                        String s =3D makeSurrogateControl();
+                        httpResponse.setHeader(JesiConst.SURROGATE_CONTROL=
_HEADER, s);
+                        //tag this response with the fragment header
+                        httpResponse.setIntHeader(JesiConst.ESI_FRAGMENT_H=
EADER, requestedFragment);
+                    }
                 }
             }
         }
@@ -146,7 +148,10 @@
                 if (content !=3D null && content.length() > 0) {
                     if ("true".equals(cache)) {
                         writeToContainerCache(container, jData, content);
-                        if (parentTemplate.getRequestedFragmentBody()=3D=
=3Dnull && requestedFragment =3D=3D container.getID() + 1000 && (cacheKey=
=3D=3Dnull || cacheKey.equals(((HttpServletRequest)pageContext.getRequest()=
).getParameter("cachekey"))))
+                        if (jData.getProcessingContext().settings().isEsiC=
acheActivated() &&
+                            (parentTemplate.getRequestedFragmentBody()=3D=
=3Dnull &&
+                             requestedFragment =3D=3D container.getID() + =
1000 &&
+                             (cacheKey=3D=3Dnull || cacheKey.equals(((Http=
ServletRequest)pageContext.getRequest()).getParameter("cachekey")))))
                             parentTemplate.setRequestedFragmentBody(conten=
t);
                     }
                     getBodyContent().writeOut(getPreviousOut());
@@ -170,7 +175,9 @@
         if ((this.display) && (containerContent !=3D null)) {
             try {
                 pageContext.getOut().print(containerContent);
-                if (parentTemplate !=3Dnull && requestedFragment =3D=3D co=
ntainer.getID() + 1000 && cacheKey!=3Dnull && (cacheKey=3D=3Dnull || cacheK=
ey.equals(((HttpServletRequest)pageContext.getRequest()).getParameter("cach=
ekey"))))
+                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")))))
                     parentTemplate.setRequestedFragmentBody(containerConte=
nt);
             } catch (IOException ioe) {
                 logger.error("Error displaying container output", ioe);
@@ -287,34 +294,37 @@
                 processingContext.settings().isEsiCacheActivated() &&
                 pageContext.getAttribute(JesiConst.FRAGMENT_IN_USE, PageCo=
ntext.REQUEST_SCOPE) =3D=3D null &&
                 org.jahia.taglibs.esi.JesiTag.requestFromESI_10((HttpServl=
etRequest) pageContext.getRequest());
-        HttpServletResponse httpResponse =3D ((HttpServletResponse) pageCo=
ntext.getResponse());
-        ParamBean jParams =3D (ParamBean) Jahia.getThreadParamBean();
-        parentTemplate =3D
-                (JesiTemplateTag) pageContext.getAttribute(JesiConst.TEMPL=
ATE_IN_USE, PageContext.REQUEST_SCOPE);
-        requestedFragment =3D parentTemplate.getRequestedFragment();
-        EsiService esiService =3D ServicesRegistry.getInstance().getEsiSer=
vice();
-        aclGroupFinalKey =3D ServicesRegistry.getInstance()
-                .getEsiURLGeneratorService()
-                .encodeString(ServicesRegistry.getInstance()
-                        .getCacheService()
-                        .getContainerHTMLCacheInstance().getUserCacheKey(p=
rocessingContext.getUser(),
-                                                                         p=
rocessingContext.getSiteID()));
-        this.currentURL =3D getUrl(container.getID() + 1000)+(cacheKey!=3D=
null?"&cachekey=3D"+cacheKey:"");
-
-        this.prefetchURL =3D extractPrefetchFragmentURLFromHeader();
-        //add fragment to invalidation hashmap
-        //we want to do this even when ESI isn't supported for this reques=
t, so that all compiled
-        //pages register their fragments with the ESI cache, since future =
requests with ESI-support
-        //will need this information.
-        fragment =3D esiService.addFragment(processingContext.getSiteID(),
-                               0,
-                               container.getID() + 1000,
-                               currentURL,
-                               aclGroupFinalKey,
-                               group,
-                               user,
-                               !JesiConst.UNSET.equals(absolute),
-                               !JesiConst.UNSET.equals(alwaysInvalidate));
+        if (b) {
+            HttpServletResponse httpResponse =3D ((HttpServletResponse) pa=
geContext.getResponse());
+            ParamBean jParams =3D (ParamBean) Jahia.getThreadParamBean();
+            parentTemplate =3D
+                    (JesiTemplateTag) pageContext.getAttribute(JesiConst.T=
EMPLATE_IN_USE, PageContext.REQUEST_SCOPE);
+            requestedFragment =3D parentTemplate.getRequestedFragment();
+            EsiService esiService =3D ServicesRegistry.getInstance().getEs=
iService();
+            aclGroupFinalKey =3D ServicesRegistry.getInstance()
+                    .getEsiURLGeneratorService()
+                    .encodeString(ServicesRegistry.getInstance()
+                            .getCacheService()
+                            .getContainerHTMLCacheInstance().getUserCacheK=
ey(processingContext.getUser(),
+                                                                          =
   processingContext.getSiteID()));
+            this.currentURL =3D getUrl(container.getID() + 1000) + (cacheK=
ey !=3D null ? "&cachekey=3D" + cacheKey : "");
+
+            this.prefetchURL =3D extractPrefetchFragmentURLFromHeader();
+            //add fragment to invalidation hashmap
+            //we want to do this even when ESI isn't supported for this re=
quest, so that all compiled
+            //pages register their fragments with the ESI cache, since fut=
ure requests with ESI-support
+            //will need this information.
+            fragment =3D
+                    esiService.addFragment(processingContext.getSiteID(),
+                                           0,
+                                           container.getID() + 1000,
+                                           currentURL,
+                                           aclGroupFinalKey,
+                                           group,
+                                           user,
+                                           !JesiConst.UNSET.equals(absolut=
e),
+                                           !JesiConst.UNSET.equals(alwaysI=
nvalidate));
+        }
         return b;
     }
 }

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=
8280&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 Aug 28 13:49:25 2007
@@ -153,7 +153,7 @@
         dependencies =3D new HashSet();
         ServletRequest request =3D pageContext.getRequest();
         jData =3D (JahiaData) request.getAttribute("org.jahia.data.JahiaDa=
ta");
-        if ("true".equals(cache)) {
+        if ("true".equals(cache) && jData.getProcessingContext().settings(=
).isEsiCacheActivated()) {
             HttpServletResponse httpResponse =3D ((ParamBean) jData.getPro=
cessingContext()).getRealResponse();
             JesiTemplateTag tag =3D
                     ((JesiTemplateTag) pageContext.getAttribute(JesiConst.=
TEMPLATE_IN_USE, PageContext.REQUEST_SCOPE));
@@ -223,7 +223,7 @@
                             try {
                                 //                                out.prin=
t("<fieldset><legend align=3D\"right\">cached</legend>");
                                 out.print(containerContent);
-                                if (requestedFragment =3D=3D container.get=
ID() + 1000 && (cacheKey=3D=3Dnull || cacheKey.equals(((HttpServletRequest)=
pageContext.getRequest()).getParameter("cachekey"))))
+                                if (b && (requestedFragment =3D=3D contain=
er.getID() + 1000 && (cacheKey=3D=3Dnull || cacheKey.equals(((HttpServletRe=
quest)pageContext.getRequest()).getParameter("cachekey")))))
                                     parentTemplate.setRequestedFragmentBod=
y(containerContent);
                                 //                                out.prin=
t("</fieldset>");
                             } catch (IOException ioe) {
@@ -251,34 +251,37 @@
                 processingContext.settings().isEsiCacheActivated() &&
                 pageContext.getAttribute(JesiConst.FRAGMENT_IN_USE, PageCo=
ntext.REQUEST_SCOPE) =3D=3D null &&
                 org.jahia.taglibs.esi.JesiTag.requestFromESI_10((HttpServl=
etRequest) pageContext.getRequest());
-        HttpServletResponse httpResponse =3D ((HttpServletResponse) pageCo=
ntext.getResponse());
-        ParamBean jParams =3D (ParamBean) Jahia.getThreadParamBean();
-        parentTemplate =3D
-                (JesiTemplateTag) pageContext.getAttribute(JesiConst.TEMPL=
ATE_IN_USE, PageContext.REQUEST_SCOPE);
-        requestedFragment =3D parentTemplate.getRequestedFragment();
-        EsiService esiService =3D ServicesRegistry.getInstance().getEsiSer=
vice();
-        aclGroupFinalKey =3D ServicesRegistry.getInstance()
-                .getEsiURLGeneratorService()
-                .encodeString(ServicesRegistry.getInstance()
-                        .getCacheService()
-                        .getContainerHTMLCacheInstance().getUserCacheKey(p=
rocessingContext.getUser(),
-                                                                         p=
rocessingContext.getSiteID()));
-        this.currentURL =3D getUrl(container.getID() + 1000)+(cacheKey!=3D=
null?"&cachekey=3D"+cacheKey:"");
-
-        this.prefetchURL =3D extractPrefetchFragmentURLFromHeader();
-        //add fragment to invalidation hashmap
-        //we want to do this even when ESI isn't supported for this reques=
t, so that all compiled
-        //pages register their fragments with the ESI cache, since future =
requests with ESI-support
-        //will need this information.
-        fragment =3D esiService.addFragment(processingContext.getSiteID(),
-                               0,
-                               container.getID() + 1000,
-                               currentURL,
-                               aclGroupFinalKey,
-                               group,
-                               user,
-                               !JesiConst.UNSET.equals(absolute),
-                               !JesiConst.UNSET.equals(alwaysInvalidate));
+        if (b) {
+            HttpServletResponse httpResponse =3D ((HttpServletResponse) pa=
geContext.getResponse());
+            ParamBean jParams =3D (ParamBean) Jahia.getThreadParamBean();
+            parentTemplate =3D
+                    (JesiTemplateTag) pageContext.getAttribute(JesiConst.T=
EMPLATE_IN_USE, PageContext.REQUEST_SCOPE);
+            requestedFragment =3D parentTemplate.getRequestedFragment();
+            EsiService esiService =3D ServicesRegistry.getInstance().getEs=
iService();
+            aclGroupFinalKey =3D ServicesRegistry.getInstance()
+                    .getEsiURLGeneratorService()
+                    .encodeString(ServicesRegistry.getInstance()
+                            .getCacheService()
+                            .getContainerHTMLCacheInstance().getUserCacheK=
ey(processingContext.getUser(),
+                                                                          =
   processingContext.getSiteID()));
+            this.currentURL =3D getUrl(container.getID() + 1000) + (cacheK=
ey !=3D null ? "&cachekey=3D" + cacheKey : "");
+
+            this.prefetchURL =3D extractPrefetchFragmentURLFromHeader();
+            //add fragment to invalidation hashmap
+            //we want to do this even when ESI isn't supported for this re=
quest, so that all compiled
+            //pages register their fragments with the ESI cache, since fut=
ure requests with ESI-support
+            //will need this information.
+            fragment =3D
+                    esiService.addFragment(processingContext.getSiteID(),
+                                           0,
+                                           container.getID() + 1000,
+                                           currentURL,
+                                           aclGroupFinalKey,
+                                           group,
+                                           user,
+                                           !JesiConst.UNSET.equals(absolut=
e),
+                                           !JesiConst.UNSET.equals(alwaysI=
nvalidate));
+        }
         return b;
     }
 =

@@ -291,7 +294,7 @@
                 if (content !=3D null && content.length() > 0) {
                     if ("true".equals(cache)) {
                         writeToContainerCache(container, jData, content);
-                        if (parentTemplate.getRequestedFragmentBody()=3D=
=3Dnull && requestedFragment =3D=3D container.getID() + 1000 && (cacheKey=
=3D=3Dnull || cacheKey.equals(((HttpServletRequest)pageContext.getRequest()=
).getParameter("cachekey"))))
+                        if (jData.getProcessingContext().settings().isEsiC=
acheActivated() && (parentTemplate.getRequestedFragmentBody()=3D=3Dnull && =
requestedFragment =3D=3D container.getID() + 1000 && (cacheKey=3D=3Dnull ||=
 cacheKey.equals(((HttpServletRequest)pageContext.getRequest()).getParamete=
r("cachekey")))))
                             parentTemplate.setRequestedFragmentBody(conten=
t);
                     }
                     getBodyContent().writeOut(getPreviousOut());

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

Reply via email to