You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2006/07/27 18:35:12 UTC
svn commit: r426130 - in /lenya/trunk/src:
modules-core/observation-impl/java/test/org/apache/lenya/cms/observation/
modules/sourcerepository/java/src/org/apache/lenya/cms/repository/
Author: andreas
Date: Thu Jul 27 09:35:12 2006
New Revision: 426130
URL: http://svn.apache.org/viewvc?rev=426130&view=rev
Log:
Fixed notification for deleted documents
Modified:
lenya/trunk/src/modules-core/observation-impl/java/test/org/apache/lenya/cms/observation/ObservationTest.java
lenya/trunk/src/modules-core/observation-impl/java/test/org/apache/lenya/cms/observation/TestListener.java
lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNode.java
Modified: lenya/trunk/src/modules-core/observation-impl/java/test/org/apache/lenya/cms/observation/ObservationTest.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/observation-impl/java/test/org/apache/lenya/cms/observation/ObservationTest.java?rev=426130&r1=426129&r2=426130&view=diff
==============================================================================
--- lenya/trunk/src/modules-core/observation-impl/java/test/org/apache/lenya/cms/observation/ObservationTest.java (original)
+++ lenya/trunk/src/modules-core/observation-impl/java/test/org/apache/lenya/cms/observation/ObservationTest.java Thu Jul 27 09:35:12 2006
@@ -28,6 +28,7 @@
import org.apache.lenya.cms.cocoon.source.SourceUtil;
import org.apache.lenya.cms.publication.Document;
import org.apache.lenya.cms.publication.DocumentFactory;
+import org.apache.lenya.cms.publication.DocumentManager;
import org.apache.lenya.cms.publication.DocumentUtil;
import org.apache.lenya.cms.publication.Publication;
import org.apache.lenya.cms.publication.PublicationUtil;
@@ -55,7 +56,7 @@
// check if it works if only the allListener is registered
registry.registerListener(allListener);
- testListener(doc, allListener);
+ testChanged(doc, allListener);
registry.registerListener(docListener, doc);
Exception e = null;
@@ -67,8 +68,8 @@
}
assertNotNull(e);
- testListener(doc, docListener);
- testListener(doc, allListener);
+ testChanged(doc, docListener);
+ testChanged(doc, allListener);
}
finally {
@@ -80,7 +81,7 @@
}
- protected void testListener(Document doc, TestListener listener) throws Exception {
+ protected void testChanged(Document doc, TestListener listener) throws Exception {
listener.reset();
NamespaceHelper xml = new NamespaceHelper("http://apache.org/lenya/test", "", "test");
doc.getRepositoryNode().lock();
@@ -90,13 +91,38 @@
doc.setMimeType("");
doc.setMimeType(mimeType);
- assertFalse(listener.wasNotified());
-
+ assertFalse(listener.wasChanged());
doc.getRepositoryNode().getSession().commit();
-
Thread.currentThread().sleep(100);
+ assertTrue(listener.wasChanged());
+ }
+
+ protected void testRemoved(Document doc, TestListener listener) throws Exception {
+ listener.reset();
+
+ DocumentManager docManager = null;
+ try {
+ docManager = (DocumentManager) getManager().lookup(DocumentManager.ROLE);
+ Document target = doc.getIdentityMap().get(doc.getPublication(), doc.getArea(), "/testTarget", doc.getLanguage());
+ docManager.move(doc, target);
+
+ assertFalse(listener.wasRemoved());
+ doc.getRepositoryNode().getSession().commit();
+ Thread.currentThread().sleep(100);
+ assertTrue(listener.wasRemoved());
+
+ docManager.move(target, doc);
+ assertFalse(listener.wasChanged());
+ doc.getRepositoryNode().getSession().commit();
+ Thread.currentThread().sleep(100);
+ assertTrue(listener.wasChanged());
+ }
+ finally {
+ if (docManager != null) {
+ getManager().release(docManager);
+ }
+ }
- assertTrue(listener.wasNotified());
}
}
Modified: lenya/trunk/src/modules-core/observation-impl/java/test/org/apache/lenya/cms/observation/TestListener.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/observation-impl/java/test/org/apache/lenya/cms/observation/TestListener.java?rev=426130&r1=426129&r2=426130&view=diff
==============================================================================
--- lenya/trunk/src/modules-core/observation-impl/java/test/org/apache/lenya/cms/observation/TestListener.java (original)
+++ lenya/trunk/src/modules-core/observation-impl/java/test/org/apache/lenya/cms/observation/TestListener.java Thu Jul 27 09:35:12 2006
@@ -5,18 +5,28 @@
public class TestListener implements RepositoryListener {
- private boolean notified = false;
+ private boolean changed = false;
+ private boolean removed = false;
public void documentChanged(RepositoryEvent event) {
- this.notified = true;
+ this.changed = true;
}
- public boolean wasNotified() {
- return this.notified;
+ public boolean wasChanged() {
+ return this.changed;
+ }
+
+ public boolean wasRemoved() {
+ return this.removed;
}
public void reset() {
- this.notified = false;
+ this.changed = false;
+ this.removed = false;
+ }
+
+ public void documentRemoved(RepositoryEvent event) {
+ this.removed = true;
}
}
Modified: lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNode.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNode.java?rev=426130&r1=426129&r2=426130&view=diff
==============================================================================
--- lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNode.java (original)
+++ lenya/trunk/src/modules/sourcerepository/java/src/org/apache/lenya/cms/repository/SourceNode.java Thu Jul 27 09:35:12 2006
@@ -234,7 +234,7 @@
Node node = getDocumentNode();
for (Iterator i = this.listeners.iterator(); i.hasNext(); ) {
NodeListener listener = (NodeListener) i.next();
- listener.nodeChanged(node, getSession().getIdentity());
+ listener.nodeRemoved(node, getSession().getIdentity());
}
} catch (Exception e) {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org