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 CreateAdministrativeRoleTag extends
22: BaseTaskAdminTagSupport {
23: private String m_rolename = null;
24: private String m_description = null;
25: private String m_managedroleDN = null;
26: private boolean m_contentadmin = true;
27:
28: public void setRolename(String rolename)
29: throws TaskAdminTaglibException {
30: m_rolename = resolveParameter(rolename).toString();
31: }
32:
33: public void setDescription(String description)
34: throws TaskAdminTaglibException {
35: m_description = resolveParameter(description).toString();
36: }
37:
38: public void setManagedroleDN(String managedroleDN)
39: throws TaskAdminTaglibException {
40: m_managedroleDN = resolveParameter(managedroleDN).toString();
41: }
42:
43: public void setContentadmin(String contentadmin)
44: throws TaskAdminTaglibException {
45: m_contentadmin = toBoolean(contentadmin);
46: }
47:
48: public int doStartTag() throws JspException {
49: ObtainUserAdminTag parent = (ObtainUserAdminTag) findAncestorWithClass(
50: this , ObtainUserAdminTag.class);
51: if (parent == null) {
52: // try getting usertaskadmin
53: throw new TaskAdminTaglibException(
54: TaskAdminTaglibException.INVALID_TAG_SEQUENCE,
55: "createAdministrativeRoleTag not inside ObtainUserAdminTag");
56: }
57: UserTaskAdmin taskAdmin = parent.getUserTaskAdmin();
58: try {
59: taskAdmin.createAdministrativeRole(m_rolename,
60: m_description, m_managedroleDN, m_contentadmin);
61: } catch (TaskAdminException tae) {
62: throw new TaskAdminTaglibException(tae, tae
63: .getLocalizedMessage(taskAdmin.getResourceBundle()));
64: }
65: return SKIP_BODY;
66: }
67: }
|