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.clocklog.service;
017    
018    import org.kuali.hr.time.clocklog.ClockLog;
019    import org.kuali.rice.kns.document.MaintenanceDocument;
020    import org.kuali.rice.krad.service.KRADServiceLocator;
021    import org.kuali.rice.krad.util.GlobalVariables;
022    
023    import java.util.Map;
024    
025    public class ClockLogMaintainableImpl extends org.kuali.rice.kns.maintenance.KualiMaintainableImpl {
026    
027            /**
028             * 
029             */
030            private static final long serialVersionUID = 1L;
031    
032             @Override
033            public void processAfterNew(MaintenanceDocument document,
034                            Map<String, String[]> parameters) {                
035                    super.processAfterNew(document, parameters);
036            }
037             
038            @Override
039            public void processAfterPost(MaintenanceDocument document,
040                            Map<String, String[]> parameters) {               
041                    ClockLog clockLog = (ClockLog) document.getDocumentBusinessObject();
042                    clockLog.setUserPrincipalId(GlobalVariables.getUserSession().getPrincipalId());
043                    super.processAfterPost(document, parameters);
044            }
045            
046            @Override
047            public void processAfterEdit(MaintenanceDocument document,
048                            Map<String, String[]> parameters) {
049                    ClockLog clockLog = (ClockLog) document.getDocumentBusinessObject();
050                    clockLog.setUserPrincipalId(GlobalVariables.getUserSession().getPrincipalId());
051                    super.processAfterEdit(document, parameters);
052            }
053            
054            @Override
055            public void saveBusinessObject() {
056                    ClockLog clockLog = (ClockLog) this.getBusinessObject();
057                    clockLog.setTkClockLogId(null);
058                    clockLog.setTimestamp(null);
059                    KRADServiceLocator.getBusinessObjectService().save(clockLog);
060            }
061    
062    }