001 /* 002 * Copyright 2011 The Kuali Foundation. 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 package org.kuali.kfs.module.endow.businessobject; 017 018 import java.sql.Date; 019 import java.util.LinkedHashMap; 020 021 import org.kuali.kfs.module.endow.EndowPropertyConstants; 022 import org.kuali.kfs.sys.context.SpringContext; 023 import org.kuali.rice.kim.bo.Person; 024 import org.kuali.rice.kim.bo.Role; 025 import org.kuali.rice.kim.service.KIMServiceLocator; 026 import org.kuali.rice.kns.bo.PersistableBusinessObjectBase; 027 import org.kuali.rice.kns.util.KualiInteger; 028 029 public class KemidAuthorizations extends PersistableBusinessObjectBase { 030 031 private String kemid; 032 private KualiInteger roleSequenceNumber; 033 private String roleId; 034 private String rolePrincipalId; 035 private Date roleTerminationDate; 036 private boolean active; 037 038 private KEMID kemidObjRef; 039 private Role role; 040 private Person rolePrincipal; 041 042 /** 043 * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper() 044 */ 045 @Override 046 protected LinkedHashMap toStringMapper() { 047 LinkedHashMap<String, String> m = new LinkedHashMap<String, String>(); 048 m.put(EndowPropertyConstants.KEMID, this.kemid); 049 m.put(EndowPropertyConstants.KEMID_AUTHORIZATIONS_ROLE_SEQ_NBR, String.valueOf(this.roleSequenceNumber)); 050 m.put(EndowPropertyConstants.KEMID_AUTHORIZATIONS_ROLE_ID, this.roleId); 051 m.put(EndowPropertyConstants.KEMID_AUTHORIZATIONS_ROLE_PRNCPL_ID, rolePrincipalId); 052 return m; 053 } 054 055 /** 056 * Gets the kemid. 057 * 058 * @return kemid 059 */ 060 public String getKemid() { 061 return kemid; 062 } 063 064 /** 065 * Sets the kemid. 066 * 067 * @param kemid 068 */ 069 public void setKemid(String kemid) { 070 this.kemid = kemid; 071 } 072 073 /** 074 * Gets the roleSequenceNumber. 075 * 076 * @return roleSequenceNumber 077 */ 078 public KualiInteger getRoleSequenceNumber() { 079 return roleSequenceNumber; 080 } 081 082 /** 083 * Sets the roleSequenceNumber. 084 * 085 * @param roleSequenceNumber 086 */ 087 public void setRoleSequenceNumber(KualiInteger roleSequenceNumber) { 088 this.roleSequenceNumber = roleSequenceNumber; 089 } 090 091 /** 092 * Gets the roleId. 093 * 094 * @return roleId 095 */ 096 public String getRoleId() { 097 return roleId; 098 } 099 100 /** 101 * Sets the roleId. 102 * 103 * @param roleId 104 */ 105 public void setRoleId(String roleId) { 106 this.roleId = roleId; 107 } 108 109 /** 110 * Gets the rolePrincipalId. 111 * 112 * @return rolePrincipalId 113 */ 114 public String getRolePrincipalId() { 115 return rolePrincipalId; 116 } 117 118 /** 119 * Sets the rolePrincipalId. 120 * 121 * @param rolePrincipalId 122 */ 123 public void setRolePrincipalId(String rolePrincipalId) { 124 this.rolePrincipalId = rolePrincipalId; 125 } 126 127 /** 128 * Gets the roleTerminationDate. 129 * 130 * @return roleTerminationDate 131 */ 132 public Date getRoleTerminationDate() { 133 return roleTerminationDate; 134 } 135 136 /** 137 * Sets the roleTerminationDate. 138 * 139 * @param roleTerminationDate 140 */ 141 public void setRoleTerminationDate(Date roleTerminationDate) { 142 this.roleTerminationDate = roleTerminationDate; 143 } 144 145 /** 146 * Gets the active indicator. 147 * 148 * @return active 149 */ 150 public boolean isActive() { 151 return active; 152 } 153 154 /** 155 * Sets the active indicator. 156 * 157 * @param active 158 */ 159 public void setActive(boolean active) { 160 this.active = active; 161 } 162 163 /** 164 * Gets the kemidObjRef. 165 * 166 * @return kemidObjRef 167 */ 168 public KEMID getKemidObjRef() { 169 return kemidObjRef; 170 } 171 172 /** 173 * Sets the kemidObjRef. 174 * 175 * @param kemidObjRef 176 */ 177 public void setKemidObjRef(KEMID kemidObjRef) { 178 this.kemidObjRef = kemidObjRef; 179 } 180 181 /** 182 * Gets the role. 183 * 184 * @return role 185 */ 186 public Role getRole() { 187 role = KIMServiceLocator.getRoleManagementService().getRole(roleId); 188 return role; 189 } 190 191 /** 192 * Sets the role. 193 * 194 * @param role 195 */ 196 public void setRole(Role role) { 197 this.role = role; 198 } 199 200 /** 201 * Gets the rolePrincipal. 202 * 203 * @return rolePrincipal 204 */ 205 public Person getRolePrincipal() { 206 rolePrincipal = SpringContext.getBean(org.kuali.rice.kim.service.PersonService.class).updatePersonIfNecessary(rolePrincipalId, rolePrincipal); 207 return rolePrincipal; 208 } 209 210 /** 211 * Sets the rolePrincipal. 212 * 213 * @param rolePrincipal 214 */ 215 public void setRolePrincipal(Person rolePrincipal) { 216 this.rolePrincipal = rolePrincipal; 217 } 218 219 /** 220 * @return Returns the rolePrincipalId. 221 */ 222 public String getRolePrincipalIdForSearching() { 223 return getRolePrincipalId(); 224 } 225 226 }