01: /*
02: * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
03: * PROPRIETARY/CONFIDENTIAL. Use of this product is subject to license terms.
04: */
05: package com.sun.portal.taskadmin.taglib.user;
06:
07: import java.util.Set;
08:
09: import javax.servlet.jsp.JspException;
10: import javax.servlet.jsp.tagext.Tag;
11:
12: import javax.servlet.http.HttpServletRequest;
13:
14: import com.sun.portal.taskadmin.UserTaskAdmin;
15: import com.sun.portal.taskadmin.TaskAdminException;
16: import com.sun.portal.taskadmin.taglib.user.ObtainUserAdminTag;
17:
18: import com.sun.portal.taskadmin.taglib.BaseTaskAdminTagSupport;
19: import com.sun.portal.taskadmin.taglib.TaskAdminTaglibException;
20:
21: public class GetUserRolesTag extends BaseTaskAdminTagSupport {
22: private String m_userDN = null;
23:
24: public void setUserDN(String userDN)
25: throws TaskAdminTaglibException {
26: m_userDN = resolveParameter(userDN).toString();
27: }
28:
29: public int doStartTag() throws JspException {
30: ObtainUserAdminTag parent = (ObtainUserAdminTag) findAncestorWithClass(
31: this , ObtainUserAdminTag.class);
32: if (parent == null) {
33: // try getting usertaskadmin
34: throw new TaskAdminTaglibException(
35: TaskAdminTaglibException.INVALID_TAG_SEQUENCE,
36: "getUserRolesTag not inside ObtainUserAdminTag");
37: }
38: UserTaskAdmin taskAdmin = parent.getUserTaskAdmin();
39: Set roles = null;
40: try {
41: roles = taskAdmin.getUserRoleDNs(m_userDN);
42: } catch (TaskAdminException tae) {
43: throw new TaskAdminTaglibException(tae, tae
44: .getLocalizedMessage(taskAdmin.getResourceBundle()));
45: }
46: processResult(roles);
47: return SKIP_BODY;
48: }
49: }
|