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