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