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