Author: tdraier
Date: Fri Sep 14 12:52:36 2007
New Revision: 18459
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18459&repname=
=3Djahia
Log:
allows to disable cache in sub containers (port 18176)
Modified:
trunk/core/src/java/org/jahia/taglibs/container/ContainerCache.java
trunk/core/src/java/org/jahia/taglibs/container/ContainerCacheTag.java
trunk/core/src/java/org/jahia/taglibs/container/ContainerTag.java
Modified: trunk/core/src/java/org/jahia/taglibs/container/ContainerCache.ja=
va
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/taglibs/container/ContainerCache.java&rev=3D18459&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
--- trunk/core/src/java/org/jahia/taglibs/container/ContainerCache.java (or=
iginal)
+++ trunk/core/src/java/org/jahia/taglibs/container/ContainerCache.java Fri=
Sep 14 12:52:36 2007
@@ -13,4 +13,5 @@
=
public void addContainerDependency(int containerId);
=
+ public void disableCache();
}
Modified: trunk/core/src/java/org/jahia/taglibs/container/ContainerCacheTag=
.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/taglibs/container/ContainerCacheTag.java&rev=3D18459&repname=3Djah=
ia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/taglibs/container/ContainerCacheTag.java =
(original)
+++ trunk/core/src/java/org/jahia/taglibs/container/ContainerCacheTag.java =
Fri Sep 14 12:52:36 2007
@@ -37,6 +37,7 @@
private String containerContent =3D null;
private int counter =3D 1;
private JahiaData jData =3D null;
+ private String cache =3D "true";
private String cacheKey =3D null;
private Set dependencies =3D null;
private ContainerCache oldCacheTag;
@@ -95,14 +96,16 @@
dependencies =3D new HashSet();
ServletRequest request =3D pageContext.getRequest();
jData =3D (JahiaData) request.getAttribute("org.jahia.data.JahiaDa=
ta");
- try {
- containerContent =3D getFromContainerCache(container, jData);
- if (containerContent !=3D null) {
- return SKIP_BODY;
+ if ("true".equals(cache)) {
+ try {
+ containerContent =3D getFromContainerCache(container, jDat=
a);
+ if (containerContent !=3D null) {
+ return SKIP_BODY;
+ }
+ } catch (JahiaInitializationException jie) {
+ logger.error("Error initializing container rendering", jie=
);
+ throw new JspTagException();
}
- } catch (JahiaInitializationException jie) {
- logger.error("Error initializing container rendering", jie);
- throw new JspTagException();
}
return EVAL_BODY_BUFFERED;
}
@@ -113,7 +116,9 @@
if (this.display) {
try {
String bodyContent =3D getBodyContent().getString();
- writeToContainerCache(container, jData, bodyContent);
+ if ("true".equals(cache)) {
+ writeToContainerCache(container, jData, bodyContent);
+ }
getBodyContent().writeOut(getPreviousOut());
getBodyContent().clear();
this.counter++;
@@ -172,6 +177,14 @@
ancestor.addContainerDependency(containerId);
}
=
+ public void disableCache() {
+ cache =3D "false";
+
+ ContainerCache ancestor =3D (ContainerCache) findAncestorWithClass=
(this, ContainerCache.class);
+ if (ancestor !=3D null)
+ ancestor.disableCache();
+ }
+
private void writeToContainerCache(JahiaContainer jahiaContainer,Jahia=
Data jahiaData,
String bodyContent) throws JahiaInitializationException {
ContainerHTMLCache containerHTMLCache =3D ServicesRegistry.getInst=
ance().getCacheService().getContainerHTMLCacheInstance();
Modified: trunk/core/src/java/org/jahia/taglibs/container/ContainerTag.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/taglibs/container/ContainerTag.java&rev=3D18459&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
--- trunk/core/src/java/org/jahia/taglibs/container/ContainerTag.java (orig=
inal)
+++ trunk/core/src/java/org/jahia/taglibs/container/ContainerTag.java Fri S=
ep 14 12:52:36 2007
@@ -106,7 +106,11 @@
}
=
public void setCache(String cache) {
- this.cache =3D cache;
+ if (!"true".equals(cache) && !"on".equals(cache)) {
+ disableCache();
+ } else {
+ this.cache =3D "true";
+ }
}
=
public String getCacheKey() {
@@ -194,7 +198,9 @@
if (containerContent !=3D null) {
if ((this.display)) {
try {
+// out.print("<fieldset><legend align=3D\"r=
ight\">cached</legend>");
out.print(containerContent);
+// out.print("</fieldset>");
} catch (IOException ioe) {
logger.error("Error displaying container o=
utput", ioe);
throw new JspTagException();
@@ -299,6 +305,21 @@
ancestor.addContainerDependency(containerId);
}
=
+ public static void disableCache(PageContext pageContext) {
+ ContainerCache oldCacheTag =3D (ContainerCache) pageContext.getAtt=
ribute(CACHETAG);
+ if (oldCacheTag !=3D null) {
+ oldCacheTag.disableCache();
+ }
+ }
+
+ public void disableCache() {
+ cache =3D "false";
+
+ ContainerCache ancestor =3D (ContainerCache) findAncestorWithClass=
(this, ContainerCache.class);
+ if (ancestor !=3D null)
+ ancestor.disableCache();
+ }
+
private void writeToContainerCache(JahiaContainer jahiaContainer, Jahi=
aData jahiaData,
String bodyContent) throws JahiaInitializationException {
ContainerHTMLCache containerHTMLCache =3D ServicesRegistry.getInst=
ance().getCacheService().getContainerHTMLCacheInstance();
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list