1
22
23 package com.liferay.portlet.documentlibrary.util;
24
25 import com.liferay.portal.kernel.portlet.LiferayPortletURL;
26 import com.liferay.portal.kernel.portlet.LiferayWindowState;
27 import com.liferay.portal.kernel.search.Document;
28 import com.liferay.portal.kernel.search.DocumentSummary;
29 import com.liferay.portal.kernel.search.Field;
30 import com.liferay.portal.kernel.search.SearchException;
31 import com.liferay.portal.kernel.util.StringUtil;
32 import com.liferay.portlet.documentlibrary.service.DLFolderLocalServiceUtil;
33
34 import javax.portlet.PortletRequest;
35 import javax.portlet.PortletURL;
36 import javax.portlet.WindowStateException;
37
38
44 public class Indexer implements com.liferay.portal.kernel.search.Indexer {
45
46 public DocumentSummary getDocumentSummary(
47 Document doc, PortletURL portletURL) {
48
49 LiferayPortletURL liferayPortletURL = (LiferayPortletURL)portletURL;
50
51 liferayPortletURL.setLifecycle(PortletRequest.ACTION_PHASE);
52
53 try {
54 liferayPortletURL.setWindowState(LiferayWindowState.EXCLUSIVE);
55 }
56 catch (WindowStateException wse) {
57 }
58
59
61 String repositoryId = doc.get("repositoryId");
62 String fileName = doc.get("path");
63
64 String title = fileName;
65
66
68 String content = doc.get(Field.CONTENT);
69
70 content = StringUtil.shorten(content, 200);
71
72
74 portletURL.setParameter("struts_action", "/document_library/get_file");
75 portletURL.setParameter("folderId", repositoryId);
76 portletURL.setParameter("name", fileName);
77
78 return new DocumentSummary(title, content, portletURL);
79 }
80
81 public void reIndex(String[] ids) throws SearchException {
82 try {
83 DLFolderLocalServiceUtil.reIndex(ids);
84 }
85 catch (Exception e) {
86 throw new SearchException(e);
87 }
88 }
89
90 }