Author: cmailleux
Date: Thu Jul 12 18:26:01 2007
New Revision: 17979

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D17979&repname=
=3Djahia
Log:
Port [17357-17359] Add new webdav lsitener Must be ported to jackrabbit

Added:
    trunk/core/src/java/org/jahia/services/webdav/listeners/JahiaESIWebdavE=
ventListener.java
      - copied unchanged from r17359, branches/JAHIA-5-0-SP-BRANCH/core/src=
/java/org/jahia/services/webdav/listeners/JahiaESIWebdavEventListener.java
Modified:
    trunk/core/src/java/org/jahia/services/esi/EsiInvalidationEventListener=
.java
    trunk/core/src/java/org/jahia/services/esi/EsiInvalidationWriterService=
.java
    trunk/core/src/java/org/jahia/services/esi/EsiSOAPInvalidatorService.ja=
va

Modified: trunk/core/src/java/org/jahia/services/esi/EsiInvalidationEventLi=
stener.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/esi/EsiInvalidationEventListener.java&rev=3D17979&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/services/esi/EsiInvalidationEventListener=
.java (original)
+++ trunk/core/src/java/org/jahia/services/esi/EsiInvalidationEventListener=
.java Thu Jul 12 18:26:01 2007
@@ -99,25 +99,17 @@
     public void userPropertiesSet( JahiaEvent je ) {
 =

         JahiaUser jahiaUser =3D (JahiaUser) je.getObject();
+        if(jahiaUser!=3Dnull) {
+            ProcessingContext pc =3D je.getProcessingContext();
 =

-        ProcessingContext pc =3D je.getProcessingContext();
-        ParamBean paramBean =3D null;
-        if (pc!=3Dnull) {
-            try {
-                paramBean =3D (ParamBean) pc;
-            } catch(ClassCastException e) {
-                paramBean =3D (ParamBean) Jahia.getThreadParamBean();
-            }
-        }
+            //invalidate page and all its non-absolute fragments
+            ServicesRegistry.getInstance().getEsiSOAPInvalidatorService()
+                    .SOAPInvalidateAllUserEntries(pc, jahiaUser);
 =

-        //invalidate page and all its non-absolute fragments
-        ServicesRegistry.getInstance().getEsiSOAPInvalidatorService()
-                .SOAPInvalidateAllUserEntries(paramBean, jahiaUser);
-
-        if (logger.isDebugEnabled())
-            logger.debug("[esi] :  userPropertiesSet event triggering clea=
ring of all objects belonging to user : " + jahiaUser.getUsername());
-
-        return;
+            if (logger.isDebugEnabled())
+                logger.debug("[esi] :  userPropertiesSet event triggering =
clearing of all objects belonging to user : " +
+                             jahiaUser.getUsername());
+        }
     }
 =

 /* -------------------------------- FIELD EVENTS -------------------------=
----------------------- */

Modified: trunk/core/src/java/org/jahia/services/esi/EsiInvalidationWriterS=
ervice.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/esi/EsiInvalidationWriterService.java&rev=3D17979&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/services/esi/EsiInvalidationWriterService=
.java (original)
+++ trunk/core/src/java/org/jahia/services/esi/EsiInvalidationWriterService=
.java Thu Jul 12 18:26:01 2007
@@ -1316,6 +1316,21 @@
 =

         return str.toString();
     }
+
+    public String getWebDAVFileInvalidationString(String uri) {
+        //TODO: will invalidate entries shared with others,
+        //TODO: but also might not invalidate entries generated by other b=
ut used by the current user
+
+        StringBuffer str =3D new StringBuffer("");
+        for (int  i =3D 0; i < EsiServerIPs.length; i++) {
+        str.append("<OBJECT> \n");
+            str.append("<ADVANCEDSELECTOR HOST=3D\"").append(EsiServerIPs[=
i]).append(":").append(EsiServerPorts[i]).append("\" > \n");
+            str.append("<OTHER NAME=3D\"URI\" TYPE=3D\"SUBSTRING\" VALUE=
=3D\"").append(uri).append("\"/> \n");
+            str.append("</ADVANCEDSELECTOR> \n");
+            str.append("</OBJECT> \n");
+        }
+        return str.toString();
+    }
 }
 =

 =


