1   /**
2    * Copyright (c) 2000-2010 Liferay, Inc. All rights reserved.
3    *
4    * This library is free software; you can redistribute it and/or modify it under
5    * the terms of the GNU Lesser General Public License as published by the Free
6    * Software Foundation; either version 2.1 of the License, or (at your option)
7    * any later version.
8    *
9    * This library is distributed in the hope that it will be useful, but WITHOUT
10   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11   * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
12   * details.
13   */
14  
15  package com.liferay.portal.search;
16  
17  import com.liferay.portal.kernel.messaging.DestinationNames;
18  import com.liferay.portal.kernel.messaging.MessageBusUtil;
19  import com.liferay.portal.kernel.search.Document;
20  import com.liferay.portal.kernel.search.IndexWriter;
21  import com.liferay.portal.kernel.search.messaging.SearchRequest;
22  
23  import java.util.Collection;
24  
25  /**
26   * <a href="IndexWriterImpl.java.html"><b><i>View Source</i></b></a>
27   *
28   * @author Bruno Farache
29   */
30  public class IndexWriterImpl implements IndexWriter {
31  
32      public void addDocument(long companyId, Document document) {
33          SearchRequest searchRequest = SearchRequest.addDocument(
34              companyId, document);
35  
36          MessageBusUtil.sendMessage(
37              DestinationNames.SEARCH_WRITER, searchRequest);
38      }
39  
40      public void addDocuments(long companyId, Collection<Document> documents) {
41          if (documents.isEmpty()) {
42              return;
43          }
44  
45          SearchRequest searchRequest = SearchRequest.addDocuments(
46              companyId, documents);
47  
48          MessageBusUtil.sendMessage(
49              DestinationNames.SEARCH_WRITER, searchRequest);
50      }
51  
52      public void deleteDocument(long companyId, String uid) {
53          SearchRequest searchRequest = SearchRequest.deleteDocument(
54              companyId, uid);
55  
56          MessageBusUtil.sendMessage(
57              DestinationNames.SEARCH_WRITER, searchRequest);
58      }
59  
60      public void deleteDocuments(long companyId, Collection<String> uids) {
61          if (uids.isEmpty()) {
62              return;
63          }
64  
65          SearchRequest searchRequest = SearchRequest.deleteDocuments(
66              companyId, uids);
67  
68          MessageBusUtil.sendMessage(
69              DestinationNames.SEARCH_WRITER, searchRequest);
70      }
71  
72      public void deletePortletDocuments(long companyId, String portletId) {
73          SearchRequest searchRequest = SearchRequest.deletePortletDocuments(
74              companyId, portletId);
75  
76          MessageBusUtil.sendMessage(
77              DestinationNames.SEARCH_WRITER, searchRequest);
78      }
79  
80      public void updateDocument(long companyId, Document document) {
81          SearchRequest searchRequest = SearchRequest.updateDocument(
82              companyId, document);
83  
84          MessageBusUtil.sendMessage(
85              DestinationNames.SEARCH_WRITER, searchRequest);
86      }
87  
88      public void updateDocuments(
89          long companyId, Collection<Document> documents) {
90  
91          if (documents.isEmpty()) {
92              return;
93          }
94  
95          SearchRequest searchRequest = SearchRequest.updateDocuments(
96              companyId, documents);
97  
98          MessageBusUtil.sendMessage(
99              DestinationNames.SEARCH_WRITER, searchRequest);
100     }
101 
102 }