1
19
20 package com.liferay.portlet.documentlibrary.action;
21
22 import com.liferay.portal.kernel.portlet.BaseConfigurationAction;
23 import com.liferay.portal.kernel.servlet.SessionErrors;
24 import com.liferay.portal.kernel.servlet.SessionMessages;
25 import com.liferay.portal.kernel.util.Constants;
26 import com.liferay.portal.kernel.util.ParamUtil;
27 import com.liferay.portlet.PortletPreferencesFactoryUtil;
28 import com.liferay.portlet.documentlibrary.NoSuchFolderException;
29 import com.liferay.portlet.documentlibrary.model.DLFolderConstants;
30 import com.liferay.portlet.documentlibrary.service.DLFolderLocalServiceUtil;
31
32 import javax.portlet.ActionRequest;
33 import javax.portlet.ActionResponse;
34 import javax.portlet.PortletConfig;
35 import javax.portlet.PortletPreferences;
36 import javax.portlet.RenderRequest;
37 import javax.portlet.RenderResponse;
38
39
45 public class ConfigurationActionImpl extends BaseConfigurationAction {
46
47 public void processAction(
48 PortletConfig portletConfig, ActionRequest actionRequest,
49 ActionResponse actionResponse)
50 throws Exception {
51
52 String cmd = ParamUtil.getString(actionRequest, Constants.CMD);
53
54 if (!cmd.equals(Constants.UPDATE)) {
55 return;
56 }
57
58 long rootFolderId = ParamUtil.getLong(actionRequest, "rootFolderId");
59
60 boolean showBreadcrumbs = ParamUtil.getBoolean(
61 actionRequest, "showBreadcrumbs");
62 boolean showFoldersSearch = ParamUtil.getBoolean(
63 actionRequest, "showFoldersSearch");
64 boolean showSubfolders = ParamUtil.getBoolean(
65 actionRequest, "showSubfolders");
66 int foldersPerPage = ParamUtil.getInteger(
67 actionRequest, "foldersPerPage");
68 String folderColumns = ParamUtil.getString(
69 actionRequest, "folderColumns");
70
71 boolean showFileEntriesSearch = ParamUtil.getBoolean(
72 actionRequest, "showFileEntriesSearch");
73 int fileEntriesPerPage = ParamUtil.getInteger(
74 actionRequest, "fileEntriesPerPage");
75 String fileEntryColumns = ParamUtil.getString(
76 actionRequest, "fileEntryColumns");
77
78 boolean enableCommentRatings = ParamUtil.getBoolean(
79 actionRequest, "enableCommentRatings");
80
81 String portletResource = ParamUtil.getString(
82 actionRequest, "portletResource");
83
84 PortletPreferences preferences =
85 PortletPreferencesFactoryUtil.getPortletSetup(
86 actionRequest, portletResource);
87
88 if (rootFolderId != DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) {
89 try {
90 DLFolderLocalServiceUtil.getFolder(rootFolderId);
91 }
92 catch (NoSuchFolderException e) {
93 SessionErrors.add(actionRequest, "rootFolderIdInvalid");
94 }
95 }
96
97 preferences.setValue("rootFolderId", String.valueOf(rootFolderId));
98
99 preferences.setValue(
100 "showBreadcrumbs", String.valueOf(showBreadcrumbs));
101 preferences.setValue(
102 "showFoldersSearch", String.valueOf(showFoldersSearch));
103 preferences.setValue("showSubfolders", String.valueOf(showSubfolders));
104 preferences.setValue("foldersPerPage", String.valueOf(foldersPerPage));
105 preferences.setValue("folderColumns", folderColumns);
106
107 preferences.setValue(
108 "showFileEntriesSearch", String.valueOf(showFileEntriesSearch));
109 preferences.setValue(
110 "fileEntriesPerPage", String.valueOf(fileEntriesPerPage));
111 preferences.setValue("fileEntryColumns", fileEntryColumns);
112
113 preferences.setValue(
114 "enable-comment-ratings", String.valueOf(enableCommentRatings));
115
116 if (SessionErrors.isEmpty(actionRequest)) {
117 preferences.store();
118
119 SessionMessages.add(
120 actionRequest, portletConfig.getPortletName() + ".doConfigure");
121 }
122 }
123
124 public String render(
125 PortletConfig portletConfig, RenderRequest renderRequest,
126 RenderResponse renderResponse)
127 throws Exception {
128
129 return "/html/portlet/document_library/configuration.jsp";
130 }
131
132 }