1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.jetspeed.util.template;
18
19 import org.apache.turbine.util.RunData;
20 import org.apache.turbine.util.DynamicURI;
21
22 import org.apache.jetspeed.portal.Portlet;
23 import org.apache.jetspeed.portal.PortletController;
24 import org.apache.jetspeed.portal.PanedPortletController;
25 import org.apache.jetspeed.services.rundata.JetspeedRunData;
26
27
28 /***
29 * A customized version of the JetspeedTemplateLink that reacts to the
30 * Portlet context and allows you to manipulate the lowest level pane
31 * if it exists.
32 *
33 * @author <a href="mailto:raphael@apache.org">Raphaël Luta</a>
34 * @deprecated Since 2002-03-05. Use JetspeedTemplateLink with the setPortlet(Portlet) method to give
35 * it the right context.
36 * @version $Id: PortletTemplateLink.java,v 1.4 2004/02/23 03:20:45 jford Exp $
37 */
38 public class PortletTemplateLink extends JetspeedTemplateLink
39 {
40
41 private Portlet portlet = null;
42 private JetspeedRunData data = null;
43
44 /***
45 * Empty constructor.for introspection
46 */
47 public PortletTemplateLink()
48 {
49 }
50
51 /***
52 * Constructor.
53 *
54 * @param data A Turbine RunData object.
55 */
56 public PortletTemplateLink(RunData data, Portlet portlet)
57 {
58 super(data);
59 this.portlet = portlet;
60 }
61
62 /***
63 * Add a select-panel reference in the link
64 *
65 * @param portlet the name of the portlet to link to
66 * @return a self reference for easy link construction in template
67 */
68 public DynamicURI setPanel(String panel)
69 {
70 removePathInfo(getPanelKey());
71 removeQueryData(getPanelKey());
72 return addPathInfo(getPanelKey(), panel);
73 }
74
75 /***
76 * @return the panel parameter name
77 */
78 public String getPanelKey()
79 {
80 String panelName = PANEL_KEY;
81 try
82 {
83 PortletController controller = portlet.getPortletConfig()
84 .getPortletSet()
85 .getController();
86
87 if (controller instanceof PanedPortletController)
88 {
89 panelName=((PanedPortletController)controller).getParameterName();
90 }
91
92 }
93 catch (Exception e)
94 {
95 panelName = PANEL_KEY;
96 }
97
98 return panelName;
99 }
100 }