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

Reply via email to