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
43 public class Indexer implements com.liferay.portal.kernel.search.Indexer {
44
45 public DocumentSummary getDocumentSummary(
46 Document doc, PortletURL portletURL) {
47
48 LiferayPortletURL liferayPortletURL = (LiferayPortletURL)portletURL;
49
50 liferayPortletURL.setLifecycle(PortletRequest.ACTION_PHASE);
51
52 try {
53 liferayPortletURL.setWindowState(LiferayWindowState.EXCLUSIVE);
54 }
55 catch (WindowStateException wse) {
56 }
57
58
60 String repositoryId = doc.get("repositoryId");
61 String fileName = doc.get("path");
62
63 String title = fileName;
64
65
67 String content = doc.get(Field.CONTENT);
68
69 content = StringUtil.shorten(content, 200);
70
71
73 portletURL.setParameter("struts_action", "/document_library/get_file");
74 portletURL.setParameter("folderId", repositoryId);
75 portletURL.setParameter("name", fileName);
76
77 return new DocumentSummary(title, content, portletURL);
78 }
79
80 public void reIndex(String[] ids) throws SearchException {
81 try {
82 DLFolderLocalServiceUtil.reIndex(ids);
83 }
84 catch (Exception e) {
85 throw new SearchException(e);
86 }
87 }
88
89 }