1 package org.apache.jetspeed.services.jsp.tags;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import java.util.Date;
20 import java.text.DateFormat;
21
22 import javax.servlet.jsp.JspException;
23 import javax.servlet.jsp.PageContext;
24 import javax.servlet.jsp.tagext.TagSupport;
25
26
27 import org.apache.turbine.util.RunData;
28 import org.apache.turbine.services.jsp.JspService;
29
30
31 import org.apache.jetspeed.services.logging.JetspeedLogFactoryService;
32 import org.apache.jetspeed.services.logging.JetspeedLogger;
33
34 /***
35 * Supporting class for the info tag.
36 * Sends the screens ecs element's content to the output stream.
37 *
38 * @author <a href="mailto:ingo@raleigh.ibm.com">Ingo Schuster</a>
39 * @author <a href="mailto:paulsp@apache.org">Paul Spencer</a>
40 */
41 public class InfoTag extends TagSupport
42 {
43 /***
44 * Static initialization of the logger for this class
45 */
46 private static final JetspeedLogger logger = JetspeedLogFactoryService.getLogger(InfoTag.class.getName());
47
48 /***
49 * requestedInfo parameter defines type of Info that is being requested
50 */
51 private String requestedInfo;
52
53 /***
54 * The setter for requestedInfo parameter
55 */
56 public void setRequestedInfo(String requestedInfo)
57 {
58 this.requestedInfo = requestedInfo;
59 }
60
61
62 public int doStartTag() throws JspException
63 {
64 RunData data = (RunData)pageContext.getAttribute(JspService.RUNDATA, PageContext.REQUEST_SCOPE);
65
66 try
67 {
68 String result = "jetspeed-InfoTag: unknown parameter >" + requestedInfo +"<";
69
70
71 if (requestedInfo.equalsIgnoreCase("ServerDate")) {
72 result = DateFormat.getDateTimeInstance().format( new Date());
73 }
74
75
76 if (requestedInfo.equalsIgnoreCase("UserName")) {
77 result = data.getUser().getUserName();
78 }
79
80
81 if (requestedInfo.equalsIgnoreCase("FirstName")) {
82 result = data.getUser().getFirstName();
83 }
84
85
86 if (requestedInfo.equalsIgnoreCase("LastName")) {
87 result = data.getUser().getLastName();
88 }
89
90
91 if (requestedInfo.equalsIgnoreCase("EMail")) {
92 result = data.getUser().getEmail();
93 }
94 pageContext.getOut().print(result);
95 }
96 catch (Exception e)
97 {
98 String message = "Error processing info-tag, parameter: "+ requestedInfo;
99 logger.error(message, e);
100 try
101 {
102 data.getOut().print("Error processing info-tag, parameter: "+ requestedInfo);
103 }
104 catch(java.io.IOException ioe) {}
105 }
106 return EVAL_BODY_INCLUDE;
107 }
108 }