View Javadoc
1   package org.exoplatform.social.core.jpa.search.listener;
2   
3   import org.exoplatform.commons.search.index.IndexingService;
4   import org.exoplatform.commons.utils.CommonsUtils;
5   import org.exoplatform.services.log.ExoLogger;
6   import org.exoplatform.services.log.Log;
7   import org.exoplatform.social.core.jpa.search.SpaceIndexingServiceConnector;
8   import org.exoplatform.social.core.space.SpaceListenerPlugin;
9   import org.exoplatform.social.core.space.spi.SpaceLifeCycleEvent;
10  
11  public class SpaceESListenerImpl extends SpaceListenerPlugin {
12  
13    private static final Log LOG = ExoLogger.getExoLogger(SpaceESListenerImpl.class);
14  
15    @Override
16    public void spaceCreated(SpaceLifeCycleEvent event) {
17      IndexingService indexingService = CommonsUtils.getService(IndexingService.class);
18      String id = event.getSpace().getId();
19  
20      LOG.info("Notifying indexing service for space creation id={}", id);
21  
22      indexingService.index(SpaceIndexingServiceConnector.TYPE, id);
23    }
24  
25    @Override
26    public void spaceDescriptionEdited(SpaceLifeCycleEvent event) {
27      reindex(event, "space description");
28    }
29  
30    @Override
31    public void spaceRemoved(SpaceLifeCycleEvent event) {
32      IndexingService indexingService = CommonsUtils.getService(IndexingService.class);
33      String id = event.getSpace().getId();
34  
35      LOG.debug("Notifying indexing service for space removal id={}", id);
36  
37      indexingService.unindex(SpaceIndexingServiceConnector.TYPE, id);
38    }
39  
40    @Override
41    public void spaceRenamed(SpaceLifeCycleEvent event) {
42      reindex(event, "space renaming");
43    }
44  
45    private void reindex(SpaceLifeCycleEvent event, String cause) {
46      IndexingService indexingService = CommonsUtils.getService(IndexingService.class);
47      String id = event.getSpace().getId();
48  
49      LOG.info("Notifying indexing service for {} id={}", cause, id);
50  
51      indexingService.reindex(SpaceIndexingServiceConnector.TYPE, id);
52    }
53  
54    @Override
55    public void spaceAccessEdited(SpaceLifeCycleEvent event) {
56      reindex(event, "space access edited");
57    }
58  
59    @Override
60    public void spaceRegistrationEdited(SpaceLifeCycleEvent event) {
61      reindex(event, "space registration edited");
62    }
63  
64    @Override
65    public void spaceBannerEdited(SpaceLifeCycleEvent event) {
66    }
67  
68    @Override
69    public void applicationActivated(SpaceLifeCycleEvent event) {
70      // TODO Auto-generated method stub
71  
72    }
73  
74    @Override
75    public void applicationAdded(SpaceLifeCycleEvent event) {
76      // TODO Auto-generated method stub
77  
78    }
79  
80    @Override
81    public void applicationDeactivated(SpaceLifeCycleEvent event) {
82      // TODO Auto-generated method stub
83  
84    }
85  
86    @Override
87    public void applicationRemoved(SpaceLifeCycleEvent event) {
88      // TODO Auto-generated method stub
89  
90    }
91  
92    @Override
93    public void grantedLead(SpaceLifeCycleEvent event) {
94      // TODO Auto-generated method stub
95  
96    }
97  
98    @Override
99    public void joined(SpaceLifeCycleEvent event) {
100     reindex(event, "space joined");
101   }
102 
103   @Override
104   public void left(SpaceLifeCycleEvent event) {
105     reindex(event, "space left");
106   }
107 
108   @Override
109   public void revokedLead(SpaceLifeCycleEvent event) {
110     // TODO Auto-generated method stub
111 
112   }
113 
114   @Override
115   public void spaceAvatarEdited(SpaceLifeCycleEvent event) {
116     // TODO Auto-generated method stub
117 
118   }
119 
120   @Override
121   public void addInvitedUser(SpaceLifeCycleEvent event) {
122     // TODO Auto-generated method stub
123 
124   }
125 
126   @Override
127   public void addPendingUser(SpaceLifeCycleEvent event) {
128     // TODO Auto-generated method stub
129 
130   }
131 }