You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by dp...@apache.org on 2006/11/06 16:22:31 UTC
svn commit: r471760 [3/3] - in
/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core: ./
cluster/ config/ lock/ nodetype/virtual/ observation/ state/ version/
Modified: jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/version/VersionManagerImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/version/VersionManagerImpl.java?view=diff&rev=471760&r1=471759&r2=471760
==============================================================================
--- jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/version/VersionManagerImpl.java (original)
+++ jackrabbit/trunk/jackrabbit/src/main/java/org/apache/jackrabbit/core/version/VersionManagerImpl.java Mon Nov 6 07:22:29 2006
@@ -37,6 +37,8 @@
import org.apache.jackrabbit.core.state.SharedItemStateManager;
import org.apache.jackrabbit.core.state.ItemStateListener;
import org.apache.jackrabbit.core.state.ItemState;
+import org.apache.jackrabbit.core.cluster.UpdateEventChannel;
+import org.apache.jackrabbit.core.cluster.UpdateEventListener;
import org.apache.jackrabbit.core.value.InternalValue;
import org.apache.jackrabbit.core.virtual.VirtualItemStateProvider;
import org.apache.jackrabbit.name.MalformedPathException;
@@ -60,7 +62,7 @@
/**
* This Class implements a VersionManager.
*/
-public class VersionManagerImpl extends AbstractVersionManager implements ItemStateListener {
+public class VersionManagerImpl extends AbstractVersionManager implements ItemStateListener, UpdateEventListener {
/**
* the default logger
@@ -378,6 +380,16 @@
}
/**
+ * Set an event channel to inform about updates.
+ *
+ * @param eventChannel event channel
+ */
+ public void setEventChannel(UpdateEventChannel eventChannel) {
+ sharedStateMgr.setEventChannel(eventChannel);
+ eventChannel.setListener(this);
+ }
+
+ /**
* {@inheritDoc}
*/
protected void itemDiscarded(InternalVersionItem item) {
@@ -481,6 +493,18 @@
* Not used.
*/
public void stateDiscarded(ItemState discarded) {}
+
+ //--------------------------------------------------< UpdateEventListener >
+
+ /**
+ * {@inheritDoc}
+ */
+ public void externalUpdate(ChangeLog changes, List events) throws RepositoryException {
+ EventStateCollection esc = getEscFactory().createEventStateCollection();
+ esc.addAll(events);
+
+ sharedStateMgr.externalUpdate(changes, esc);
+ }
//--------------------------------------------------------< inner classes >
/**