1 23 24 package org.infoglue.deliver.taglib.management; 25 26 import javax.servlet.jsp.JspException ; 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 userName; 36 private ContentVersionVO contentVersion; 37 38 public PrincipalTag() 39 { 40 super(); 41 } 42 43 public int doEndTag() throws JspException  44 { 45 if(userName != null && !userName.equals("")) 46 setResultAttribute(getController().getPrincipal(userName)); 47 else if(contentVersion != null) 48 { 49 String versionUserName = contentVersion.getVersionModifier(); 50 if(versionUserName != null && !versionUserName.equals("")) 51 setResultAttribute(getController().getPrincipal(versionUserName)); 52 else 53 throw new JspException ("ContentVersion had no valid user:" + versionUserName); 54 } 55 else 56 throw new JspException ("Must state either userName or contentVersion"); 57 58 return EVAL_PAGE; 59 } 60 61 public void setUserName(final String userName) throws JspException  62 { 63 this.userName = evaluateString("principal", "userName", userName); 64 } 65 66 public void setContentVersion(String contentVersionExp) throws JspException  67 { 68 this.contentVersion = (ContentVersionVO)evaluate("principal", "contentVersion", contentVersionExp, ContentVersionVO.class); 69 } 70 } 71 | Popular Tags |