You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by mr...@apache.org on 2004/11/05 10:15:59 UTC
svn commit: rev 56655 - in incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core: . observation
Author: mreutegg
Date: Fri Nov 5 01:15:59 2004
New Revision: 56655
Modified:
incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/SearchManager.java
incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/observation/EventImpl.java
Log:
jira issue JCR-16
- fixed EventImpl to return the path of the child item associated with the event
- fixed SearchManager handling of property change events related to wrong path returned by Event.getPath()
Modified: incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/SearchManager.java
==============================================================================
--- incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/SearchManager.java (original)
+++ incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/SearchManager.java Fri Nov 5 01:15:59 2004
@@ -175,7 +175,7 @@
Path path = Path.create(e.getPath(),
session.getNamespaceResolver(),
- true);
+ true).getAncestor(1);
if (!modified.contains(e.getParentUUID())) {
deleteNode(path, e.getParentUUID());
modified.add(e.getParentUUID());
Modified: incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/observation/EventImpl.java
==============================================================================
--- incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/observation/EventImpl.java (original)
+++ incubator/jackrabbit/trunk/src/java/org/apache/jackrabbit/core/observation/EventImpl.java Fri Nov 5 01:15:59 2004
@@ -17,6 +17,8 @@
import org.apache.jackrabbit.core.NoPrefixDeclaredException;
import org.apache.jackrabbit.core.SessionImpl;
+import org.apache.jackrabbit.core.Path;
+import org.apache.jackrabbit.core.MalformedPathException;
import org.apache.log4j.Logger;
import javax.jcr.RepositoryException;
@@ -78,7 +80,12 @@
*/
public String getPath() throws RepositoryException {
try {
- return eventState.getParentPath().toJCRPath(session.getNamespaceResolver());
+ Path p = Path.create(eventState.getParentPath(), eventState.getChildItemQName(), false);
+ return p.toJCRPath(session.getNamespaceResolver());
+ } catch (MalformedPathException e) {
+ String msg = "internal error: malformed path for event";
+ log.error(msg, e);
+ throw new RepositoryException(msg, e);
} catch (NoPrefixDeclaredException e) {
String msg = "internal error: encountered unregistered namespace in path";
log.error(msg, e);