View Javadoc

1   /*
2    * Copyright 2007-2009 The Kuali Foundation
3    *
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    * http://www.opensource.org/licenses/ecl2.php
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.kuali.rice.kim.service;
17  
18  import java.sql.Date;
19  
20  import javax.jws.WebParam;
21  import javax.jws.WebService;
22  import javax.jws.soap.SOAPBinding;
23  import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
24  
25  import org.kuali.rice.core.jaxb.AttributeSetAdapter;
26  import org.kuali.rice.core.jaxb.SqlDateAdapter;
27  import org.kuali.rice.kim.bo.role.dto.RoleMemberCompleteInfo;
28  import org.kuali.rice.kim.bo.types.dto.AttributeSet;
29  import org.kuali.rice.kim.util.KIMWebServiceConstants;
30  
31  /**
32   * This service provides operations for creating and updating roles. 
33   * 
34   * @author Kuali Rice Team (rice.collab@kuali.org)
35   */
36  
37  @WebService(name = KIMWebServiceConstants.RoleUpdateService.WEB_SERVICE_NAME, targetNamespace = KIMWebServiceConstants.MODULE_TARGET_NAMESPACE)
38  @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
39  public interface RoleUpdateService {
40     
41  	/**
42  	 * Assigns the principal with the given id to the role with the specified
43  	 * namespace code and name with the supplied set of qualifications.
44  	 */
45      void assignPrincipalToRole(@WebParam(name="principalId") String principalId, 
46      		@WebParam(name="namespaceCode") String namespaceCode, 
47      		@WebParam(name="roleName") String roleName, 
48      		@WebParam(name="qualifications") @XmlJavaTypeAdapter(value = AttributeSetAdapter.class) AttributeSet qualifications) throws UnsupportedOperationException;
49      
50  	/**
51  	 * Assigns the group with the given id to the role with the specified
52  	 * namespace code and name with the supplied set of qualifications.
53  	 */
54      void assignGroupToRole(@WebParam(name="groupId") String groupId, 
55      		@WebParam(name="namespaceCode") String namespaceCode, 
56      		@WebParam(name="roleName") String roleName, 
57      		@WebParam(name="qualifications") @XmlJavaTypeAdapter(value = AttributeSetAdapter.class) AttributeSet qualifications) throws UnsupportedOperationException;
58  
59  	/**
60  	 * Assigns the role with the given id to the role with the specified
61  	 * namespace code and name with the supplied set of qualifications.
62  	 */
63      void assignRoleToRole(@WebParam(name="roleId") String roleId, 
64      		@WebParam(name="namespaceCode") String namespaceCode, 
65      		@WebParam(name="roleName") String roleName, 
66      		@WebParam(name="qualifications") @XmlJavaTypeAdapter(value = AttributeSetAdapter.class) AttributeSet qualifications) throws UnsupportedOperationException;
67  
68  	/**
69  	 * Assigns the role with the given id to the role with the specified
70  	 * namespace code and name with the supplied set of qualifications.
71  	 */
72      RoleMemberCompleteInfo saveRoleMemberForRole(@WebParam(name="roleMemberId") String roleMemberId,
73      		@WebParam(name="memberId") String memberId,
74      		@WebParam(name="memberTypeCode") String memberTypeCode, 
75      		@WebParam(name="roleId") String roleId, 
76      		@WebParam(name="qualifications") @XmlJavaTypeAdapter(value = AttributeSetAdapter.class) AttributeSet qualifications, 
77      		@XmlJavaTypeAdapter(value = SqlDateAdapter.class) @WebParam(name="activeFromDate") Date activeFromDate, 
78      		@XmlJavaTypeAdapter(value = SqlDateAdapter.class) @WebParam(name="activeToDate") Date activeToDate) throws UnsupportedOperationException;
79  
80      /**
81       * @param roleResponsibilityId
82       * @param roleMemberId
83       * @param actionTypeCode
84       * @param actionPolicyCode
85       * @param priorityNumber
86       * @param forceAction
87       */
88      void saveRoleRspActions(@WebParam(name="roleResponsibilityActionId") String roleResponsibilityActionId,
89      		@WebParam(name="roleId") String roleId, 
90      		@WebParam(name="roleResponsibilityId") String roleResponsibilityId, 
91      		@WebParam(name="roleMemberId") String roleMemberId, 
92      		@WebParam(name="actionTypeCode") String actionTypeCode, 
93      		@WebParam(name="actionPolicyCode") String actionPolicyCode, 
94      		@WebParam(name="priorityNumber") Integer priorityNumber, 
95      		@WebParam(name="forceAction") Boolean forceAction);
96      
97  	/**
98  	 * Assigns the member with the given id as a delegation member to the role 
99  	 * with the specified namespace code and name with the supplied set of qualifications.
100 	 */
101     public void saveDelegationMemberForRole(@WebParam(name="delegationMemberId") String delegationMemberId,
102     		@WebParam(name="roleMemberId") String roleMemberId, 
103     		@WebParam(name="memberId") String memberId, 
104     		@WebParam(name="memberTypeCode") String memberTypeCode, 
105     		@WebParam(name="delegationTypeCode") String delegationTypeCode, 
106     		@WebParam(name="roleId") String roleId, 
107     		@WebParam(name="qualifications") @XmlJavaTypeAdapter(value = AttributeSetAdapter.class) AttributeSet qualifications, 
108     		@XmlJavaTypeAdapter(value = SqlDateAdapter.class) @WebParam(name="activeFromDate") Date activeFromDate, 
109     		@XmlJavaTypeAdapter(value = SqlDateAdapter.class) @WebParam(name="activeToDate") Date activeToDate) throws UnsupportedOperationException;
110 
111     /**
112      * Remove the principal with the given id and qualifications from the role
113      * with the specified namespace code and role name.
114      */
115     void removePrincipalFromRole(@WebParam(name="principalId") String principalId, 
116     		@WebParam(name="namespaceCode") String namespaceCode, 
117     		@WebParam(name="roleName") String roleName, 
118     		@WebParam(name="qualifications") @XmlJavaTypeAdapter(value = AttributeSetAdapter.class) AttributeSet qualifications) throws UnsupportedOperationException;
119     
120     /**
121      * Remove the group with the given id and qualifications from the role
122      * with the specified namespace code and role name.
123      */
124     void removeGroupFromRole(@WebParam(name="groupId") String groupId, 
125     		@WebParam(name="namespaceCode") String namespaceCode, 
126     		@WebParam(name="roleName") String roleName, 
127     		@WebParam(name="qualifications") @XmlJavaTypeAdapter(value = AttributeSetAdapter.class) AttributeSet qualifications) throws UnsupportedOperationException;
128 
129     /**
130      * Remove the group with the given id and qualifications from the role
131      * with the specified namespace code and role name.
132      */
133     void removeRoleFromRole(@WebParam(name="roleId") String roleId, 
134     		@WebParam(name="namespaceCode") String namespaceCode, 
135     		@WebParam(name="roleName") String roleName, 
136     		@WebParam(name="qualifications") @XmlJavaTypeAdapter(value = AttributeSetAdapter.class) AttributeSet qualifications) throws UnsupportedOperationException;
137 
138     /**
139      * Creates or updates role with given attributes
140      */
141     void saveRole(@WebParam(name = "roleId") String roleId, @WebParam(name = "roleName") String roleName, @WebParam(name = "roleDescription") String roleDescription, @WebParam(name = "active") boolean active, @WebParam(name = "kimTypeId") String kimTypeId,
142             @WebParam(name = "namespaceCode") String namespaceCode) throws UnsupportedOperationException;
143 
144     /**
145      * Returns id available for a new role
146      */
147     String getNextAvailableRoleId() throws UnsupportedOperationException;
148 
149     /**
150      * Assigns the given permission to the given role
151      */
152     void assignPermissionToRole(String permissionId, String roleId) throws UnsupportedOperationException;
153 }