1
19
20 package com.liferay.portlet.navigation.action;
21
22 import com.liferay.portal.kernel.portlet.ConfigurationAction;
23 import com.liferay.portal.kernel.servlet.SessionMessages;
24 import com.liferay.portal.kernel.util.Constants;
25 import com.liferay.portal.kernel.util.ParamUtil;
26 import com.liferay.portlet.PortletPreferencesFactoryUtil;
27
28 import javax.portlet.ActionRequest;
29 import javax.portlet.ActionResponse;
30 import javax.portlet.PortletConfig;
31 import javax.portlet.PortletPreferences;
32 import javax.portlet.RenderRequest;
33 import javax.portlet.RenderResponse;
34
35
41 public class ConfigurationActionImpl implements ConfigurationAction {
42
43 public void processAction(
44 PortletConfig portletConfig, ActionRequest actionRequest,
45 ActionResponse actionResponse)
46 throws Exception {
47
48 String cmd = ParamUtil.getString(actionRequest, Constants.CMD);
49
50 if (!cmd.equals(Constants.UPDATE)) {
51 return;
52 }
53
54 String displayStyle = ParamUtil.getString(
55 actionRequest, "displayStyle");
56 String bulletStyle = ParamUtil.getString(actionRequest, "bulletStyle");
57 String headerType = ParamUtil.getString(actionRequest, "headerType");
58 String rootLayoutType = ParamUtil.getString(
59 actionRequest, "rootLayoutType");
60 int rootLayoutLevel = ParamUtil.getInteger(
61 actionRequest, "rootLayoutLevel");
62 String includedLayouts = ParamUtil.getString(
63 actionRequest, "includedLayouts");
64 boolean nestedChildren = ParamUtil.getBoolean(
65 actionRequest, "nestedChildren");
66
67 String portletResource = ParamUtil.getString(
68 actionRequest, "portletResource");
69
70 PortletPreferences prefs =
71 PortletPreferencesFactoryUtil.getPortletSetup(
72 actionRequest, portletResource);
73
74 prefs.setValue("display-style", displayStyle);
75 prefs.setValue("bullet-style", bulletStyle);
76
77 if (displayStyle.equals("[custom]")) {
78 prefs.setValue("header-type", headerType);
79 prefs.setValue("root-layout-type", rootLayoutType);
80 prefs.setValue(
81 "root-layout-level", String.valueOf(rootLayoutLevel));
82 prefs.setValue("included-layouts", includedLayouts);
83 prefs.setValue("nested-children", String.valueOf(nestedChildren));
84 }
85
86 prefs.store();
87
88 SessionMessages.add(
89 actionRequest, portletConfig.getPortletName() + ".doConfigure");
90 }
91
92 public String render(
93 PortletConfig portletConfig, RenderRequest renderRequest,
94 RenderResponse renderResponse)
95 throws Exception {
96
97 return "/html/portlet/navigation/configuration.jsp";
98 }
99
100 }