Coverage Report - org.kuali.rice.kim.bo.role.impl.KimDelegationImpl
 
Classes in this File Line Coverage Branch Coverage Complexity
KimDelegationImpl
0%
0/46
0%
0/10
1.263
 
 1  
 /*
 2  
  * Copyright 2007-2008 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.bo.role.impl;
 17  
 
 18  
 import java.util.ArrayList;
 19  
 import java.util.LinkedHashMap;
 20  
 import java.util.List;
 21  
 
 22  
 import javax.persistence.CascadeType;
 23  
 import javax.persistence.Column;
 24  
 import javax.persistence.Entity;
 25  
 import javax.persistence.FetchType;
 26  
 import javax.persistence.Id;
 27  
 import javax.persistence.JoinColumn;
 28  
 import javax.persistence.OneToMany;
 29  
 import javax.persistence.Table;
 30  
 
 31  
 import org.kuali.rice.kim.bo.Role;
 32  
 import org.kuali.rice.kim.bo.role.KimDelegation;
 33  
 import org.kuali.rice.kim.bo.role.dto.DelegateMemberCompleteInfo;
 34  
 import org.kuali.rice.kim.bo.role.dto.DelegateTypeInfo;
 35  
 import org.kuali.rice.kim.bo.types.dto.KimTypeInfo;
 36  
 import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
 37  
 import org.kuali.rice.kns.util.TypedArrayList;
 38  
 
 39  
 /**
 40  
  * This is a description of what this class does - kellerj don't forget to fill this in. 
 41  
  * 
 42  
  * @author Kuali Rice Team (kuali-rice@googleroles.com)
 43  
  *
 44  
  */
 45  
 @Entity
 46  
 @Table(name="KRIM_DLGN_T")
 47  0
 public class KimDelegationImpl extends PersistableBusinessObjectBase implements KimDelegation {
 48  
 
 49  
         private static final long serialVersionUID = 1L;
 50  
         
 51  
         @Id
 52  
         @Column(name="DLGN_ID")
 53  
         protected String delegationId;
 54  
         
 55  
         @Column(name="ROLE_ID")
 56  
         protected String roleId;
 57  
 
 58  0
         @Column(name="ACTV_IND")
 59  
         protected boolean active = true;
 60  
 
 61  
         @Column(name="KIM_TYP_ID")
 62  
         protected String kimTypeId;
 63  
 
 64  
         @Column(name="DLGN_TYP_CD")
 65  
         protected String delegationTypeCode;
 66  
         
 67  0
         @OneToMany(targetEntity=KimDelegationMemberImpl.class,cascade={CascadeType.ALL},fetch=FetchType.LAZY)
 68  
         @JoinColumn(name="DLGN_ID", insertable=false, updatable=false)
 69  
         protected List<KimDelegationMemberImpl> members = new TypedArrayList(KimDelegationMemberImpl.class);
 70  
 
 71  
         protected KimTypeInfo kimType; 
 72  
         
 73  
         /**
 74  
          * This overridden method ...
 75  
          * 
 76  
          * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
 77  
          */
 78  
         @SuppressWarnings("unchecked")
 79  
         @Override
 80  
         protected LinkedHashMap toStringMapper() {
 81  0
                 LinkedHashMap m = new LinkedHashMap();
 82  0
                 m.put( "delegationId", delegationId );
 83  0
                 m.put( "roleId", roleId );
 84  0
                 m.put( "delegationTypeCode", delegationTypeCode );
 85  0
                 return m;
 86  
         }
 87  
 
 88  
         public String getRoleId() {
 89  0
                 return this.roleId;
 90  
         }
 91  
 
 92  
         public void setRoleId(String roleId) {
 93  0
                 this.roleId = roleId;
 94  0
         }
 95  
 
 96  
         public boolean isActive() {
 97  0
                 return this.active;
 98  
         }
 99  
 
 100  
         public void setActive(boolean active) {
 101  0
                 this.active = active;
 102  0
         }
 103  
 
 104  
         public String getKimTypeId() {
 105  0
                 return this.kimTypeId;
 106  
         }
 107  
 
 108  
         public void setKimTypeId(String typeId) {
 109  0
                 this.kimTypeId = typeId;
 110  0
         }
 111  
 
 112  
         public KimTypeInfo getKimType() {
 113  0
                 return this.kimType;
 114  
         }
 115  
 
 116  
         public String getDelegationTypeCode() {
 117  0
                 return this.delegationTypeCode;
 118  
         }
 119  
 
 120  
         public void setDelegationTypeCode(String delegationTypeCode) {
 121  0
                 this.delegationTypeCode = delegationTypeCode;
 122  0
         }
 123  
 
 124  
         public String getDelegationId() {
 125  0
                 return this.delegationId;
 126  
         }
 127  
 
 128  
         public void setDelegationId(String delegationId) {
 129  0
                 this.delegationId = delegationId;
 130  0
         }
 131  
 
 132  
         public List<String> getMemberGroupIds() {
 133  0
                 return getMembersOfType( Role.GROUP_MEMBER_TYPE );
 134  
         }
 135  
 
 136  
         public List<String> getMemberPrincipalIds() {
 137  0
                 return getMembersOfType( Role.PRINCIPAL_MEMBER_TYPE );
 138  
         }
 139  
 
 140  
         public List<String> getMemberRoleIds() {
 141  0
                 return getMembersOfType( Role.ROLE_MEMBER_TYPE );
 142  
         }
 143  
 
 144  
         protected List<String> getMembersOfType( String memberTypeCode ) {
 145  0
                 List<String> roleMembers = new ArrayList<String>();
 146  0
                 for ( KimDelegationMemberImpl member : getMembers() ) {
 147  0
                         if ( member.getMemberTypeCode().equals ( memberTypeCode )
 148  
                                         && member.isActive() ) {
 149  0
                                 roleMembers.add( member.getMemberId() );
 150  
                         }
 151  
                 }
 152  0
                 return roleMembers;
 153  
         }
 154  
 
 155  
         public List<KimDelegationMemberImpl> getMembers() {
 156  0
                 return this.members;
 157  
         }
 158  
 
 159  
         public void setMembers(List<KimDelegationMemberImpl> members) {
 160  0
                 this.members = members;
 161  0
         }
 162  
         
 163  
         public DelegateTypeInfo toSimpleInfo(){
 164  0
                 DelegateTypeInfo delegateTypeInfo = new DelegateTypeInfo();
 165  0
                 delegateTypeInfo.setActive(active);
 166  0
                 delegateTypeInfo.setDelegationId(delegationId);
 167  0
                 delegateTypeInfo.setDelegationTypeCode(delegationTypeCode);
 168  
                 //delegateTypeInfo.setKimType(kimType);
 169  0
                 delegateTypeInfo.setKimTypeId(kimTypeId);
 170  0
                 delegateTypeInfo.setRoleId(roleId);
 171  0
                 delegateTypeInfo.setMembers(new ArrayList<DelegateMemberCompleteInfo>());
 172  0
                 if(members!=null){
 173  0
                         for(KimDelegationMemberImpl member: members)
 174  0
                                 delegateTypeInfo.getMembers().add(member.toSimpleInfo());
 175  
                 }
 176  0
                 return delegateTypeInfo;
 177  
         }
 178  
 
 179  
 }