You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by an...@apache.org on 2006/09/25 15:02:31 UTC
svn commit: r449673 -
/jackrabbit/trunk/contrib/spi/spi2dav/src/main/java/org/apache/jackrabbit/spi2dav/EventImpl.java
Author: angela
Date: Mon Sep 25 06:02:30 2006
New Revision: 449673
URL: http://svn.apache.org/viewvc?view=rev&rev=449673
Log:
work in progress
- avoid usage of JCR event types for SPI events.
Modified:
jackrabbit/trunk/contrib/spi/spi2dav/src/main/java/org/apache/jackrabbit/spi2dav/EventImpl.java
Modified: jackrabbit/trunk/contrib/spi/spi2dav/src/main/java/org/apache/jackrabbit/spi2dav/EventImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/spi/spi2dav/src/main/java/org/apache/jackrabbit/spi2dav/EventImpl.java?view=diff&rev=449673&r1=449672&r2=449673
==============================================================================
--- jackrabbit/trunk/contrib/spi/spi2dav/src/main/java/org/apache/jackrabbit/spi2dav/EventImpl.java (original)
+++ jackrabbit/trunk/contrib/spi/spi2dav/src/main/java/org/apache/jackrabbit/spi2dav/EventImpl.java Mon Sep 25 06:02:30 2006
@@ -56,8 +56,7 @@
if (et.length == 0 || et.length > 1) {
throw new IllegalArgumentException("Ambigous event type definition: expected one single eventtype.");
}
- // TODO: server sends JCR-event types. we expect spi-types
- type = SubscriptionImpl.getJcrEventType(et[0]);
+ type = getSpiEventType(SubscriptionImpl.getJcrEventType(et[0]));
String href = DomUtil.getChildTextTrim(eventElement, DavConstants.XML_HREF, DavConstants.NAMESPACE);
if (type == Event.NODE_ADDED || type == Event.NODE_REMOVED) {
@@ -86,8 +85,7 @@
}
public String getUUID() {
- // TODO not available from XML_EVENT element
- return null;
+ return itemId.getUUID();
}
public QName getPrimaryNodeTypeName() {
@@ -102,5 +100,23 @@
public String getUserID() {
return DomUtil.getChildTextTrim(eventElement, XML_EVENTUSERID, NAMESPACE);
+ }
+
+ //--------------------------------------------------------------------------
+ private static int getSpiEventType(int jcrEventType) {
+ switch (jcrEventType) {
+ case javax.jcr.observation.Event.NODE_ADDED:
+ return Event.NODE_ADDED;
+ case javax.jcr.observation.Event.NODE_REMOVED:
+ return Event.NODE_REMOVED;
+ case javax.jcr.observation.Event.PROPERTY_ADDED:
+ return Event.PROPERTY_ADDED;
+ case javax.jcr.observation.Event.PROPERTY_CHANGED:
+ return Event.PROPERTY_CHANGED;
+ case javax.jcr.observation.Event.PROPERTY_REMOVED:
+ return Event.PROPERTY_REMOVED;
+ default:
+ throw new IllegalArgumentException("Invalid event type: " + jcrEventType);
+ }
}
}