You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by th...@apache.org on 2009/04/01 16:27:57 UTC

svn commit: r760900 - in /jackrabbit/trunk/jackrabbit-core/src: main/java/org/apache/jackrabbit/core/cluster/ main/java/org/apache/jackrabbit/core/observation/ main/java/org/apache/jackrabbit/core/state/ test/java/org/apache/jackrabbit/core/cluster/

Author: thomasm
Date: Wed Apr  1 14:27:56 2009
New Revision: 760900

URL: http://svn.apache.org/viewvc?rev=760900&view=rev
Log:
JCR-2031 Improved log message: include path

Modified:
    jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/cluster/ClusterNode.java
    jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/cluster/UpdateEventChannel.java
    jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/observation/EventStateCollection.java
    jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/SharedItemStateManager.java
    jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/cluster/ClusterRecordTest.java

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/cluster/ClusterNode.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/cluster/ClusterNode.java?rev=760900&r1=760899&r2=760900&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/cluster/ClusterNode.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/cluster/ClusterNode.java Wed Apr  1 14:27:56 2009
@@ -636,7 +636,7 @@
         /**
          * {@inheritDoc}
          */
-        public void updateCommitted(Update update) {
+        public void updateCommitted(Update update, String path) {
             if (status != STARTED) {
                 log.info("not started: update commit ignored.");
                 return;
@@ -650,7 +650,7 @@
             try {
                 record.update();
                 setRevision(record.getRevision());
-                log.debug("Appended revision: {}", new Long(record.getRevision()));
+                log.debug("revision {} {}", new Long(record.getRevision()), path);
             } catch (JournalException e) {
                 String msg = "Unable to commit log entry.";
                 log.error(msg, e);

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/cluster/UpdateEventChannel.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/cluster/UpdateEventChannel.java?rev=760900&r1=760899&r2=760900&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/cluster/UpdateEventChannel.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/cluster/UpdateEventChannel.java Wed Apr  1 14:27:56 2009
@@ -39,8 +39,9 @@
      * Called when an a update operation has been committed.
      *
      * @param update update operation
+     * @param path the change path
      */
-    void updateCommitted(Update update);
+    void updateCommitted(Update update, String path);
 
     /**
      * Called when an a update operation has been cancelled.

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/observation/EventStateCollection.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/observation/EventStateCollection.java?rev=760900&r1=760899&r2=760900&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/observation/EventStateCollection.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/observation/EventStateCollection.java Wed Apr  1 14:27:56 2009
@@ -35,6 +35,7 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import javax.jcr.NamespaceException;
 import javax.jcr.PathNotFoundException;
 import javax.jcr.RepositoryException;
 import javax.jcr.observation.ObservationManager;
@@ -495,7 +496,7 @@
      * Return the session who is the origin of this events.
      * @return event source
      */
-    SessionImpl getSession() {
+    public SessionImpl getSession() {
         return session;
     }
 
@@ -619,4 +620,33 @@
         }
         return builder.getPath();
     }
+
+    /**
+     * Get the longest common path of all event state paths. 
+     * 
+     * @return the longest common path
+     */
+    public String getCommonPath() {
+        String common = null;
+        try {
+            for (int i = 0; i < events.size(); i++) {
+                EventState state = (EventState) events.get(i);
+                String s = session.getJCRPath(state.getParentPath());
+                if (common == null) {
+                    common = s;
+                } else if (!common.equals(s)) {
+                    while (!s.startsWith(common)) {
+                        int idx = s.lastIndexOf('/');
+                        if (idx < 0) {
+                            break;
+                        }
+                        common = s.substring(0, idx);
+                    }
+                }
+            }
+        } catch (NamespaceException e) {
+            // ignore
+        }
+        return common;
+    }
 }

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/SharedItemStateManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/SharedItemStateManager.java?rev=760900&r1=760899&r2=760900&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/SharedItemStateManager.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/state/SharedItemStateManager.java Wed Apr  1 14:27:56 2009
@@ -756,7 +756,8 @@
 
                 /* let listener know about finished operation */
                 if (eventChannel != null) {
-                    eventChannel.updateCommitted(this);
+                    String path = events.getSession().getUserID() + "@" + events.getCommonPath();
+                    eventChannel.updateCommitted(this, path);
                 }
 
             } catch (InterruptedException e) {
@@ -871,12 +872,12 @@
          */
         private void updateReferences() throws ItemStateException {
             // process added REFERENCE properties
-            for (Iterator i = local.addedStates(); i.hasNext(); ) {
+            for (Iterator i = local.addedStates(); i.hasNext();) {
                 addReferences((ItemState) i.next());
             }
 
             // process modified REFERENCE properties
-            for (Iterator i = local.modifiedStates(); i.hasNext(); ) {
+            for (Iterator i = local.modifiedStates(); i.hasNext();) {
                 ItemState state = (ItemState) i.next();
                 if (!state.isNode()) {
                     // remove old references from the target
@@ -887,7 +888,7 @@
             }
 
             // process removed REFERENCE properties
-            for (Iterator i = local.deletedStates(); i.hasNext(); ) {
+            for (Iterator i = local.deletedStates(); i.hasNext();) {
                 removeReferences((ItemState) i.next());
             }
         }
@@ -910,7 +911,7 @@
                 throws ItemStateException {
             NodeReferencesId refsId = new NodeReferencesId(uuid);
             if (virtualProvider == null
-                    || ! virtualProvider.hasNodeReferences(refsId)) {
+                    || !virtualProvider.hasNodeReferences(refsId)) {
                 // get or create the references instance
                 NodeReferences refs = local.get(refsId);
                 if (refs == null) {

Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/cluster/ClusterRecordTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/cluster/ClusterRecordTest.java?rev=760900&r1=760899&r2=760900&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/cluster/ClusterRecordTest.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/cluster/ClusterRecordTest.java Wed Apr  1 14:27:56 2009
@@ -107,7 +107,7 @@
         UpdateEventChannel channel = master.createUpdateChannel(DEFAULT_WORKSPACE);
         channel.updateCreated(update);
         channel.updatePrepared(update);
-        channel.updateCommitted(update);
+        channel.updateCommitted(update, null);
 
         SimpleEventListener listener = new SimpleEventListener();
         slave.createUpdateChannel(DEFAULT_WORKSPACE).setListener(listener);