1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.portals.gems.dojo;
18
19 import javax.portlet.PortletConfig;
20 import javax.portlet.PortletException;
21
22 import org.apache.jetspeed.headerresource.HeaderResource;
23 import org.apache.jetspeed.portlet.PortletHeaderRequest;
24 import org.apache.jetspeed.portlet.PortletHeaderResponse;
25 import org.apache.jetspeed.portlet.SupportsHeaderPhase;
26 import org.apache.portals.bridges.velocity.GenericVelocityPortlet;
27
28 /***
29 * Abstract DOJO portlet for inserting in cross context dojo widget includes
30 *
31 * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
32 * @version $Id: $
33 */
34 public abstract class AbstractDojoVelocityPortlet extends GenericVelocityPortlet implements SupportsHeaderPhase
35 {
36 protected String headerPage;
37
38
39
40
41 public AbstractDojoVelocityPortlet()
42 {
43 super();
44 }
45
46 public void init(PortletConfig config) throws PortletException
47 {
48 super.init(config);
49 this.headerPage = this.getInitParameter("HeaderPage");
50 }
51
52
53
54
55
56
57
58 public void doHeader( PortletHeaderRequest request, PortletHeaderResponse response )
59 throws PortletException
60 {
61
62 HeaderResource headerResource = response.getHeaderResource();
63
64 headerResource.dojoEnable();
65 includeHeaderContent( headerResource );
66
67 if ( this.headerPage != null )
68 {
69 include( request, response, this.headerPage );
70 }
71 }
72
73 protected void includeHeaderContent( HeaderResource headerResource )
74 {
75
76 }
77
78 protected void include(PortletHeaderRequest request, PortletHeaderResponse response, String headerPagePath, StringBuffer headerText) throws PortletException
79 {
80 response.include(request, response, headerPagePath);
81 headerText.append(response.getContent());
82 }
83
84 protected void include(PortletHeaderRequest request, PortletHeaderResponse response, String headerPagePath) throws PortletException
85 {
86 response.include(request, response, headerPagePath);
87 response.getHeaderResource().addHeaderInfo(response.getContent());
88 }
89 }