1
19
20 package com.liferay.portlet.documentlibrary.action;
21
22 import com.liferay.portal.kernel.portlet.ConfigurationAction;
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.impl.DLFolderImpl;
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 implements ConfigurationAction {
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 String folderDisplayStyle = ParamUtil.getString(
59 actionRequest, "folderDisplayStyle");
60
61 long rootFolderId = ParamUtil.getLong(actionRequest, "rootFolderId");
62
63 boolean showBreadcrumbs = ParamUtil.getBoolean(
64 actionRequest, "showBreadcrumbs");
65 boolean showFoldersSearch = ParamUtil.getBoolean(
66 actionRequest, "showFoldersSearch");
67 boolean showSubfolders = ParamUtil.getBoolean(
68 actionRequest, "showSubfolders");
69 int foldersPerPage = ParamUtil.getInteger(
70 actionRequest, "foldersPerPage");
71 String folderColumns = ParamUtil.getString(
72 actionRequest, "folderColumns");
73
74 boolean showFileEntriesSearch = ParamUtil.getBoolean(
75 actionRequest, "showFileEntriesSearch");
76 int fileEntriesPerPage = ParamUtil.getInteger(
77 actionRequest, "fileEntriesPerPage");
78 String fileEntryColumns = ParamUtil.getString(
79 actionRequest, "fileEntryColumns");
80
81 boolean enableCommentRatings = ParamUtil.getBoolean(
82 actionRequest, "enableCommentRatings");
83
84 String portletResource = ParamUtil.getString(
85 actionRequest, "portletResource");
86
87 PortletPreferences prefs =
88 PortletPreferencesFactoryUtil.getPortletSetup(
89 actionRequest, portletResource);
90
91 if (rootFolderId != DLFolderImpl.DEFAULT_PARENT_FOLDER_ID) {
92 try {
93 DLFolderLocalServiceUtil.getFolder(rootFolderId);
94 }
95 catch (NoSuchFolderException e) {
96 SessionErrors.add(actionRequest, "rootFolderIdInvalid");
97 }
98 }
99
100 prefs.setValue("folderDisplayStyle", folderDisplayStyle);
101
102 prefs.setValue("rootFolderId", String.valueOf(rootFolderId));
103
104 prefs.setValue("showBreadcrumbs", String.valueOf(showBreadcrumbs));
105 prefs.setValue("showFoldersSearch", String.valueOf(showFoldersSearch));
106 prefs.setValue("showSubfolders", String.valueOf(showSubfolders));
107 prefs.setValue("foldersPerPage", String.valueOf(foldersPerPage));
108 prefs.setValue("folderColumns", folderColumns);
109
110 prefs.setValue(
111 "showFileEntriesSearch", String.valueOf(showFileEntriesSearch));
112 prefs.setValue(
113 "fileEntriesPerPage", String.valueOf(fileEntriesPerPage));
114 prefs.setValue("fileEntryColumns", fileEntryColumns);
115
116 prefs.setValue(
117 "enable-comment-ratings", String.valueOf(enableCommentRatings));
118
119 if (SessionErrors.isEmpty(actionRequest)) {
120 prefs.store();
121
122 SessionMessages.add(
123 actionRequest, portletConfig.getPortletName() + ".doConfigure");
124 }
125 }
126
127 public String render(
128 PortletConfig portletConfig, RenderRequest renderRequest,
129 RenderResponse renderResponse)
130 throws Exception {
131
132 return "/html/portlet/document_library/configuration.jsp";
133 }
134
135 }