1packageorg.apache.jetspeed.services.jsp.tags;
23/*4 * Copyright 2000-2004 The Apache Software Foundation.5 * 6 * Licensed under the Apache License, Version 2.0 (the "License");7 * you may not use this file except in compliance with the License.8 * You may obtain a copy of the License at9 * 10 * http://www.apache.org/licenses/LICENSE-2.011 * 12 * Unless required by applicable law or agreed to in writing, software13 * distributed under the License is distributed on an "AS IS" BASIS,14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.15 * See the License for the specific language governing permissions and16 * limitations under the License.17 */1819import java.util.Date;
20import java.text.DateFormat;
2122import javax.servlet.jsp.JspException;
23import javax.servlet.jsp.PageContext;
24import javax.servlet.jsp.tagext.TagSupport;
2526// Turbine Classes 27import org.apache.turbine.util.RunData;
28import org.apache.turbine.services.jsp.JspService;
2930// Jetspeed classes31import org.apache.jetspeed.services.logging.JetspeedLogFactoryService;
32import org.apache.jetspeed.services.logging.JetspeedLogger;
3334/***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 */41publicclassInfoTagextends TagSupport
42 {
43/***44 * Static initialization of the logger for this class45 */46privatestaticfinalJetspeedLogger logger = JetspeedLogFactoryService.getLogger(InfoTag.class.getName());
4748/***49 * requestedInfo parameter defines type of Info that is being requested50 */51private String requestedInfo;
5253/*** 54 * The setter for requestedInfo parameter55 */56publicvoid setRequestedInfo(String requestedInfo)
57 {
58this.requestedInfo = requestedInfo;
59 }
606162publicint doStartTag() throws JspException
63 {
64 RunData data = (RunData)pageContext.getAttribute(JspService.RUNDATA, PageContext.REQUEST_SCOPE);
6566try67 {
68 String result = "jetspeed-InfoTag: unknown parameter >" + requestedInfo +"<";
6970/* Server Date */71if (requestedInfo.equalsIgnoreCase("ServerDate")) {
72 result = DateFormat.getDateTimeInstance().format( new Date());
73 }
7475/* User Name */76if (requestedInfo.equalsIgnoreCase("UserName")) {
77 result = data.getUser().getUserName();
78 }
7980/* First Name */81if (requestedInfo.equalsIgnoreCase("FirstName")) {
82 result = data.getUser().getFirstName();
83 }
8485/* Last Name */86if (requestedInfo.equalsIgnoreCase("LastName")) {
87 result = data.getUser().getLastName();
88 }
8990/* EMail */91if (requestedInfo.equalsIgnoreCase("EMail")) {
92 result = data.getUser().getEmail();
93 }
94 pageContext.getOut().print(result);
95 }
96catch (Exception e)
97 {
98 String message = "Error processing info-tag, parameter: "+ requestedInfo;
99 logger.error(message, e);
100try101 {
102 data.getOut().print("Error processing info-tag, parameter: "+ requestedInfo);
103 }
104catch(java.io.IOException ioe) {}
105 }
106return EVAL_BODY_INCLUDE;
107 }
108 }