View Javadoc
1   /*******************************************************************************
2    *   Gisgraphy Project 
3    * 
4    *   This library is free software; you can redistribute it and/or
5    *   modify it under the terms of the GNU Lesser General Public
6    *   License as published by the Free Software Foundation; either
7    *   version 2.1 of the License, or (at your option) any later version.
8    * 
9    *   This library is distributed in the hope that it will be useful,
10   *   but WITHOUT ANY WARRANTY; without even the implied warranty of
11   *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12   *   Lesser General Public License for more details.
13   * 
14   *   You should have received a copy of the GNU Lesser General Public
15   *   License along with this library; if not, write to the Free Software
16   *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
17   * 
18   *  Copyright 2008  Gisgraphy project 
19   *  David Masclet <davidmasclet@gisgraphy.com>
20   *  
21   *  
22   *******************************************************************************/
23  package com.gisgraphy.domain.geoloc.entity.event;
24  
25  import org.springframework.beans.factory.annotation.Required;
26  import org.springframework.stereotype.Component;
27  
28  import com.gisgraphy.domain.repository.ISolRSynchroniser;
29  
30  /**
31   * Basic implementation that must be aware of {@link GisFeatureEvent}s. It will
32   * syncronized the database with the full text search engine
33   * 
34   * @author <a href="mailto:david.masclet@gisgraphy.com">David Masclet</a>
35   */
36  @Component
37  public class GisFeatureEventListener implements IEventListener {
38  
39      ISolRSynchroniser solRSynchroniser;
40  
41      /*
42       * (non-Javadoc)
43       * 
44       * @see com.gisgraphy.domain.geoloc.entity.event.IEventListener#handleEvent(com.gisgraphy.domain.geoloc.entity.event.IEvent)
45       */
46      public void handleEvent(IEvent event) {
47  	solRSynchroniser.handleEvent(event);
48      }
49  
50      /*
51       * (non-Javadoc)
52       * 
53       * @see com.gisgraphy.domain.geoloc.entity.event.IEventListener#supports(com.gisgraphy.domain.geoloc.entity.event.IEvent)
54       */
55      public boolean supports(IEvent event) {
56  	if (event instanceof IGisRepositoryEvent) {
57  	    return true;
58  	}
59  	return false;
60      }
61  
62      /**
63       * @param solRSynchroniser
64       *                The SolRSynchroniser to set
65       */
66      @Required
67      public void setSolRSynchroniser(ISolRSynchroniser solRSynchroniser) {
68  	this.solRSynchroniser = solRSynchroniser;
69      }
70  
71  }