Thanks... I think you've forgot to update other events that rely on AbstractDocumentEvent. if I remember well there is one in xwiki-annotations-core, and maybe some in xwiki-core too.
On Tue, Dec 14, 2010 at 3:01 PM, tmortagne <[email protected]> wrote: > Author: tmortagne > Date: 2010-12-14 15:01:28 +0100 (Tue, 14 Dec 2010) > New Revision: 33376 > > Added: > > platform/core/trunk/xwiki-bridge/src/main/java/org/xwiki/bridge/event/AbstractDocumentEvent.java > platform/core/trunk/xwiki-legacy/src/main/java/org/xwiki/legacy/ > platform/core/trunk/xwiki-legacy/src/main/java/org/xwiki/legacy/internal/ > > platform/core/trunk/xwiki-legacy/src/main/java/org/xwiki/legacy/internal/LegacyEventDispatcher.java > platform/core/trunk/xwiki-legacy/src/test/java/org/xwiki/legacy/ > platform/core/trunk/xwiki-legacy/src/test/java/org/xwiki/legacy/internal/ > > platform/core/trunk/xwiki-legacy/src/test/java/org/xwiki/observation/event/LegacyEventDispatcherTest.java > Removed: > > platform/core/trunk/xwiki-legacy/src/main/java/org/xwiki/observation/LegacyEventDispatcher.java > > platform/core/trunk/xwiki-legacy/src/test/java/org/xwiki/observation/LegacyEventDispatcherTest.java > > platform/core/trunk/xwiki-model/src/main/java/org/xwiki/model/event/AbstractDocumentEvent.java > Modified: > platform/core/trunk/xwiki-bridge/pom.xml > > platform/core/trunk/xwiki-bridge/src/main/java/org/xwiki/bridge/event/DocumentCreatedEvent.java > > platform/core/trunk/xwiki-bridge/src/main/java/org/xwiki/bridge/event/DocumentCreatingEvent.java > > platform/core/trunk/xwiki-bridge/src/main/java/org/xwiki/bridge/event/DocumentDeletedEvent.java > > platform/core/trunk/xwiki-bridge/src/main/java/org/xwiki/bridge/event/DocumentDeletingEvent.java > > platform/core/trunk/xwiki-bridge/src/main/java/org/xwiki/bridge/event/DocumentUpdatedEvent.java > > platform/core/trunk/xwiki-bridge/src/main/java/org/xwiki/bridge/event/DocumentUpdatingEvent.java > > platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/internal/cache/DefaultDocumentCache.java > > platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/internal/event/AbstractAttachmentEvent.java > > platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/internal/event/AbstractCommentEvent.java > > platform/core/trunk/xwiki-legacy/src/main/java/org/xwiki/observation/event/AbstractDocumentEvent.java > > platform/core/trunk/xwiki-legacy/src/main/java/org/xwiki/observation/event/DocumentDeleteEvent.java > > platform/core/trunk/xwiki-legacy/src/main/java/org/xwiki/observation/event/DocumentSaveEvent.java > > platform/core/trunk/xwiki-legacy/src/main/java/org/xwiki/observation/event/DocumentUpdateEvent.java > platform/core/trunk/xwiki-legacy/src/main/resources/META-INF/components.txt > Log: > XWIKI-5786: Deprecate Document(Save|Update|Delete)Event and add new > Document(Created|Updated|Deleted)Event in xwiki-bridge instead > * LegacyEventDispatcher loses document name > * LegacyEventDispatcher should be in an internal package > * AbstractDocumentEvent has nothing to do in xwiki-model > > Modified: platform/core/trunk/xwiki-bridge/pom.xml > =================================================================== > --- platform/core/trunk/xwiki-bridge/pom.xml 2010-12-14 09:19:33 UTC (rev > 33375) > +++ platform/core/trunk/xwiki-bridge/pom.xml 2010-12-14 14:01:28 UTC (rev > 33376) > @@ -56,13 +56,6 @@ > <!-- Apply the Checkstyle configurations defined in the top level > pom.xml file --> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-checkstyle-plugin</artifactId> > - <dependencies> > - <dependency> > - <groupId>org.xwiki.platform.tools</groupId> > - <artifactId>xwiki-verification-resources</artifactId> > - <version>${platform.tool.verification.version}</version> > - </dependency> > - </dependencies> > </plugin> > <plugin> > <groupId>org.codehaus.mojo</groupId> > > Copied: > platform/core/trunk/xwiki-bridge/src/main/java/org/xwiki/bridge/event/AbstractDocumentEvent.java > (from rev 33375, > platform/core/trunk/xwiki-model/src/main/java/org/xwiki/model/event/AbstractDocumentEvent.java) > =================================================================== > --- > platform/core/trunk/xwiki-bridge/src/main/java/org/xwiki/bridge/event/AbstractDocumentEvent.java > (rev 0) > +++ > platform/core/trunk/xwiki-bridge/src/main/java/org/xwiki/bridge/event/AbstractDocumentEvent.java > 2010-12-14 14:01:28 UTC (rev 33376) > @@ -0,0 +1,74 @@ > +/* > + * See the NOTICE file distributed with this work for additional > + * information regarding copyright ownership. > + * > + * This is free software; you can redistribute it and/or modify it > + * under the terms of the GNU Lesser General Public License as > + * published by the Free Software Foundation; either version 2.1 of > + * the License, or (at your option) any later version. > + * > + * This software is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * Lesser General Public License for more details. > + * > + * You should have received a copy of the GNU Lesser General Public > + * License along with this software; if not, write to the Free > + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA > + * 02110-1301 USA, or see the FSF site: http://www.fsf.org. > + */ > +package org.xwiki.bridge.event; > + > +import > org.xwiki.model.internal.reference.DefaultStringEntityReferenceSerializer; > +import org.xwiki.model.reference.DocumentReference; > +import org.xwiki.observation.event.AbstractFilterableEvent; > +import org.xwiki.observation.event.filter.EventFilter; > + > +/** > + * Base class for all document related {...@link > org.xwiki.observation.event.Event}. > + * > + * @version $Id$ > + * @since 2.7RC1 > + */ > +public abstract class AbstractDocumentEvent extends AbstractFilterableEvent > +{ > + /** > + * The version identifier for this Serializable class. Increment only if > the <i>serialized</i> form of the class > + * changes. > + */ > + private static final long serialVersionUID = 1L; > + > + /** > + * Used to serialize document name. > + */ > + private static final DefaultStringEntityReferenceSerializer SERIALIZER = > + new DefaultStringEntityReferenceSerializer(); > + > + /** > + * This event will match any other document event of the same type. > + */ > + public AbstractDocumentEvent() > + { > + super(); > + } > + > + /** > + * This event will match only events of the same type affecting the same > document. > + * > + * @param documentReference the reference of the document relater to > this event > + */ > + public AbstractDocumentEvent(DocumentReference documentReference) > + { > + super(SERIALIZER.serialize(documentReference)); > + } > + > + /** > + * Constructor using a custom {...@link EventFilter}. > + * > + * @param eventFilter the filter to use for matching events > + */ > + public AbstractDocumentEvent(EventFilter eventFilter) > + { > + super(eventFilter); > + } > +} > > Modified: > platform/core/trunk/xwiki-bridge/src/main/java/org/xwiki/bridge/event/DocumentCreatedEvent.java > =================================================================== > --- > platform/core/trunk/xwiki-bridge/src/main/java/org/xwiki/bridge/event/DocumentCreatedEvent.java > 2010-12-14 09:19:33 UTC (rev 33375) > +++ > platform/core/trunk/xwiki-bridge/src/main/java/org/xwiki/bridge/event/DocumentCreatedEvent.java > 2010-12-14 14:01:28 UTC (rev 33376) > @@ -20,13 +20,13 @@ > package org.xwiki.bridge.event; > > import org.xwiki.model.reference.DocumentReference; > -import org.xwiki.model.event.AbstractDocumentEvent; > import org.xwiki.observation.event.filter.EventFilter; > > /** > * An event triggered after a document is created. > * > * @version $Id$ > + * @since 2.7RC1 > */ > public class DocumentCreatedEvent extends AbstractDocumentEvent > { > > Modified: > platform/core/trunk/xwiki-bridge/src/main/java/org/xwiki/bridge/event/DocumentCreatingEvent.java > =================================================================== > --- > platform/core/trunk/xwiki-bridge/src/main/java/org/xwiki/bridge/event/DocumentCreatingEvent.java > 2010-12-14 09:19:33 UTC (rev 33375) > +++ > platform/core/trunk/xwiki-bridge/src/main/java/org/xwiki/bridge/event/DocumentCreatingEvent.java > 2010-12-14 14:01:28 UTC (rev 33376) > @@ -20,13 +20,13 @@ > package org.xwiki.bridge.event; > > import org.xwiki.model.reference.DocumentReference; > -import org.xwiki.model.event.AbstractDocumentEvent; > import org.xwiki.observation.event.filter.EventFilter; > > /** > * An event triggered before a document is created. > * > * @version $Id$ > + * @since 2.7RC1 > */ > public class DocumentCreatingEvent extends AbstractDocumentEvent > { > > Modified: > platform/core/trunk/xwiki-bridge/src/main/java/org/xwiki/bridge/event/DocumentDeletedEvent.java > =================================================================== > --- > platform/core/trunk/xwiki-bridge/src/main/java/org/xwiki/bridge/event/DocumentDeletedEvent.java > 2010-12-14 09:19:33 UTC (rev 33375) > +++ > platform/core/trunk/xwiki-bridge/src/main/java/org/xwiki/bridge/event/DocumentDeletedEvent.java > 2010-12-14 14:01:28 UTC (rev 33376) > @@ -20,13 +20,13 @@ > package org.xwiki.bridge.event; > > import org.xwiki.model.reference.DocumentReference; > -import org.xwiki.model.event.AbstractDocumentEvent; > import org.xwiki.observation.event.filter.EventFilter; > > /** > * An event triggered after a document is deleted. > * > * @version $Id$ > + * @since 2.7RC1 > */ > public class DocumentDeletedEvent extends AbstractDocumentEvent > { > @@ -43,7 +43,7 @@ > */ > public DocumentDeletedEvent() > { > - super(); > + > } > > /** > > Modified: > platform/core/trunk/xwiki-bridge/src/main/java/org/xwiki/bridge/event/DocumentDeletingEvent.java > =================================================================== > --- > platform/core/trunk/xwiki-bridge/src/main/java/org/xwiki/bridge/event/DocumentDeletingEvent.java > 2010-12-14 09:19:33 UTC (rev 33375) > +++ > platform/core/trunk/xwiki-bridge/src/main/java/org/xwiki/bridge/event/DocumentDeletingEvent.java > 2010-12-14 14:01:28 UTC (rev 33376) > @@ -20,13 +20,13 @@ > package org.xwiki.bridge.event; > > import org.xwiki.model.reference.DocumentReference; > -import org.xwiki.model.event.AbstractDocumentEvent; > import org.xwiki.observation.event.filter.EventFilter; > > /** > * An event triggered before a document is deleted. > * > * @version $Id$ > + * @since 2.7RC1 > */ > public class DocumentDeletingEvent extends AbstractDocumentEvent > { > > Modified: > platform/core/trunk/xwiki-bridge/src/main/java/org/xwiki/bridge/event/DocumentUpdatedEvent.java > =================================================================== > --- > platform/core/trunk/xwiki-bridge/src/main/java/org/xwiki/bridge/event/DocumentUpdatedEvent.java > 2010-12-14 09:19:33 UTC (rev 33375) > +++ > platform/core/trunk/xwiki-bridge/src/main/java/org/xwiki/bridge/event/DocumentUpdatedEvent.java > 2010-12-14 14:01:28 UTC (rev 33376) > @@ -20,13 +20,13 @@ > package org.xwiki.bridge.event; > > import org.xwiki.model.reference.DocumentReference; > -import org.xwiki.model.event.AbstractDocumentEvent; > import org.xwiki.observation.event.filter.EventFilter; > > /** > * An event triggered after a document is updated. > * > * @version $Id$ > + * @since 2.7RC1 > */ > public class DocumentUpdatedEvent extends AbstractDocumentEvent > { > > Modified: > platform/core/trunk/xwiki-bridge/src/main/java/org/xwiki/bridge/event/DocumentUpdatingEvent.java > =================================================================== > --- > platform/core/trunk/xwiki-bridge/src/main/java/org/xwiki/bridge/event/DocumentUpdatingEvent.java > 2010-12-14 09:19:33 UTC (rev 33375) > +++ > platform/core/trunk/xwiki-bridge/src/main/java/org/xwiki/bridge/event/DocumentUpdatingEvent.java > 2010-12-14 14:01:28 UTC (rev 33376) > @@ -20,13 +20,13 @@ > package org.xwiki.bridge.event; > > import org.xwiki.model.reference.DocumentReference; > -import org.xwiki.model.event.AbstractDocumentEvent; > import org.xwiki.observation.event.filter.EventFilter; > > /** > * An event triggered before a document is updated. > * > * @version $Id$ > + * @since 2.7RC1 > */ > public class DocumentUpdatingEvent extends AbstractDocumentEvent > { > @@ -35,7 +35,7 @@ > * changes. > */ > private static final long serialVersionUID = 1L; > - > + > /** > * Constructor initializing the event filter with an > * {...@link > org.xwiki.observation.event.filter.AlwaysMatchingEventFilter}, meaning that > this event will match any > > Modified: > platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/internal/cache/DefaultDocumentCache.java > =================================================================== > --- > platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/internal/cache/DefaultDocumentCache.java > 2010-12-14 09:19:33 UTC (rev 33375) > +++ > platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/internal/cache/DefaultDocumentCache.java > 2010-12-14 14:01:28 UTC (rev 33376) > @@ -24,6 +24,7 @@ > import java.util.HashSet; > import java.util.List; > > +import org.xwiki.bridge.event.AbstractDocumentEvent; > import org.xwiki.bridge.event.DocumentCreatedEvent; > import org.xwiki.bridge.event.DocumentDeletedEvent; > import org.xwiki.bridge.event.DocumentUpdatedEvent; > @@ -39,7 +40,6 @@ > import org.xwiki.model.reference.EntityReferenceSerializer; > import org.xwiki.observation.EventListener; > import org.xwiki.observation.ObservationManager; > -import org.xwiki.model.event.AbstractDocumentEvent; > import org.xwiki.observation.event.Event; > > /** > > Modified: > platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/internal/event/AbstractAttachmentEvent.java > =================================================================== > --- > platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/internal/event/AbstractAttachmentEvent.java > 2010-12-14 09:19:33 UTC (rev 33375) > +++ > platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/internal/event/AbstractAttachmentEvent.java > 2010-12-14 14:01:28 UTC (rev 33376) > @@ -20,7 +20,7 @@ > */ > package com.xpn.xwiki.internal.event; > > -import org.xwiki.model.event.AbstractDocumentEvent; > +import org.xwiki.bridge.event.AbstractDocumentEvent; > import org.xwiki.observation.event.filter.EventFilter; > import org.xwiki.observation.event.filter.FixedNameEventFilter; > > > Modified: > platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/internal/event/AbstractCommentEvent.java > =================================================================== > --- > platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/internal/event/AbstractCommentEvent.java > 2010-12-14 09:19:33 UTC (rev 33375) > +++ > platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/internal/event/AbstractCommentEvent.java > 2010-12-14 14:01:28 UTC (rev 33376) > @@ -20,7 +20,7 @@ > */ > package com.xpn.xwiki.internal.event; > > -import org.xwiki.model.event.AbstractDocumentEvent; > +import org.xwiki.bridge.event.AbstractDocumentEvent; > import org.xwiki.observation.event.filter.EventFilter; > import org.xwiki.observation.event.filter.FixedNameEventFilter; > > > Copied: > platform/core/trunk/xwiki-legacy/src/main/java/org/xwiki/legacy/internal/LegacyEventDispatcher.java > (from rev 33375, > platform/core/trunk/xwiki-legacy/src/main/java/org/xwiki/observation/LegacyEventDispatcher.java) > =================================================================== > --- > platform/core/trunk/xwiki-legacy/src/main/java/org/xwiki/legacy/internal/LegacyEventDispatcher.java > (rev 0) > +++ > platform/core/trunk/xwiki-legacy/src/main/java/org/xwiki/legacy/internal/LegacyEventDispatcher.java > 2010-12-14 14:01:28 UTC (rev 33376) > @@ -0,0 +1,120 @@ > +/* > + * See the NOTICE file distributed with this work for additional > + * information regarding copyright ownership. > + * > + * This is free software; you can redistribute it and/or modify it > + * under the terms of the GNU Lesser General Public License as > + * published by the Free Software Foundation; either version 2.1 of > + * the License, or (at your option) any later version. > + * > + * This software is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * Lesser General Public License for more details. > + * > + * You should have received a copy of the GNU Lesser General Public > + * License along with this software; if not, write to the Free > + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA > + * 02110-1301 USA, or see the FSF site: http://www.fsf.org. > + * > + */ > +package org.xwiki.legacy.internal; > + > +import java.util.ArrayList; > +import java.util.List; > + > +import org.xwiki.bridge.event.DocumentCreatedEvent; > +import org.xwiki.bridge.event.DocumentDeletedEvent; > +import org.xwiki.bridge.event.DocumentUpdatedEvent; > +import org.xwiki.component.annotation.Component; > +import org.xwiki.component.annotation.Requirement; > +import org.xwiki.component.logging.AbstractLogEnabled; > +import org.xwiki.component.manager.ComponentLookupException; > +import org.xwiki.component.manager.ComponentManager; > +import org.xwiki.observation.EventListener; > +import org.xwiki.observation.ObservationManager; > +import org.xwiki.observation.event.DocumentDeleteEvent; > +import org.xwiki.observation.event.DocumentSaveEvent; > +import org.xwiki.observation.event.DocumentUpdateEvent; > +import org.xwiki.observation.event.Event; > + > +/** > + * An event listener that forwards received events to their corresponding > legacy events. This allows depreciated events > + * to continue be supported. > + * > + * @version $Id$ > + */ > +...@component("legacyEventDispatcher") > +public class LegacyEventDispatcher extends AbstractLogEnabled implements > EventListener > +{ > + /** > + * Component manager, used to get access to the observation manager that > we cannot get injected because of a cyclic > + * dependency. > + */ > + �...@requirement > + private ComponentManager componentManager; > + > + /** > + * Observation manager, used to notify legacy events. > + */ > + private ObservationManager observationManager; > + > + /** > + * {...@inheritdoc} > + */ > + public String getName() > + { > + return "legacyEventDispatcher"; > + } > + > + /** > + * {...@inheritdoc} > + */ > + public List<Event> getEvents() > + { > + return new ArrayList<Event>() > + { > + { > + add(new DocumentDeletedEvent()); > + add(new DocumentCreatedEvent()); > + add(new DocumentUpdatedEvent()); > + } > + }; > + } > + > + /** > + * {...@inheritdoc} > + */ > + public void onEvent(Event event, Object source, Object data) > + { > + if (event instanceof DocumentDeletedEvent) { > + this.getObservationManager().notify( > + new DocumentDeleteEvent(((DocumentDeletedEvent) > event).getEventFilter()), source, data); > + } else if (event instanceof DocumentCreatedEvent) { > + this.getObservationManager().notify(new > DocumentSaveEvent(((DocumentCreatedEvent) event).getEventFilter()), > + source, data); > + } else if (event instanceof DocumentUpdatedEvent) { > + this.getObservationManager().notify( > + new DocumentUpdateEvent(((DocumentUpdatedEvent) > event).getEventFilter()), source, data); > + } > + } > + > + /** > + * Helper to lazily lookup the observation manager. > + * > + * @return the observation manager > + */ > + private ObservationManager getObservationManager() > + { > + if (this.observationManager != null) { > + return this.observationManager; > + } > + try { > + this.observationManager = > this.componentManager.lookup(ObservationManager.class); > + } catch (ComponentLookupException e) { > + this.getLogger().error("Failed to lookup observation manager", > e); > + } > + return this.observationManager; > + } > + > +} > > Deleted: > platform/core/trunk/xwiki-legacy/src/main/java/org/xwiki/observation/LegacyEventDispatcher.java > =================================================================== > --- > platform/core/trunk/xwiki-legacy/src/main/java/org/xwiki/observation/LegacyEventDispatcher.java > 2010-12-14 09:19:33 UTC (rev 33375) > +++ > platform/core/trunk/xwiki-legacy/src/main/java/org/xwiki/observation/LegacyEventDispatcher.java > 2010-12-14 14:01:28 UTC (rev 33376) > @@ -1,115 +0,0 @@ > -/* > - * See the NOTICE file distributed with this work for additional > - * information regarding copyright ownership. > - * > - * This is free software; you can redistribute it and/or modify it > - * under the terms of the GNU Lesser General Public License as > - * published by the Free Software Foundation; either version 2.1 of > - * the License, or (at your option) any later version. > - * > - * This software is distributed in the hope that it will be useful, > - * but WITHOUT ANY WARRANTY; without even the implied warranty of > - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > - * Lesser General Public License for more details. > - * > - * You should have received a copy of the GNU Lesser General Public > - * License along with this software; if not, write to the Free > - * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA > - * 02110-1301 USA, or see the FSF site: http://www.fsf.org. > - * > - */ > -package org.xwiki.observation; > - > -import java.util.ArrayList; > -import java.util.List; > - > -import org.xwiki.bridge.event.DocumentCreatedEvent; > -import org.xwiki.bridge.event.DocumentDeletedEvent; > -import org.xwiki.bridge.event.DocumentUpdatedEvent; > -import org.xwiki.component.annotation.Component; > -import org.xwiki.component.annotation.Requirement; > -import org.xwiki.component.logging.AbstractLogEnabled; > -import org.xwiki.component.manager.ComponentLookupException; > -import org.xwiki.component.manager.ComponentManager; > -import org.xwiki.observation.event.DocumentDeleteEvent; > -import org.xwiki.observation.event.DocumentSaveEvent; > -import org.xwiki.observation.event.DocumentUpdateEvent; > -import org.xwiki.observation.event.Event; > - > -/** > - * An event listener that forwards received events to their corresponding > legacy events. This allows depreciated events > - * to continue be supported. > - * > - * @version $Id$ > - */ > -...@component("legacyEventDispatcher") > -public class LegacyEventDispatcher extends AbstractLogEnabled implements > EventListener > -{ > - /** > - * Component manager, used to get access to the observation manager that > we cannot get injected because of a cyclic > - * dependency. > - */ > - �...@requirement > - private ComponentManager componentManager; > - > - /** > - * Observation manager, used to notify legacy events. > - */ > - private ObservationManager observationManager; > - > - /** > - * {...@inheritdoc} > - */ > - public String getName() > - { > - return "legacyEventDispatcher"; > - } > - > - /** > - * {...@inheritdoc} > - */ > - public List<Event> getEvents() > - { > - return new ArrayList<Event>() > - { > - { > - add(new DocumentDeletedEvent()); > - add(new DocumentCreatedEvent()); > - add(new DocumentUpdatedEvent()); > - } > - }; > - } > - > - /** > - * {...@inheritdoc} > - */ > - public void onEvent(Event event, Object source, Object data) > - { > - if (event instanceof DocumentDeletedEvent) { > - this.getObservationManager().notify(new DocumentDeleteEvent(), > source, data); > - } else if (event instanceof DocumentCreatedEvent) { > - this.getObservationManager().notify(new DocumentSaveEvent(), > source, data); > - } else if (event instanceof DocumentUpdatedEvent) { > - this.getObservationManager().notify(new DocumentUpdateEvent(), > source, data); > - } > - } > - > - /** > - * Helper to lazily lookup the observation manager. > - * > - * @return the observation manager > - */ > - private ObservationManager getObservationManager() > - { > - if (this.observationManager != null) { > - return this.observationManager; > - } > - try { > - this.observationManager = > this.componentManager.lookup(ObservationManager.class); > - } catch (ComponentLookupException e) { > - this.getLogger().error("Failed to lookup observation manager", > e); > - } > - return this.observationManager; > - } > - > -} > > Modified: > platform/core/trunk/xwiki-legacy/src/main/java/org/xwiki/observation/event/AbstractDocumentEvent.java > =================================================================== > --- > platform/core/trunk/xwiki-legacy/src/main/java/org/xwiki/observation/event/AbstractDocumentEvent.java > 2010-12-14 09:19:33 UTC (rev 33375) > +++ > platform/core/trunk/xwiki-legacy/src/main/java/org/xwiki/observation/event/AbstractDocumentEvent.java > 2010-12-14 14:01:28 UTC (rev 33376) > @@ -27,7 +27,9 @@ > * Base class for all document {...@link Event events}. > * > * @version $Id$ > + * @deprecated since 2.7RC1 use {...@link > org.xwiki.bridge.event.AbstractDocumentEvent} instead > */ > +...@deprecated > public abstract class AbstractDocumentEvent extends AbstractFilterableEvent > { > /** > @@ -41,7 +43,7 @@ > */ > public AbstractDocumentEvent() > { > - super(); > + super(); > } > > /** > > Modified: > platform/core/trunk/xwiki-legacy/src/main/java/org/xwiki/observation/event/DocumentDeleteEvent.java > =================================================================== > --- > platform/core/trunk/xwiki-legacy/src/main/java/org/xwiki/observation/event/DocumentDeleteEvent.java > 2010-12-14 09:19:33 UTC (rev 33375) > +++ > platform/core/trunk/xwiki-legacy/src/main/java/org/xwiki/observation/event/DocumentDeleteEvent.java > 2010-12-14 14:01:28 UTC (rev 33376) > @@ -26,7 +26,7 @@ > * An event triggered when a document is deleted. > * > * @version $Id$ > - * @deprecated use {...@link org.xwiki.bridge.event.DocumentDeletedEvent} > instead > + * @deprecated since 2.7RC1 use {...@link > org.xwiki.bridge.event.DocumentDeletedEvent} instead > */ > �...@deprecated > public class DocumentDeleteEvent extends AbstractDocumentEvent > > Modified: > platform/core/trunk/xwiki-legacy/src/main/java/org/xwiki/observation/event/DocumentSaveEvent.java > =================================================================== > --- > platform/core/trunk/xwiki-legacy/src/main/java/org/xwiki/observation/event/DocumentSaveEvent.java > 2010-12-14 09:19:33 UTC (rev 33375) > +++ > platform/core/trunk/xwiki-legacy/src/main/java/org/xwiki/observation/event/DocumentSaveEvent.java > 2010-12-14 14:01:28 UTC (rev 33376) > @@ -26,7 +26,7 @@ > * An event triggered when a document is saved for the first time (a new > document is created). > * > * @version $Id$ > - * @deprecated use {...@link org.xwiki.bridge.event.DocumentCreatedEvent} > instead > + * @deprecated since 2.7RC1 use {...@link > org.xwiki.bridge.event.DocumentCreatedEvent} instead > */ > �...@deprecated > public class DocumentSaveEvent extends AbstractDocumentEvent > > Modified: > platform/core/trunk/xwiki-legacy/src/main/java/org/xwiki/observation/event/DocumentUpdateEvent.java > =================================================================== > --- > platform/core/trunk/xwiki-legacy/src/main/java/org/xwiki/observation/event/DocumentUpdateEvent.java > 2010-12-14 09:19:33 UTC (rev 33375) > +++ > platform/core/trunk/xwiki-legacy/src/main/java/org/xwiki/observation/event/DocumentUpdateEvent.java > 2010-12-14 14:01:28 UTC (rev 33376) > @@ -26,7 +26,7 @@ > * An event triggered when an existing document is saved (updated). > * > * @version $Id$ > - * @deprecated use {...@link org.xwiki.bridge.event.DocumentUpdatedEvent} > instead > + * @deprecated since 2.7RC1 use {...@link > org.xwiki.bridge.event.DocumentUpdatedEvent} instead > */ > �...@deprecated > public class DocumentUpdateEvent extends AbstractDocumentEvent > > Modified: > platform/core/trunk/xwiki-legacy/src/main/resources/META-INF/components.txt > =================================================================== > --- > platform/core/trunk/xwiki-legacy/src/main/resources/META-INF/components.txt > 2010-12-14 09:19:33 UTC (rev 33375) > +++ > platform/core/trunk/xwiki-legacy/src/main/resources/META-INF/components.txt > 2010-12-14 14:01:28 UTC (rev 33376) > @@ -1 +1 @@ > -org.xwiki.observation.LegacyEventDispatcher > +org.xwiki.legacy.internal.LegacyEventDispatcher > > Deleted: > platform/core/trunk/xwiki-legacy/src/test/java/org/xwiki/observation/LegacyEventDispatcherTest.java > =================================================================== > --- > platform/core/trunk/xwiki-legacy/src/test/java/org/xwiki/observation/LegacyEventDispatcherTest.java > 2010-12-14 09:19:33 UTC (rev 33375) > +++ > platform/core/trunk/xwiki-legacy/src/test/java/org/xwiki/observation/LegacyEventDispatcherTest.java > 2010-12-14 14:01:28 UTC (rev 33376) > @@ -1,108 +0,0 @@ > -/* > - * See the NOTICE file distributed with this work for additional > - * information regarding copyright ownership. > - * > - * This is free software; you can redistribute it and/or modify it > - * under the terms of the GNU Lesser General Public License as > - * published by the Free Software Foundation; either version 2.1 of > - * the License, or (at your option) any later version. > - * > - * This software is distributed in the hope that it will be useful, > - * but WITHOUT ANY WARRANTY; without even the implied warranty of > - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > - * Lesser General Public License for more details. > - * > - * You should have received a copy of the GNU Lesser General Public > - * License along with this software; if not, write to the Free > - * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA > - * 02110-1301 USA, or see the FSF site: http://www.fsf.org. > - */ > -package org.xwiki.observation; > - > -import java.util.Collections; > -import java.util.List; > - > -import junit.framework.Assert; > - > -import org.junit.Before; > -import org.junit.Test; > -import org.xwiki.bridge.event.DocumentCreatedEvent; > -import org.xwiki.bridge.event.DocumentDeletedEvent; > -import org.xwiki.bridge.event.DocumentUpdatedEvent; > -import org.xwiki.observation.event.DocumentDeleteEvent; > -import org.xwiki.observation.event.DocumentSaveEvent; > -import org.xwiki.observation.event.DocumentUpdateEvent; > -import org.xwiki.observation.event.Event; > -import org.xwiki.test.AbstractComponentTestCase; > - > -public class LegacyEventDispatcherTest extends AbstractComponentTestCase > -{ > - > - private boolean hasBeenNotified; > - > - private ObservationManager om; > - > - �...@before > - public void setUp() throws Exception > - { > - this.hasBeenNotified = false; > - this.om = > this.getComponentManager().lookup(ObservationManager.class); > - } > - > - �...@test > - public void testLegacyDocumentDeleteEventGetsDispatched() throws > Exception > - { > - this.registerListenerWithLegacyEvent(new DocumentDeleteEvent()); > - om.notify(new DocumentDeletedEvent(), new Object()); > - // The notification is synchronous, so the following assertion will > only be tested > - // once all matching event listeners have been notified. > - Assert.assertTrue("Should have been notified by legacy event > dispatcher", this.hasBeenNotified); > - } > - > - �...@test > - public void testLegacyDocumentSaveEventGetsDispatched() throws Exception > - { > - this.registerListenerWithLegacyEvent(new DocumentSaveEvent()); > - om.notify(new DocumentCreatedEvent(), new Object()); > - // The notification is synchronous, so the following assertion will > only be tested > - // once all matching event listeners have been notified. > - Assert.assertTrue("Should have been notified by legacy event > dispatcher", this.hasBeenNotified); > - } > - > - �...@test > - public void testLegacyDocumentUpdateEventGetsDispatched() throws > Exception > - { > - this.registerListenerWithLegacyEvent(new DocumentUpdateEvent()); > - om.notify(new DocumentUpdatedEvent(), new Object()); > - // The notification is synchronous, so the following assertion will > only be tested > - // once all matching event listeners have been notified. > - Assert.assertTrue("Should have been notified by legacy event > dispatcher", this.hasBeenNotified); > - } > - > - private void registerListenerWithLegacyEvent(final Event event) > - { > - this.om.addListener(new EventListener() > - { > - public String getName() > - { > - return "testLegacyEventDispatchEventListener"; > - } > - > - public List<Event> getEvents() > - { > - return Collections.<Event> singletonList(event); > - } > - > - public void onEvent(Event event, Object source, Object data) > - { > - setNotified(); > - } > - > - }); > - } > - > - private void setNotified() > - { > - this.hasBeenNotified = true; > - } > -} > > Copied: > platform/core/trunk/xwiki-legacy/src/test/java/org/xwiki/observation/event/LegacyEventDispatcherTest.java > (from rev 33375, > platform/core/trunk/xwiki-legacy/src/test/java/org/xwiki/observation/LegacyEventDispatcherTest.java) > =================================================================== > --- > platform/core/trunk/xwiki-legacy/src/test/java/org/xwiki/observation/event/LegacyEventDispatcherTest.java > (rev 0) > +++ > platform/core/trunk/xwiki-legacy/src/test/java/org/xwiki/observation/event/LegacyEventDispatcherTest.java > 2010-12-14 14:01:28 UTC (rev 33376) > @@ -0,0 +1,111 @@ > +/* > + * See the NOTICE file distributed with this work for additional > + * information regarding copyright ownership. > + * > + * This is free software; you can redistribute it and/or modify it > + * under the terms of the GNU Lesser General Public License as > + * published by the Free Software Foundation; either version 2.1 of > + * the License, or (at your option) any later version. > + * > + * This software is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * Lesser General Public License for more details. > + * > + * You should have received a copy of the GNU Lesser General Public > + * License along with this software; if not, write to the Free > + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA > + * 02110-1301 USA, or see the FSF site: http://www.fsf.org. > + */ > +package org.xwiki.observation.event; > + > +import java.util.Collections; > +import java.util.List; > + > +import junit.framework.Assert; > + > +import org.junit.Before; > +import org.junit.Test; > +import org.xwiki.bridge.event.DocumentCreatedEvent; > +import org.xwiki.bridge.event.DocumentDeletedEvent; > +import org.xwiki.bridge.event.DocumentUpdatedEvent; > +import org.xwiki.model.reference.DocumentReference; > +import org.xwiki.observation.EventListener; > +import org.xwiki.observation.ObservationManager; > +import org.xwiki.observation.event.DocumentDeleteEvent; > +import org.xwiki.observation.event.DocumentSaveEvent; > +import org.xwiki.observation.event.DocumentUpdateEvent; > +import org.xwiki.observation.event.Event; > +import org.xwiki.observation.event.filter.EventFilter; > +import org.xwiki.observation.event.filter.FixedNameEventFilter; > +import org.xwiki.test.AbstractComponentTestCase; > + > +public class LegacyEventDispatcherTest extends AbstractComponentTestCase > +{ > + private Event receivedEvent; > + > + private ObservationManager om; > + > + �...@before > + public void setUp() throws Exception > + { > + this.om = getComponentManager().lookup(ObservationManager.class); > + } > + > + �...@test > + public void testLegacyDocumentDeleteEventGetsDispatched() throws > Exception > + { > + this.registerListenerWithLegacyEvent(new DocumentDeleteEvent()); > + this.om.notify(new DocumentDeletedEvent(new > DocumentReference("wiki", "space", "name")), new Object()); > + > + // The notification is synchronous, so the following assertion will > only be tested > + // once all matching event listeners have been notified. > + Assert.assertNotNull("Should have been notified by legacy event > dispatcher", this.receivedEvent); > + Assert.assertEquals("Wrong event filter", "wiki:space.name", > ((EventFilter)((FilterableEvent)this.receivedEvent).getEventFilter()).getFilter()); > + } > + > + �...@test > + public void testLegacyDocumentSaveEventGetsDispatched() throws Exception > + { > + this.registerListenerWithLegacyEvent(new DocumentSaveEvent()); > + this.om.notify(new DocumentCreatedEvent(new > DocumentReference("wiki", "space", "name")), new Object()); > + > + // The notification is synchronous, so the following assertion will > only be tested > + // once all matching event listeners have been notified. > + Assert.assertNotNull("Should have been notified by legacy event > dispatcher", this.receivedEvent); > + Assert.assertEquals("Wrong event filter", "wiki:space.name", > ((EventFilter)((FilterableEvent)this.receivedEvent).getEventFilter()).getFilter()); > + } > + > + �...@test > + public void testLegacyDocumentUpdateEventGetsDispatched() throws > Exception > + { > + this.registerListenerWithLegacyEvent(new DocumentUpdateEvent()); > + this.om.notify(new DocumentUpdatedEvent(new > DocumentReference("wiki", "space", "name")), new Object()); > + > + // The notification is synchronous, so the following assertion will > only be tested > + // once all matching event listeners have been notified. > + Assert.assertNotNull("Should have been notified by legacy event > dispatcher", this.receivedEvent); > + Assert.assertEquals("Wrong event filter", "wiki:space.name", > ((EventFilter)((FilterableEvent)this.receivedEvent).getEventFilter()).getFilter()); > + } > + > + private void registerListenerWithLegacyEvent(final Event event) > + { > + this.om.addListener(new EventListener() > + { > + public String getName() > + { > + return "testLegacyEventDispatchEventListener"; > + } > + > + public List<Event> getEvents() > + { > + return Collections.<Event> singletonList(event); > + } > + > + public void onEvent(Event event, Object source, Object data) > + { > + receivedEvent = event; > + } > + }); > + } > +} > > > Property changes on: > platform/core/trunk/xwiki-legacy/src/test/java/org/xwiki/observation/event/LegacyEventDispatcherTest.java > ___________________________________________________________________ > Added: svn:keywords > + Id > > Deleted: > platform/core/trunk/xwiki-model/src/main/java/org/xwiki/model/event/AbstractDocumentEvent.java > =================================================================== > --- > platform/core/trunk/xwiki-model/src/main/java/org/xwiki/model/event/AbstractDocumentEvent.java > 2010-12-14 09:19:33 UTC (rev 33375) > +++ > platform/core/trunk/xwiki-model/src/main/java/org/xwiki/model/event/AbstractDocumentEvent.java > 2010-12-14 14:01:28 UTC (rev 33376) > @@ -1,68 +0,0 @@ > -/* > - * See the NOTICE file distributed with this work for additional > - * information regarding copyright ownership. > - * > - * This is free software; you can redistribute it and/or modify it > - * under the terms of the GNU Lesser General Public License as > - * published by the Free Software Foundation; either version 2.1 of > - * the License, or (at your option) any later version. > - * > - * This software is distributed in the hope that it will be useful, > - * but WITHOUT ANY WARRANTY; without even the implied warranty of > - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > - * Lesser General Public License for more details. > - * > - * You should have received a copy of the GNU Lesser General Public > - * License along with this software; if not, write to the Free > - * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA > - * 02110-1301 USA, or see the FSF site: http://www.fsf.org. > - */ > -package org.xwiki.model.event; > - > -import > org.xwiki.model.internal.reference.DefaultStringEntityReferenceSerializer; > -import org.xwiki.model.reference.DocumentReference; > -import org.xwiki.observation.event.AbstractFilterableEvent; > -import org.xwiki.observation.event.Event; > -import org.xwiki.observation.event.filter.EventFilter; > - > -/** > - * Base class for all document {...@link Event events}. > - * > - * @version $Id$ > - */ > -public abstract class AbstractDocumentEvent extends AbstractFilterableEvent > -{ > - /** > - * The version identifier for this Serializable class. Increment only if > the <i>serialized</i> form of the class > - * changes. > - */ > - private static final long serialVersionUID = 1L; > - > - /** > - * This event will match any other document event of the same type. > - */ > - public AbstractDocumentEvent() > - { > - super(); > - } > - > - /** > - * This event will match only events of the same type affecting the same > document. > - * > - * @param documentReference the reference of the document relater to > this event > - */ > - public AbstractDocumentEvent(DocumentReference documentReference) > - { > - super(new > DefaultStringEntityReferenceSerializer().serialize(documentReference)); > - } > - > - /** > - * Constructor using a custom {...@link EventFilter}. > - * > - * @param eventFilter the filter to use for matching events > - */ > - public AbstractDocumentEvent(EventFilter eventFilter) > - { > - super(eventFilter); > - } > -} > \ No newline at end of file > > _______________________________________________ > notifications mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/notifications > _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

