Author: cmailleux
Date: Mon Jul 9 12:10:52 2007
New Revision: 17920
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D17920&repname=
=3Djahia
Log:
Avoid NPE when cache is flushed
Modified:
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/esi/EsiSe=
rvice.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/taglibs/esi/JesiBo=
dyTag.java
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/esi=
/EsiService.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/esi/EsiService.java&rev=3D17920&re=
pname=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/services/esi/EsiSe=
rvice.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/esi/EsiSe=
rvice.java Mon Jul 9 12:10:52 2007
@@ -1792,16 +1792,18 @@
newFrgNode.setChildren(tempFrgNode.getChildren()); //TODO: may=
be need a clone here
//cache.put(newFrgNodeKey, tempFrgNode.getChildren());
=
- Fragment newFrg =3D (Fragment) cache.get(newFrgNodeKey, JesiOb=
ject.FRAGMENT_OBJ_MAPKEY);
-
+ Fragment newFrg =3D (Fragment) newFrgNode.get(JesiObject.FRAGM=
ENT_OBJ_MAPKEY);
+ if(newFrg =3D=3D null) {
+ cache.remove(frgTempNodeKey);
+ cache.remove(newFrgNodeKey);
+ }
Template tpl =3D getTemplate(pageID);
if (tpl !=3D null) {
String templateNodeKey =3D tpl.getNodeKey(); //TODO : not =
very efficient
//remove the reference to the old absolute fragment in par=
ent template
- Object deletedRef =3D deletedRef =3D cache.remove(template=
NodeKey + JesiObject.ABSOLUTE_FRAGS_NODEKEY,
- frgTempNodeK=
ey);
//sanity check
- if (deletedRef =3D=3D null)
+ if (cache.remove(templateNodeKey + JesiObject.ABSOLUTE_FRA=
GS_NODEKEY,
+ frgTempNodeKey) =3D=3D null)
logger.warn( "[esi]: could find MapKey entry [" + frg=
TempNodeKey + "] in Template Node [" +
templateNodeKey + JesiObject.ABSOLUTE_FRA=
GS_NODEKEY + "] which was due for removal.");
//add new reference to the final absolute fragment in the =
parent template
@@ -1815,13 +1817,14 @@
tempFrg.renameTrackbackNodeInContentIds( newFrgNodeKey);
=
//reset some of the values in the copied node
- newFrg.setNodeKey(newFrgNodeKey);
+ if (newFrg !=3D null) {
+ newFrg.setNodeKey(newFrgNodeKey);
String absoluteHeader =3D newFrg.getAbsoluteKeyHeader();
absoluteHeader =3D absoluteHeader.replaceFirst(
EsiInvalidationWriterService.quote(aclGroupTemporaryKe=
y), //make sure it's un-regexed
aclGroupFinalKey);
newFrg.setAbsoluteKeyHeader(absoluteHeader);
-
+ }
//now we can remove the old node
cache.remove(frgTempNodeKey);
=
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/taglibs/esi/=
JesiBodyTag.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/taglibs/esi/JesiBodyTag.java&rev=3D17920&re=
pname=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/esi/JesiBo=
dyTag.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/taglibs/esi/JesiBo=
dyTag.java Mon Jul 9 12:10:52 2007
@@ -169,10 +169,7 @@
//various sanity checks
if(expiration =3D=3D null || expiration.equals(""))
{
- release();
- throw new JspTagException(
- JahiaResourceBundle.getResource("configuration", "org.jahi=
a.esi.expiration_null_empty", Jahia.getThreadParamBean().getLocale(), Jahia=
.getThreadParamBean())
- );
+ expiration=3DJesiConst.UNSET;
}
if(maxRemovalDelay =3D=3D null || maxRemovalDelay.equals(""))
{
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list