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.HashMap;
020    import java.util.LinkedHashMap;
021    import java.util.List;
022    import java.util.Map;
023    
024    import org.apache.commons.lang.StringUtils;
025    import org.kuali.kfs.module.endow.EndowPropertyConstants;
026    import org.kuali.kfs.sys.KFSConstants;
027    import org.kuali.kfs.sys.context.SpringContext;
028    import org.kuali.rice.kim.bo.Group;
029    import org.kuali.rice.kim.bo.group.dto.GroupInfo;
030    import org.kuali.rice.kim.bo.impl.GroupImpl;
031    import org.kuali.rice.kim.bo.role.dto.DelegateMemberCompleteInfo;
032    import org.kuali.rice.kim.bo.role.dto.DelegateTypeInfo;
033    import org.kuali.rice.kim.bo.role.dto.RoleMemberCompleteInfo;
034    import org.kuali.rice.kim.service.GroupService;
035    import org.kuali.rice.kim.service.KIMServiceLocator;
036    import org.kuali.rice.kim.util.KimConstants;
037    import org.kuali.rice.kns.bo.Inactivateable;
038    import org.kuali.rice.kns.bo.KualiCodeBase;
039    import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
040    import org.kuali.rice.kns.service.KualiModuleService;
041    
042    public class TicklerRecipientGroup extends PersistableBusinessObjectBase implements Inactivateable
043    {
044        private String number;
045        private boolean active;
046        private String groupId;
047        private String groupName;
048        
049        protected String assignedToGroupNamespaceForLookup;
050        protected String assignedToGroupNameForLookup;
051        protected Group assignedToGroup;
052        /**
053         * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
054         */
055        @Override
056        protected LinkedHashMap<String, String> toStringMapper() 
057        {
058            LinkedHashMap<String, String> m = new LinkedHashMap<String, String>();
059            m.put(EndowPropertyConstants.TICKLER_NUMBER,getNumber());
060            m.put(EndowPropertyConstants.TICKLER_RECIPIENT_GROUPID,getGroupId());
061            return m;
062        }
063    
064        public boolean isActive() {
065            return active;
066        }
067    
068        public void setActive(boolean active) {
069            this.active = active;
070        }
071    
072        public String getNumber() {
073            return number;
074        }
075    
076        public void setNumber(String number) {
077            this.number = number;
078        }
079    
080        public String getAssignedToGroupNamespaceForLookup() {
081            return assignedToGroupNamespaceForLookup;
082        }
083    
084        public void setAssignedToGroupNamespaceForLookup(String assignedToGroupNamespaceForLookup) {
085            this.assignedToGroupNamespaceForLookup = assignedToGroupNamespaceForLookup;
086        }
087    
088        public String getAssignedToGroupNameForLookup() {
089            return assignedToGroupNameForLookup;
090        }
091    
092        public void setAssignedToGroupNameForLookup(String assignedToGroupNameForLookup) {
093            this.assignedToGroupNameForLookup = assignedToGroupNameForLookup;
094        }
095    
096        public Group getAssignedToGroup() 
097        {
098            if(assignedToGroup == null)
099            {
100                Map<String, Object> fieldValues = new HashMap<String, Object>();
101                fieldValues.put(KimConstants.PrimaryKeyConstants.GROUP_ID, getGroupId());
102                Group groupInfo = getGroup(fieldValues);
103                return groupInfo;
104            }
105            return assignedToGroup;
106        }
107    
108        public Group getGroup(Map<String, Object> fieldValues) {
109            return (Group) SpringContext.getBean(KualiModuleService.class).getResponsibleModuleService(Group.class).getExternalizableBusinessObject(Group.class, fieldValues);
110        }
111        
112        public void setAssignedToGroup(Group assignedToGroup) {
113            this.assignedToGroup = assignedToGroup;
114        }
115    
116        public String getGroupId() {
117            return groupId;
118        }
119    
120        public void setGroupId(String groupId) {
121            this.groupId = groupId;
122        }
123    
124        protected GroupService getGroupService()
125        {
126            return KIMServiceLocator.getGroupService();
127        }
128    
129        public String getGroupName() {
130            return groupName;
131        }
132    
133        public void setGroupName(String groupName) {
134            this.groupName = groupName;
135        }
136        
137    }