+0 Thanks, Marius
On Sun, Mar 25, 2012 at 7:43 PM, Vincent Massol <[email protected]> wrote: > Hi devs, > > I'd like to quickly add a new ApplicationReadyEvent and send when we > initialize the XWiki class the first time: > > Index: > ../xwiki-commons/xwiki-commons-core/xwiki-commons-observation/xwiki-commons-observation-api/src/main/java/org/xwiki/observation/event/ApplicationReadyEvent.java > =================================================================== > --- > ../xwiki-commons/xwiki-commons-core/xwiki-commons-observation/xwiki-commons-observation-api/src/main/java/org/xwiki/observation/event/ApplicationReadyEvent.java > (revision ) > +++ > ../xwiki-commons/xwiki-commons-core/xwiki-commons-observation/xwiki-commons-observation-api/src/main/java/org/xwiki/observation/event/ApplicationReadyEvent.java > (revision ) > @@ -0,0 +1,35 @@ > +/* > + * 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; > + > +/** > + * An event triggered when the XWiki application is ready to service > requests. > + * > + * @version $Id$ > + * @since 4.0M2 > + */ > +public class ApplicationReadyEvent implements Event > +{ > + @Override > + public boolean matches(Object otherEvent) > + { > + return this.getClass().isAssignableFrom(otherEvent.getClass()); > + } > +} > Index: > xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/XWiki.java > =================================================================== > --- > xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/XWiki.java > (revision 6ddfc45a6aa807ac4b6a9bc9e101c042d0f0dd3d) > +++ > xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/XWiki.java > (revision ) > @@ -109,6 +109,7 @@ > import org.xwiki.model.reference.WikiReference; > import org.xwiki.observation.EventListener; > import org.xwiki.observation.ObservationManager; > +import org.xwiki.observation.event.ApplicationReadyEvent; > import org.xwiki.observation.event.Event; > import org.xwiki.query.QueryException; > import org.xwiki.rendering.macro.wikibridge.WikiMacroInitializer; > @@ -808,7 +809,12 @@ > // that we need DB access to be available (at component > initialization) to make this possible. > registerWikiMacros(); > > - Utils.<ObservationManager> getComponent((Type) > ObservationManager.class).addListener(this); > + ObservationManager observationManager = > + Utils.<ObservationManager> getComponent((Type) > ObservationManager.class); > + observationManager.addListener(this); > + > + // Send Event to signal that the application is ready to service > requests. > + observationManager.notify(new ApplicationReadyEvent(), this); > } > > /** > > > The rationale is that a lot of code require to know when the application is > ready for servicing and need to listen to this event and right now we're > postponing implementing several refactorings in XWiki because of this missing > event. > > WDYT? > > Thanks > -Vincent > > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

