1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
|
|
10 |
|
|
11 |
|
|
12 |
|
|
13 |
|
|
14 |
|
|
15 |
|
|
16 |
|
|
17 |
|
package org.apache.jetspeed.velocity; |
18 |
|
|
19 |
|
import java.lang.reflect.Constructor; |
20 |
|
|
21 |
|
import javax.portlet.PortletException; |
22 |
|
|
23 |
|
import org.apache.commons.logging.Log; |
24 |
|
import org.apache.commons.logging.LogFactory; |
25 |
|
import org.apache.jetspeed.aggregator.PortletRenderer; |
26 |
|
import org.apache.jetspeed.layout.JetspeedPowerTool; |
27 |
|
import org.apache.jetspeed.request.RequestContext; |
28 |
|
import org.apache.jetspeed.services.title.DynamicTitleService; |
29 |
|
|
30 |
|
public class JetspeedPowerToolFactory implements org.apache.jetspeed.layout.JetspeedPowerToolFactory |
31 |
|
{ |
32 |
0 |
protected static final Log log = LogFactory.getLog(JetspeedPowerToolFactory.class); |
33 |
|
|
34 |
|
private Class jptClass; |
35 |
|
private Constructor constructor; |
36 |
|
private DynamicTitleService titleService; |
37 |
|
|
38 |
|
|
39 |
|
private PortletRenderer renderer; |
40 |
|
|
41 |
|
public JetspeedPowerToolFactory(String jptClassName, DynamicTitleService titleService, PortletRenderer renderer) |
42 |
|
throws ClassNotFoundException, NoSuchMethodException |
43 |
0 |
{ |
44 |
0 |
jptClass = Thread.currentThread().getContextClassLoader().loadClass(jptClassName); |
45 |
0 |
constructor = |
46 |
|
jptClass.getConstructor( |
47 |
|
new Class[] {RequestContext.class, DynamicTitleService.class, PortletRenderer.class}); |
48 |
0 |
this.titleService = titleService; |
49 |
0 |
this.renderer = renderer; |
50 |
0 |
} |
51 |
|
|
52 |
|
public JetspeedPowerTool getJetspeedPowerTool(RequestContext requestContext) |
53 |
|
throws PortletException |
54 |
|
{ |
55 |
|
try |
56 |
|
{ |
57 |
0 |
Object [] initArgs = { requestContext, this.titleService, class="keyword">this.renderer }; |
58 |
0 |
return (JetspeedPowerTool)constructor.newInstance(initArgs); |
59 |
|
} |
60 |
0 |
catch (Exception e) |
61 |
|
{ |
62 |
0 |
e.printStackTrace(); |
63 |
0 |
throw new PortletException(e); |
64 |
|
} |
65 |
|
} |
66 |
|
} |
67 |
|
|