KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > infoglue > deliver > taglib > management > PrincipalTag


1 /* ===============================================================================
2 *
3 * Part of the InfoGlue Content Management Platform (www.infoglue.org)
4 *
5 * ===============================================================================
6 *
7 * Copyright (C)
8 *
9 * This program is free software; you can redistribute it and/or modify it under
10 * the terms of the GNU General Public License version 2, as published by the
11 * Free Software Foundation. See the file LICENSE.html for more information.
12 *
13 * This program is distributed in the hope that it will be useful, but WITHOUT
14 * ANY WARRANTY, including the implied warranty of MERCHANTABILITY or FITNESS
15 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License along with
18 * this program; if not, write to the Free Software Foundation, Inc. / 59 Temple
19 * Place, Suite 330 / Boston, MA 02111-1307 / USA.
20 *
21 * ===============================================================================
22 */

23
24 package org.infoglue.deliver.taglib.management;
25
26 import javax.servlet.jsp.JspException JavaDoc;
27
28 import org.infoglue.cms.entities.content.ContentVersionVO;
29 import org.infoglue.deliver.taglib.TemplateControllerTag;
30
31 public class PrincipalTag extends TemplateControllerTag
32 {
33     private static final long serialVersionUID = 4050206323348354355L;
34
35     private String JavaDoc userName;
36     private ContentVersionVO contentVersion;
37     
38     public PrincipalTag()
39     {
40         super();
41     }
42
43     public int doEndTag() throws JspException JavaDoc
44     {
45         if(userName != null && !userName.equals(""))
46             setResultAttribute(getController().getPrincipal(userName));
47         else if(contentVersion != null)
48         {
49             String JavaDoc versionUserName = contentVersion.getVersionModifier();
50             if(versionUserName != null && !versionUserName.equals(""))
51                 setResultAttribute(getController().getPrincipal(versionUserName));
52             else
53                 throw new JspException JavaDoc("ContentVersion had no valid user:" + versionUserName);
54         }
55         else
56             throw new JspException JavaDoc("Must state either userName or contentVersion");
57         
58         return EVAL_PAGE;
59     }
60
61     public void setUserName(final String JavaDoc userName) throws JspException JavaDoc
62     {
63         this.userName = evaluateString("principal", "userName", userName);
64     }
65     
66     public void setContentVersion(String JavaDoc contentVersionExp) throws JspException JavaDoc
67     {
68         this.contentVersion = (ContentVersionVO)evaluate("principal", "contentVersion", contentVersionExp, ContentVersionVO.class);
69     }
70 }
71
Popular Tags