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.dept.lunch.service;
017    
018    import java.util.Map;
019    
020    import org.apache.commons.lang.StringUtils;
021    import org.kuali.hr.time.HrBusinessObject;
022    import org.kuali.hr.time.dept.lunch.DeptLunchRule;
023    import org.kuali.hr.time.service.base.TkServiceLocator;
024    import org.kuali.hr.time.util.HrBusinessObjectMaintainableImpl;
025    import org.kuali.rice.kns.document.MaintenanceDocument;
026    import org.kuali.rice.krad.util.GlobalVariables;
027    
028    public class DeptLunchRuleMaintainableImpl extends HrBusinessObjectMaintainableImpl {
029    
030            /**
031             * 
032             */
033            private static final long serialVersionUID = 1L;
034    
035            @Override
036            public void processAfterPost(MaintenanceDocument document,
037                            Map<String, String[]> parameters) {
038                    DeptLunchRule deptLunchRule = (DeptLunchRule) document
039                                    .getDocumentBusinessObject();
040                    deptLunchRule.setUserPrincipalId(GlobalVariables.getUserSession()
041                                    .getPrincipalId());
042                    super.processAfterPost(document, parameters);
043            }
044    
045            @Override
046            public void processAfterEdit(MaintenanceDocument document,
047                            Map<String, String[]> parameters) {
048                    DeptLunchRule deptLunchRule = (DeptLunchRule) document
049                                    .getDocumentBusinessObject();
050                    deptLunchRule.setUserPrincipalId(GlobalVariables.getUserSession()
051                                    .getPrincipalId());
052                    super.processAfterEdit(document, parameters);
053            }
054    
055            @Override
056            public Map populateBusinessObject(Map<String, String> fieldValues,
057                            MaintenanceDocument maintenanceDocument, String methodToCall) {
058                    if (fieldValues.containsKey("workArea")
059                                    && StringUtils.equals(fieldValues.get("workArea"), "%")) {
060                            fieldValues.put("workArea", "-1");
061                    }
062                    if (fieldValues.containsKey("jobNumber")
063                                    && StringUtils.equals(fieldValues.get("jobNumber"), "%")) {
064                            fieldValues.put("jobNumber", "-1");
065                    }
066                    return super.populateBusinessObject(fieldValues, maintenanceDocument,
067                                    methodToCall);
068            }
069    
070            @Override
071            public HrBusinessObject getObjectById(String id) {
072                    return TkServiceLocator.getDepartmentLunchRuleService().getDepartmentLunchRule(id);
073            }
074    }