1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.portals.applications.rss;
18
19 import java.io.IOException;
20
21 import javax.portlet.ActionRequest;
22 import javax.portlet.ActionResponse;
23 import javax.portlet.PortletConfig;
24 import javax.portlet.PortletException;
25 import javax.portlet.RenderRequest;
26 import javax.portlet.RenderResponse;
27
28 import org.apache.portals.applications.rss.servlets.SpringInitServlet;
29 import org.apache.portals.applications.transform.Transform;
30 import org.apache.portals.applications.transform.TransformCache;
31 import org.apache.portals.bridges.velocity.GenericVelocityPortlet;
32 import org.springframework.beans.factory.BeanFactory;
33
34
35 /***
36 * AbstractRssPortlet
37 *
38 * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
39 * @version $Id: AbstractRssPortlet.java 516448 2007-03-09 16:25:47Z ate $
40 */
41 public abstract class AbstractRssPortlet extends GenericVelocityPortlet
42 {
43 protected TransformCache cache;
44 protected Transform transform;
45
46 public void init(PortletConfig config) throws PortletException
47 {
48 super.init(config);
49 BeanFactory factory = SpringInitServlet.getSpringFactory();
50 cache = (TransformCache)factory.getBean("transformCache");
51 transform = (Transform)factory.getBean("transform");
52 }
53
54 public void doEdit(RenderRequest request, RenderResponse response) throws PortletException, IOException
55 {
56 response.setContentType("text/html");
57 doPreferencesEdit(request, response);
58 }
59
60 /***
61 * Save the prefs
62 */
63 public void processAction(ActionRequest request, ActionResponse actionResponse) throws PortletException,
64 IOException
65 {
66 processPreferencesAction(request, actionResponse);
67 String url = request.getPreferences().getValue("url", "http://www.npr.org/rss/rss.php?topicId=4");
68 String stylesheet = getPortletConfig().getInitParameter("stylesheet");
69 String key = cache.constructKey(url, stylesheet);
70 cache.remove(key);
71 }
72
73 }