Coverage Report - org.kuali.rice.kim.bo.role.impl.RoleMemberImpl
 
Classes in this File Line Coverage Branch Coverage Complexity
RoleMemberImpl
0%
0/55
0%
0/18
1.571
 
 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  
 import java.util.Set;
 22  
 
 23  
 import javax.persistence.Column;
 24  
 import javax.persistence.Entity;
 25  
 import javax.persistence.Id;
 26  
 import javax.persistence.Table;
 27  
 
 28  
 import org.apache.commons.lang.builder.EqualsBuilder;
 29  
 import org.apache.commons.lang.builder.HashCodeBuilder;
 30  
 import org.kuali.rice.kim.bo.Role;
 31  
 import org.kuali.rice.kim.bo.impl.KimAbstractMemberImpl;
 32  
 import org.kuali.rice.kim.bo.role.dto.KimRoleInfo;
 33  
 import org.kuali.rice.kim.bo.role.dto.RoleMemberCompleteInfo;
 34  
 import org.kuali.rice.kim.bo.role.dto.RoleResponsibilityActionInfo;
 35  
 import org.kuali.rice.kim.bo.types.dto.AttributeSet;
 36  
 import org.kuali.rice.kim.bo.types.dto.KimTypeAttributeInfo;
 37  
 import org.kuali.rice.kim.bo.types.dto.KimTypeInfo;
 38  
 import org.kuali.rice.kim.service.KIMServiceLocator;
 39  
 import org.kuali.rice.kim.service.KimTypeInfoService;
 40  
 import org.kuali.rice.kim.service.RoleService;
 41  
 import org.kuali.rice.kns.util.TypedArrayList;
 42  
 
 43  
 /**
 44  
  * This is a description of what this class does - kellerj don't forget to fill this in. 
 45  
  * 
 46  
  * @author Kuali Rice Team (kuali-rice@googleroles.com)
 47  
  *
 48  
  */
 49  
 @Entity
 50  
 @Table(name="KRIM_ROLE_MBR_T")
 51  0
 public class RoleMemberImpl extends KimAbstractMemberImpl {
 52  
 
 53  
         private static final long serialVersionUID = 1L;
 54  
 
 55  
         @Id
 56  
         @Column(name="ROLE_MBR_ID")
 57  
         protected String roleMemberId;
 58  
         
 59  
         @Column(name="ROLE_ID")
 60  
         protected String roleId;
 61  
         
 62  0
         protected List<RoleMemberAttributeDataImpl> attributes = new TypedArrayList(RoleMemberAttributeDataImpl.class);
 63  
         
 64  
         protected List <RoleResponsibilityActionImpl> roleRspActions;
 65  
         
 66  
         public String getRoleMemberId() {
 67  0
                 return this.roleMemberId;
 68  
         }
 69  
         public void setRoleMemberId(String roleMemberId) {
 70  0
                 this.roleMemberId = roleMemberId;
 71  0
         }
 72  
         public String getRoleId() {
 73  0
                 return this.roleId;
 74  
         }
 75  
         public void setRoleId(String roleId) {
 76  0
                 this.roleId = roleId;
 77  0
         }
 78  
         
 79  
         /**
 80  
          * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
 81  
          */
 82  
         @SuppressWarnings("unchecked")
 83  
         @Override
 84  
         protected LinkedHashMap toStringMapper() {
 85  0
                 LinkedHashMap m = new LinkedHashMap();
 86  0
                 m.put( "roleMemberId", roleMemberId );
 87  0
                 m.put( "roleId", roleId );
 88  0
                 m.put( "memberId", getMemberId() );
 89  0
                 m.put( "memberTypeCode", getMemberTypeCode() );
 90  0
                 return m;
 91  
         }
 92  
 
 93  
         public List<RoleMemberAttributeDataImpl> getAttributes() {
 94  0
                 return this.attributes;
 95  
         }
 96  
 
 97  
         public void setAttributes(List<RoleMemberAttributeDataImpl> attributes) {
 98  0
                 this.attributes = attributes;
 99  0
         }
 100  
 
 101  0
         protected transient AttributeSet qualifierAsAttributeSet = null;
 102  
 
 103  
         public AttributeSet getQualifier() {
 104  0
                 if ( qualifierAsAttributeSet == null ) {
 105  0
                         KimRoleInfo role = getRoleService().getRole(roleId);
 106  0
                         KimTypeInfo kimType = getTypeInfoService().getKimType( role.getKimTypeId() );
 107  0
                         AttributeSet m = new AttributeSet();
 108  0
                         for ( RoleMemberAttributeDataImpl data : getAttributes() ) {
 109  0
                                 KimTypeAttributeInfo attribute = null;
 110  0
                                 if ( kimType != null ) {
 111  0
                                         attribute = kimType.getAttributeDefinition( data.getKimAttributeId() );
 112  
                                 }
 113  0
                                 if ( attribute != null ) {
 114  0
                                         m.put( attribute.getAttributeName(), data.getAttributeValue() );
 115  
                                 } else {
 116  0
                                         m.put( data.getKimAttribute().getAttributeName(), data.getAttributeValue() );
 117  
                                 }
 118  0
                         }
 119  0
                         qualifierAsAttributeSet = m;
 120  
                 }
 121  0
                 return qualifierAsAttributeSet;
 122  
         }
 123  
         
 124  
         public boolean hasQualifier() {
 125  0
                 return !getAttributes().isEmpty();
 126  
         }
 127  
         
 128  
         /**
 129  
          * @return the roleRspActions
 130  
          */
 131  
         public List<RoleResponsibilityActionImpl> getRoleRspActions() {
 132  0
                 return this.roleRspActions;
 133  
         }
 134  
         /**
 135  
          * @param roleRspActions the roleRspActions to set
 136  
          */
 137  
         public void setRoleRspActions(List<RoleResponsibilityActionImpl> roleRspActions) {
 138  0
                 this.roleRspActions = roleRspActions;
 139  0
         }
 140  
 
 141  
         private transient static KimTypeInfoService kimTypeInfoService;
 142  
         protected KimTypeInfoService getTypeInfoService() {
 143  0
                 if(kimTypeInfoService == null){
 144  0
                         kimTypeInfoService = KIMServiceLocator.getTypeInfoService();
 145  
                 }
 146  0
                 return kimTypeInfoService;
 147  
         }
 148  
         private transient static RoleService roleService;
 149  
         protected RoleService getRoleService() {
 150  0
                 if(roleService == null){
 151  0
                         roleService = KIMServiceLocator.getRoleManagementService();
 152  
                 }
 153  0
                 return roleService;
 154  
         }
 155  
 
 156  
         public RoleMemberCompleteInfo toSimpleInfo(){
 157  0
                 RoleMemberCompleteInfo roleMemberCompleteInfo = new RoleMemberCompleteInfo();
 158  0
                 roleMemberCompleteInfo.setRoleId(roleId);
 159  0
                 roleMemberCompleteInfo.setRoleMemberId(roleMemberId);
 160  0
                 roleMemberCompleteInfo.setActiveFromDate(activeFromDate);
 161  0
                 roleMemberCompleteInfo.setActiveToDate(activeToDate);
 162  0
                 roleMemberCompleteInfo.setMemberId(memberId);
 163  0
                 roleMemberCompleteInfo.setMemberTypeCode(memberTypeCode);
 164  0
                 roleMemberCompleteInfo.setQualifier(getQualifier());
 165  0
                 roleMemberCompleteInfo.setRoleRspActions(new ArrayList<RoleResponsibilityActionInfo>());
 166  0
                 if(roleRspActions!=null){
 167  0
                         for(RoleResponsibilityActionImpl roleResponsibilityActionImpl: roleRspActions){
 168  0
                                 roleMemberCompleteInfo.getRoleRspActions().add(roleResponsibilityActionImpl.toSimpleInfo());
 169  
                         }
 170  
                 }
 171  0
                 return roleMemberCompleteInfo;
 172  
         }
 173  
         
 174  
 }