1
22
23 package com.liferay.portlet.xslcontent.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.xslcontent.util.XSLContentUtil;
30 import com.liferay.util.servlet.SessionErrors;
31 import com.liferay.util.servlet.SessionMessages;
32
33 import java.net.MalformedURLException;
34 import java.net.URL;
35
36 import javax.portlet.ActionRequest;
37 import javax.portlet.ActionResponse;
38 import javax.portlet.PortletConfig;
39 import javax.portlet.PortletPreferences;
40 import javax.portlet.RenderRequest;
41 import javax.portlet.RenderResponse;
42
43
49 public class ConfigurationActionImpl implements ConfigurationAction {
50
51 public void processAction(
52 PortletConfig config, ActionRequest req, ActionResponse res)
53 throws Exception {
54
55 String cmd = ParamUtil.getString(req, Constants.CMD);
56
57 if (!cmd.equals(Constants.UPDATE)) {
58 return;
59 }
60
61 URL xmlURL = null;
62
63 try {
64 xmlURL = new URL(ParamUtil.getString(req, "xmlURL"));
65 }
66 catch (MalformedURLException murle) {
67 SessionErrors.add(req, "xmlURL");
68
69 return;
70 }
71
72 URL xslURL = null;
73
74 try {
75 xslURL = new URL(ParamUtil.getString(req, "xslURL"));
76 }
77 catch (MalformedURLException murle) {
78 SessionErrors.add(req, "xslURL");
79
80 return;
81 }
82
83 try {
84 XSLContentUtil.transform(xmlURL, xslURL);
85 }
86 catch (Exception e) {
87 SessionErrors.add(req, "transformation");
88
89 return;
90 }
91
92 String portletResource = ParamUtil.getString(req, "portletResource");
93
94 PortletPreferences prefs =
95 PortletPreferencesFactoryUtil.getPortletSetup(
96 req, portletResource, true, true);
97
98 prefs.setValue("xml-url", xmlURL.toString());
99 prefs.setValue("xsl-url", xslURL.toString());
100
101 prefs.store();
102
103 SessionMessages.add(req, config.getPortletName() + ".doConfigure");
104 }
105
106 public String render(
107 PortletConfig config, RenderRequest req, RenderResponse res)
108 throws Exception {
109
110 return "/html/portlet/xsl_content/configuration.jsp";
111 }
112
113 }