xwiki-devs
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
December 2010
- 32 participants
- 70 discussions
16 Dec '10
The XWiki development team is pleased to announce the release of XWiki
Enterprise 2.7 Release Candidate 1.
The 2.7 release is intended to be the last major release in the 2.x
cycle. As such, this release has stabilization as its primary goal, and
mostly provides bugfixes and minor improvements.
For more information, see the full release notes at:
http://www.xwiki.org/xwiki/bin/Main/ReleaseNotesXWikiEnterprise27RC1
Thanks,
The XWiki dev team.
1
0
Hi devs,
I'd like to propose a new macro (not sure how to call it): {{current}}
Usage:
{{current document="wiki:space.page"}}
.... nested blocks....
{{/current}}
What it does:
* Execute the nested blocks in the context of the passed document, i.e. it sets the passed document as the current document in the execution context.
Rationale:
* We have several use cases:
** When we have an include and we want to use relative references (links, images) in the included document
** On the Features page of enterprise.xwiki.org I query extensions.xwiki.org and get the data from one object field which has the format: "attach:...." (or "url:....", etc). I need to make this an image that is resolved based on the page where the information was taken from.
WDYT?
Thanks
-Vincent
4
9
Hi devs,
We're starting a new dev cycle (the 3.x one) and we need to start defining the roadmap for 3.0.
Here are some ideas we discussed internally at XWiki SAS. Some of these already have someone assigned and some don't. If you're interested in implementing one of the ideas listed above, please reply to this mail. If you're interested in contributing some other stuff for XE 3.0 please reply to this mail too so that we can put the result of this thread on the XE roadmap page at http://enterprise.xwiki.org/xwiki/bin/view/Main/Roadmap
Note that most of the issue listed are continuation of work already started.
- Extension Manager - Thomas Mortagne
- App within minute - Investigation - By whom?
- Improved page loading - Investigation - By whom?
- Use status - whom?
- Right UI - whom? Sergiu?
- Portlet - Marius
- Multipage export - whom?
- Dashboard - Anca
- Admin/Profile UI improvements - Sergiu
- Attachment Storage - Caleb? (+ Sergiu to help review it)
Marius also expressed interest in improving support for Chrome/Safari/Opera in the WYSIWYG editor (especially for macro edition) + check how it works on IE9 + FF4.
On my side, I'll try to continue working on the xwiki-action, xwiki-url and xwiki-model modules
Proposed Dates:
- 3.0M1: 17th of Jan 2011
- 3.0M2: 7 Feb 2011
- 3.0RC1: 21 Feb 2011
- 3.0Final: 7 March 2011
WDYT?
Thanks
-Vincent
6
6
Re: [xwiki-devs] [xwiki-notifications] r33548 - platform/xwiki-applications/trunk/ircbot/src/main/resources/IRC
by Vincent Massol 16 Dec '10
by Vincent Massol 16 Dec '10
16 Dec '10
Hi Sergiu/Sorin,
On Dec 15, 2010, at 8:58 PM, sdumitriu (SVN) wrote:
> Author: sdumitriu
> Date: 2010-12-15 20:58:05 +0100 (Wed, 15 Dec 2010)
> New Revision: 33548
>
> Modified:
> platform/xwiki-applications/trunk/ircbot/src/main/resources/IRC/IRCArchiveClass.xml
> platform/xwiki-applications/trunk/ircbot/src/main/resources/IRC/IRCArchiveClassSheet.xml
> platform/xwiki-applications/trunk/ircbot/src/main/resources/IRC/IRCArchiveClassTemplate.xml
> platform/xwiki-applications/trunk/ircbot/src/main/resources/IRC/IRCBot.xml
> platform/xwiki-applications/trunk/ircbot/src/main/resources/IRC/WebHome.xml
> Log:
> XAIRCBOT-2: Changed ircbot syntax logging, colouring and full 2.0 syntax
> Done.
> Patch from Sorin Burjan applied with some XML cleanup
>
> Modified: platform/xwiki-applications/trunk/ircbot/src/main/resources/IRC/IRCArchiveClass.xml
> ===================================================================
> --- platform/xwiki-applications/trunk/ircbot/src/main/resources/IRC/IRCArchiveClass.xml 2010-12-15 19:57:51 UTC (rev 33547)
> +++ platform/xwiki-applications/trunk/ircbot/src/main/resources/IRC/IRCArchiveClass.xml 2010-12-15 19:58:05 UTC (rev 33548)
> @@ -20,7 +20,7 @@
> <validationScript></validationScript>
> <comment></comment>
> <minorEdit>false</minorEdit>
> -<syntaxId>xwiki/1.0</syntaxId>
> +<syntaxId>xwiki/2.0</syntaxId>
> <hidden>false</hidden>
> <class>
> <name>IRC.IRCArchiveClass</name>
> @@ -63,7 +63,13 @@
> <classType>com.xpn.xwiki.objects.classes.TextAreaClass</classType>
> </content>
> </class>
> -<content>#set($defaultparent = "IRC.WebHome")
> +−
> +<content>
> +{{velocity filter="none"}}
We shouldn't use this filter. It's set automatically by the converter but it's not necessary and makes the code more complex than it should be and prevents us to use indentation!
There are some other cases below where it's used too.
Thanks
-Vincent
> +#set($defaultparent = "IRC.WebHome")
> #set($defaultweb = "IRC")
> -#includeForm("XWiki.ClassSheet")</content>
> +{{/velocity}}
> +
> +{{include document="XWiki.ClassSheet"/}}
> +</content>
> </xwikidoc>
>
> Modified: platform/xwiki-applications/trunk/ircbot/src/main/resources/IRC/IRCArchiveClassSheet.xml
> ===================================================================
> --- platform/xwiki-applications/trunk/ircbot/src/main/resources/IRC/IRCArchiveClassSheet.xml 2010-12-15 19:57:51 UTC (rev 33547)
> +++ platform/xwiki-applications/trunk/ircbot/src/main/resources/IRC/IRCArchiveClassSheet.xml 2010-12-15 19:58:05 UTC (rev 33548)
> @@ -20,12 +20,10 @@
> <validationScript></validationScript>
> <comment></comment>
> <minorEdit>false</minorEdit>
> -<syntaxId>xwiki/1.0</syntaxId>
> +<syntaxId>xwiki/2.0</syntaxId>
> <hidden>false</hidden>
> -<content>$doc.use("IRC.IRCArchiveClass")
> -{pre}
> -<pre>
> -$xwiki.getXMLEncoded($doc.display("content"))
> -</pre>
> -{/pre}</content>
> -</xwikidoc>
> +<content>{{velocity filter="none"}}
> +{{code language="irc"}}
> +$doc.getObject('IRC.IRCArchiveClass').getProperty('content').getValue()
> +{{/code}}
> +{{/velocity}}</content></xwikidoc>
>
> Modified: platform/xwiki-applications/trunk/ircbot/src/main/resources/IRC/IRCArchiveClassTemplate.xml
> ===================================================================
> --- platform/xwiki-applications/trunk/ircbot/src/main/resources/IRC/IRCArchiveClassTemplate.xml 2010-12-15 19:57:51 UTC (rev 33547)
> +++ platform/xwiki-applications/trunk/ircbot/src/main/resources/IRC/IRCArchiveClassTemplate.xml 2010-12-15 19:58:05 UTC (rev 33548)
> @@ -20,7 +20,7 @@
> <validationScript></validationScript>
> <comment></comment>
> <minorEdit>false</minorEdit>
> -<syntaxId>xwiki/1.0</syntaxId>
> +<syntaxId>xwiki/2.0</syntaxId>
> <hidden>false</hidden>
> -<content>#includeForm("IRC.IRCArchiveClassSheet")
> -</content></xwikidoc>
> \ No newline at end of file
> +<content>{{include document="IRC.IRCArchiveClassSheet"/}}</content>
> +</xwikidoc>
>
> Modified: platform/xwiki-applications/trunk/ircbot/src/main/resources/IRC/IRCBot.xml
> ===================================================================
> --- platform/xwiki-applications/trunk/ircbot/src/main/resources/IRC/IRCBot.xml 2010-12-15 19:57:51 UTC (rev 33547)
> +++ platform/xwiki-applications/trunk/ircbot/src/main/resources/IRC/IRCBot.xml 2010-12-15 19:58:05 UTC (rev 33548)
> @@ -188,8 +188,8 @@
> * [[$item]]: $itemDoc.getValue("description")
> #end
> {{/velocity}}
> -)))
>
> +
> = Status =
>
> {{include document="IRC.IRCBotlet"/}}
> @@ -258,8 +258,14 @@
> {
> initExecutionContext()
> def date = xwiki.formatDate(new Date(), "HH:mm", context)
> - log(channel, "${sender} - (${date}): ${message}\n")
> -
> + def User[] pircUsers = this.getUsers(channel)
> + def userPrefix = "";
> + for (User singleUser in pircUsers) {
> + if (singleUser.equals(sender)) {
> + userPrefix = singleUser.getPrefix();
> + }
> + }
> + log(channel, "${date} <${userPrefix}${sender}> ${message}\n")
> for (IRCBotlet botlet : Utils.getComponentManager().lookupList(IRCBotlet.class)) {
> try {
> def result = botlet.handleMessage(channel, sender, login, hostname, message, xwiki, context)
> @@ -291,21 +297,21 @@
> {
> initExecutionContext()
> def date = xwiki.formatDate(new Date(), "HH:mm", context)
> - log(channel, "${sender} joined ${channel} at ${date}\n")
> + log(channel, "${date} <${sender}> has joined ${channel}\n")
> }
>
> void onPart(String channel, String sender, String login, String hostname)
> {
> initExecutionContext()
> def date = xwiki.formatDate(new Date(), "HH:mm", context)
> - log(channel, "${sender} left ${channel} at ${date}\n")
> + log(channel, "${date} <${sender}> has left ${channel}\n")
> }
>
> void onQuit(String sourceNick, String sourceLogin, String sourceHostname, String reason)
> {
> initExecutionContext()
> def date = xwiki.formatDate(new Date(), "HH:mm", context)
> - log(getChannels()[0], "${sourceNick} left at ${date} (${reason}\n")
> + log(getChannels()[0], "${date} <${sourceNick}> has quit\n")
> }
>
> public void onPrivateMessage(String sender, String login, String hostname, String message)
> @@ -317,7 +323,8 @@
> void onNickChange(String oldNick, String login, String hostname, String newNick)
> {
> initExecutionContext()
> - log(getChannels()[0], "${oldNick} is now known as ${newNick} (${login}@${hostname}\n")
> + def date = xwiki.formatDate(new Date(), "HH:mm", context)
> + log(getChannels()[0], "${date} <${oldNick}> is now known as <${newNick}>\n")
> }
>
> XWikiDocument getLoggingDocument(String channelName)
>
> Modified: platform/xwiki-applications/trunk/ircbot/src/main/resources/IRC/WebHome.xml
> ===================================================================
> --- platform/xwiki-applications/trunk/ircbot/src/main/resources/IRC/WebHome.xml 2010-12-15 19:57:51 UTC (rev 33547)
> +++ platform/xwiki-applications/trunk/ircbot/src/main/resources/IRC/WebHome.xml 2010-12-15 19:58:05 UTC (rev 33548)
> @@ -37,6 +37,7 @@
> })
> #set($options = {
> "className":"IRC.IRCArchiveClass",
> + "translationPrefix" : "irc.",
> "rowCount": 10
> })
> #livetable("ircarchives" $columns $columnsProperties $options)
1
0
Re: [xwiki-devs] [xwiki-notifications] r33381 - platform/core/trunk/xwiki-rendering/xwiki-rendering-tests/src/test/resources/simple/encoding
by Vincent Massol 14 Dec '10
by Vincent Massol 14 Dec '10
14 Dec '10
We need to be careful about this. This test proves that you've changed the behavior.
And changing the behavior is an important change. In this case Thomas and I had designed the XHTML renderer so that its output would work with any encoding. I think this is no longer true with your change in http://jira.xwiki.org/jira/browse/XWIKI-5763
To be honest, I'm a bit worried about that change unless you really know what you are doing... especially in XE 2.7 which is the last minor release of the 2.x cycle.
Thanks
-Vincent
On Dec 14, 2010, at 4:23 PM, sdumitriu (SVN) wrote:
> Author: sdumitriu
> Date: 2010-12-14 16:23:00 +0100 (Tue, 14 Dec 2010)
> New Revision: 33381
>
> Modified:
> platform/core/trunk/xwiki-rendering/xwiki-rendering-tests/src/test/resources/simple/encoding/encoding1.test
> Log:
> [misc] Disable a failing test until we decide what should be done with non-ASCII characters
>
> Modified: platform/core/trunk/xwiki-rendering/xwiki-rendering-tests/src/test/resources/simple/encoding/encoding1.test
> ===================================================================
> --- platform/core/trunk/xwiki-rendering/xwiki-rendering-tests/src/test/resources/simple/encoding/encoding1.test 2010-12-14 14:51:26 UTC (rev 33380)
> +++ platform/core/trunk/xwiki-rendering/xwiki-rendering-tests/src/test/resources/simple/encoding/encoding1.test 2010-12-14 15:23:00 UTC (rev 33381)
> @@ -18,6 +18,7 @@
> endParagraph [[param1]=[val(((252)))e]]
> endDocument
> .#-----------------------------------------------------
> -.expect|xhtml/1.0
> +.expect|xhtml/1.0|skip
> +.# TODO: Re-enable this test once we reach a decision about non-ASCII characters
> .#-----------------------------------------------------
> <p> ˜€</p><p param1="valüe"> ˜€</p>
1
0
Re: [xwiki-devs] [xwiki-notifications] r33376 - in platform/core/trunk: xwiki-bridge xwiki-bridge/src/main/java/org/xwiki/bridge/event xwiki-core/src/main/java/com/xpn/xwiki/internal/cache xwiki-core/src/main/java/com/xpn/xwiki/internal/event xwiki-l
by Thomas Mortagne 14 Dec '10
by Thomas Mortagne 14 Dec '10
14 Dec '10
On Tue, Dec 14, 2010 at 15:27, Jerome Velociter <jerome(a)xwiki.com> wrote:
> 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.
I did updated xwiki-core ones but forgot some others yes.
>
> On Tue, Dec 14, 2010 at 3:01 PM, tmortagne
> <platform-notifications(a)xwiki.org> 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
>> notifications(a)xwiki.org
>> http://lists.xwiki.org/mailman/listinfo/notifications
>>
> _______________________________________________
> devs mailing list
> devs(a)xwiki.org
> http://lists.xwiki.org/mailman/listinfo/devs
>
--
Thomas Mortagne
1
0
Re: [xwiki-devs] [xwiki-notifications] r33376 - in platform/core/trunk: xwiki-bridge xwiki-bridge/src/main/java/org/xwiki/bridge/event xwiki-core/src/main/java/com/xpn/xwiki/internal/cache xwiki-core/src/main/java/com/xpn/xwiki/internal/event xwiki-legacy/src/mai
by Jerome Velociter 14 Dec '10
by Jerome Velociter 14 Dec '10
14 Dec '10
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
<platform-notifications(a)xwiki.org> 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
> notifications(a)xwiki.org
> http://lists.xwiki.org/mailman/listinfo/notifications
>
1
0
On Dec 13, 2010, at 4:36 PM, sdumitriu (SVN) wrote:
> Author: sdumitriu
> Date: 2010-12-13 16:36:16 +0100 (Mon, 13 Dec 2010)
> New Revision: 33363
>
> Added:
> platform/core/trunk/xwiki-xml/src/main/java/org/xwiki/xml/internal/XMLScriptService.java
> platform/core/trunk/xwiki-xml/src/test/java/org/xwiki/xml/internal/XMLScriptServiceTest.java
> Modified:
> platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/XWiki.java
> platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/util/Util.java
> platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/web/Utils.java
> platform/core/trunk/xwiki-velocity/src/main/java/org/xwiki/velocity/tools/EscapeTool.java
> platform/core/trunk/xwiki-xml/pom.xml
> platform/core/trunk/xwiki-xml/src/main/resources/META-INF/components.txt
> Log:
> XWIKI-5790: New script service for XML manipulation
> Done.
>
> XWIKI-5514: "apostrophe" character badly displayed in Internet Explorer
> XWIKI-5763: Remove entity encoding from UTF-8 text in XHTML
> Better fix.
[snip]
> + /**
> + * Construct a new (empty) DOM Document and return it.
> + *
> + * @return an empty DOM Document
> + */
> + public Document getDomDocument()
> + {
> + try {
> + return DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
> + } catch (ParserConfigurationException ex) {
> + LOG.error("Cannot create DOM Documents", ex);
> + return null;
> + }
> + }
I don't like too much getXXX() naming for create methods. I prefer createXXX().
Thanks
-Vincent
[snip]
2
1
Re: [xwiki-devs] [xwiki-notifications] r33366 - in platform/core/trunk/xwiki-component/xwiki-component-default/src: main/java/org/xwiki/component/embed test/java/org/xwiki/component/embed
by Vincent Massol 13 Dec '10
by Vincent Massol 13 Dec '10
13 Dec '10
On Dec 13, 2010, at 5:16 PM, tmortagne (SVN) wrote:
> Author: tmortagne
> Date: 2010-12-13 17:16:56 +0100 (Mon, 13 Dec 2010)
> New Revision: 33366
>
> Modified:
> platform/core/trunk/xwiki-component/xwiki-component-default/src/main/java/org/xwiki/component/embed/EmbeddableComponentManager.java
> platform/core/trunk/xwiki-component/xwiki-component-default/src/test/java/org/xwiki/component/embed/EmbeddableComponentManagerTest.java
> Log:
> XWIKI-5792: ComponentManager#hasComponent does not work if the component has not already been lookuped
>
> Modified: platform/core/trunk/xwiki-component/xwiki-component-default/src/main/java/org/xwiki/component/embed/EmbeddableComponentManager.java
> ===================================================================
> --- platform/core/trunk/xwiki-component/xwiki-component-default/src/main/java/org/xwiki/component/embed/EmbeddableComponentManager.java 2010-12-13 16:03:58 UTC (rev 33365)
> +++ platform/core/trunk/xwiki-component/xwiki-component-default/src/main/java/org/xwiki/component/embed/EmbeddableComponentManager.java 2010-12-13 16:16:56 UTC (rev 33366)
> @@ -93,7 +93,7 @@
> */
> public <T> boolean hasComponent(Class<T> role, String roleHint)
> {
> - return this.components.containsKey(new RoleHint<T>(role, roleHint));
> + return this.descriptors.containsKey(new RoleHint<T>(role, roleHint));
Isn't this what we used to have and you changed it because you wanted hasComponent to return true if the component had been instantiated vs the component had been registered, no?
Thanks
-Vincent
> }
>
> /**
> @@ -103,7 +103,7 @@
> */
> public <T> boolean hasComponent(Class<T> role)
> {
> - return this.components.containsKey(new RoleHint<T>(role));
> + return this.descriptors.containsKey(new RoleHint<T>(role));
> }
>
> /**
>
> Modified: platform/core/trunk/xwiki-component/xwiki-component-default/src/test/java/org/xwiki/component/embed/EmbeddableComponentManagerTest.java
> ===================================================================
> --- platform/core/trunk/xwiki-component/xwiki-component-default/src/test/java/org/xwiki/component/embed/EmbeddableComponentManagerTest.java 2010-12-13 16:03:58 UTC (rev 33365)
> +++ platform/core/trunk/xwiki-component/xwiki-component-default/src/test/java/org/xwiki/component/embed/EmbeddableComponentManagerTest.java 2010-12-13 16:16:56 UTC (rev 33366)
> @@ -180,4 +180,18 @@
> parent.registerComponent(cd);
> return parent;
> }
> +
> + @Test
> + public void testHasComponent() throws Exception
> + {
> + EmbeddableComponentManager ecm = new EmbeddableComponentManager();
> +
> + DefaultComponentDescriptor<Role> d1 = new DefaultComponentDescriptor<Role>();
> + d1.setRole(Role.class);
> + d1.setRoleHint("default");
> + ecm.registerComponent(d1);
> +
> + Assert.assertTrue(ecm.hasComponent(Role.class));
> + Assert.assertTrue(ecm.hasComponent(Role.class, "default"));
> + }
> }
2
2
Re: [xwiki-devs] [xwiki-notifications] r33362 - platform/core/trunk/xwiki-extension/xwiki-extension-api/src/main/java/org/xwiki/extension/repository/internal
by Sergiu Dumitriu 13 Dec '10
by Sergiu Dumitriu 13 Dec '10
13 Dec '10
On 12/13/2010 02:59 PM, tmortagne (SVN) wrote:
> Author: tmortagne
> Date: 2010-12-13 14:59:20 +0100 (Mon, 13 Dec 2010)
> New Revision: 33362
>
> Modified:
> platform/core/trunk/xwiki-extension/xwiki-extension-api/src/main/java/org/xwiki/extension/repository/internal/DefaultLocalExtensionRepository.java
> Log:
> XWIKI-5772: Extension Manager use invalid character in extension files names
>
> Modified: platform/core/trunk/xwiki-extension/xwiki-extension-api/src/main/java/org/xwiki/extension/repository/internal/DefaultLocalExtensionRepository.java
> ===================================================================
> --- platform/core/trunk/xwiki-extension/xwiki-extension-api/src/main/java/org/xwiki/extension/repository/internal/DefaultLocalExtensionRepository.java 2010-12-13 13:39:11 UTC (rev 33361)
> +++ platform/core/trunk/xwiki-extension/xwiki-extension-api/src/main/java/org/xwiki/extension/repository/internal/DefaultLocalExtensionRepository.java 2010-12-13 13:59:20 UTC (rev 33362)
> @@ -23,6 +23,8 @@
> import java.io.FileOutputStream;
> import java.io.FilenameFilter;
> import java.io.IOException;
> +import java.io.UnsupportedEncodingException;
> +import java.net.URLEncoder;
> import java.util.ArrayList;
> import java.util.Collections;
> import java.util.HashSet;
> @@ -289,14 +291,26 @@
>
> private File getFile(String id, String version, String type)
> {
> - return new File(getRootFolder(), id + "-" + version + "." + type);
> + return new File(getRootFolder(), getFileName(id, version, type));
> }
>
> private File getDescriptorFile(String id, String version)
> {
> - return new File(getRootFolder(), id + "-" + version + ".xed");
> + return new File(getRootFolder(), getFileName(id, version, "xed"));
> }
>
> + private String getFileName(String id, String version, String extension)
> + {
> + String fileName = id + "-" + version + "." + extension;
> + try {
Tabs here, replace with spaces:
> + return URLEncoder.encode(fileName, "UTF-8");
> + } catch (UnsupportedEncodingException e) {
> + // Should never happen
> +
> + return fileName;
> + }
> + }
> +
> private void addElement(Document document, Element parentElement, String elementName, String elementValue)
> {
> Element element = document.createElement(elementName);
>
--
Sergiu Dumitriu
http://purl.org/net/sergiu/
2
1