Modified: trunk/core/src/java/org/jahia/services/esi/EsiSOAPInvalidatorServ=
ice.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/esi/EsiSOAPInvalidatorService.java&rev=3D17979&repname=3D=
jahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=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/services/esi/EsiSOAPInvalidatorService.ja=
va (original)
+++ trunk/core/src/java/org/jahia/services/esi/EsiSOAPInvalidatorService.ja=
va Thu Jul 12 18:26:01 2007
@@ -182,15 +182,19 @@
 =

                 // Display status code
                 if (logger.isDebugEnabled()) logger.debug("Response status=
 code: " + result);
-
-                responseXML =3D post.getResponseBodyAsString(); //TODO: mi=
ght wanna use streams here, but not essential since responses are small
+                if(logger.isDebugEnabled())
+                    responseXML =3D post.getResponseBodyAsString(); //TODO=
: might wanna use streams here, but not essential since responses are small
 =

                 if (result!=3D200) {
                     success =3D false;
+                    if (logger.isDebugEnabled())
                     logger.error("[esi]:  ESI Invalidation SOAP Message Er=
ror due to resultCode : "+result
                         + "\n ---- Host : " + invServerAddr
                         + "\n ---- Sent Soap Request: \n" + soapRequest
                         + "\n ---- Soap Response: \n" + responseXML);
+                    else logger.error("[esi]:  ESI Invalidation SOAP Messa=
ge Error due to resultCode : "+result
+                        + "\n ---- Host : " + invServerAddr
+                        + "\n ---- Sent Soap Request: \n" + soapRequest);
                 }
 =

             } catch (IOException e) {
@@ -202,7 +206,7 @@
                             + "\n ---- Soap Response: \n" + responseXML);
                 else
                     logger.warn("[esi]:  ESI Invalidation SOAP IO Error ["=
 + e
-                            + "], Soap Response [" + responseXML +"]");
+                            + "]");
                 success =3D false;
             } catch (Exception e) {
                 if (logger.isDebugEnabled())
@@ -212,7 +216,7 @@
                             + "\n ---- Soap Response from ESI server: \n" =
+ responseXML);
                 else
                     logger.warn("[esi]:  ESI Invalidation SOAP Error [" + e
-                            + "], Soap Response [" + responseXML +"]");
+                            + "]");
                 success =3D false;
             }
             finally {
@@ -487,9 +491,12 @@
      */
     public boolean SOAPInvalidateAllUserEntries(ProcessingContext pc, Jahi=
aUser jahiaUser) {
         //TODO: need to support invalidation of user Session on ESI server=
, when using aclGrouped shared templates
-        HashSet users =3D new HashSet(1);
-        users.add(jahiaUser);
-        return SOAPInvalidateAllUserEntries( pc, users );
+        if (jahiaUser !=3D null) {
+            HashSet users =3D new HashSet(1);
+            users.add(jahiaUser);
+            return SOAPInvalidateAllUserEntries(pc, users);
+        }
+        else return false;
     }
 =

     /**
@@ -552,6 +559,19 @@
         }
         return false; //nothing to invalidate
     }
+
+    public boolean SOAPInvalidateWebDAVFile(String uri) {
+        //TODO: need to support invalidation of user Session on ESI server=
, when using aclGrouped shared templates
+        String invMessage =3D ServicesRegistry.getInstance().getEsiInvalid=
ationWriterService()
+                .getWebDAVFileInvalidationString (uri);
+        if (invMessage!=3Dnull) {
+            String soapRequest =3D ServicesRegistry.getInstance().getEsiIn=
validationWriterService().addSOAPXMLWrapper(invMessage);
+            if (logger.isDebugEnabled())
+                logger.debug("[esi]:  SOAP Invalidation Message SOAPInvali=
dateAllUserEntries : \n" + soapRequest );
+            return Transmit(soapRequest);
+        }
+        return false; //nothing to invalidate
+    }
 }
 =

 =


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

Reply via email to