001    /**
002     * Copyright 2004-2012 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.hr.time.task;
017    
018    import java.sql.Date;
019    import java.sql.Timestamp;
020    
021    import org.apache.commons.lang.StringUtils;
022    import org.kuali.hr.core.KPMEConstants;
023    import org.kuali.hr.time.HrBusinessObject;
024    import org.kuali.hr.time.service.base.TkServiceLocator;
025    import org.kuali.hr.time.workarea.WorkArea;
026    
027    public class Task extends HrBusinessObject {
028        public static final String CACHE_NAME = KPMEConstants.APPLICATION_NAMESPACE_CODE + "/" + "Task";
029        /**
030         *
031         */
032        private static final long serialVersionUID = 1L;
033    
034        private String tkTaskId;
035        private Long task;
036        private Long workArea;
037        private String tkWorkAreaId;
038        private String description;
039        private String userPrincipalId;
040        private String administrativeDescription;
041            private WorkArea workAreaObj;
042            private String workAreaDescription;
043    
044        public String getDescription()
045        {
046        return description;
047        }
048    
049        public void setDescription(String desc)
050        {
051            this.description = desc;
052        }
053    
054        public String getUserPrincipalId(){
055            return userPrincipalId;
056        }
057    
058        public void setUserPrincipalId(String pid)
059        {
060            this.userPrincipalId = pid;
061        }
062    
063        public String getAdministrativeDescription(){
064            return administrativeDescription;
065        }
066    
067        public void setAdministrativeDescription(String addesc)
068        {
069            this.administrativeDescription = addesc;
070        }
071    
072            public String getTkTaskId() {
073                    return tkTaskId;
074            }
075    
076            public void setTkTaskId(String tkTaskId) {
077                    this.tkTaskId = tkTaskId;
078            }
079    
080            public Long getTask() {
081                    return task;
082            }
083    
084            public void setTask(Long task) {
085                    this.task = task;
086            }
087    
088            public Long getWorkArea() {
089                    if (this.getTkWorkAreaId() != null &&  workArea == null) {
090                    WorkArea wa = TkServiceLocator.getWorkAreaService().getWorkArea(this.getTkWorkAreaId());
091                    this.setWorkArea((wa != null) ? wa.getWorkArea() : null);
092                    }
093                    
094                    return workArea;
095            }
096    
097            public void setWorkArea(Long workArea) {
098                    this.workArea = workArea;
099            }
100    
101            public String getTkWorkAreaId() {
102                    return tkWorkAreaId;
103            }
104    
105            public void setTkWorkAreaId(String tkWorkAreaId) {
106                    this.tkWorkAreaId = tkWorkAreaId;
107            }
108    
109        public Date getEffectiveDate() {
110            return effectiveDate;
111        }
112    
113        public void setEffectiveDate(Date effectiveDate) {
114            this.effectiveDate = effectiveDate;
115        }
116    
117        public boolean isActive() {
118            return active;
119        }
120    
121        public void setActive(boolean active) {
122            this.active = active;
123        }
124    
125        public Timestamp getTimestamp() {
126            return timestamp;
127        }
128    
129        public void setTimestamp(Timestamp timestamp) {
130            this.timestamp = timestamp;
131        }
132    
133            public String getWorkAreaDescription() { 
134                    if (this.getTkWorkAreaId() != null && StringUtils.isEmpty(workAreaDescription)) {
135                    WorkArea wa = TkServiceLocator.getWorkAreaService().getWorkArea(this.getTkWorkAreaId());
136                    this.setWorkAreaDescription((wa != null) ? wa.getDescription() : "");
137                    }
138                    return workAreaDescription;
139            }
140            
141            public void setWorkAreaDescription(String workAreaDescription) {
142                    this.workAreaDescription = workAreaDescription;
143            }
144    
145            @Override
146            public String getUniqueKey() {
147                    return workArea + "_" + task;
148            }
149    
150            public WorkArea getWorkAreaObj() {
151                    return workAreaObj;
152            }
153    
154            public void setWorkAreaObj(WorkArea workAreaObj) {
155                    this.workAreaObj = workAreaObj;
156            }
157    
158            @Override
159            public String getId() {
160                    return getTkTaskId();
161            }
162    
163            @Override
164            public void setId(String id) {
165                    setTkTaskId(id);
166            }
167    
168    }