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.ld.batch; 017 018 import org.kuali.kfs.gl.batch.service.BalancingService; 019 import org.kuali.kfs.sys.batch.AbstractWrappedBatchStep; 020 import org.kuali.kfs.sys.batch.service.WrappedBatchExecutorService.CustomBatchExecutor; 021 022 /** 023 * Generates a balancing report if data is present in the history tables. Instructions on how to test this process for Labor:<br> 024 * 1) Place an acceptable LD_SORTPOST.data / LD_POSTERRS.data into batchFileDirectoryName (see spring-ld.xml)<br> 025 * 2) Run BatchStepRunner for laborPosterStep<br> 026 * 3) Run BatchStepRunner for laborFileRenameStep<br> 027 * 4) Run BatchStepRunner for laborBalancingStep<br> 028 * 5) Evaluate LD batch directory for results 029 */ 030 public class LaborBalancingStep extends AbstractWrappedBatchStep { 031 private static org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(LaborBalancingStep.class); 032 033 private BalancingService balancingService; 034 035 /** 036 * @see org.kuali.kfs.sys.batch.AbstractWrappedBatchStep#getCustomBatchExecutor() 037 */ 038 @Override 039 protected CustomBatchExecutor getCustomBatchExecutor() { 040 return new CustomBatchExecutor() { 041 public boolean execute() { 042 balancingService.runBalancing(); 043 return true; 044 } 045 }; 046 } 047 048 /** 049 * Sets the BalancingService 050 * 051 * @param balancingService The BalancingService to set. 052 */ 053 public void setBalancingService(BalancingService balancingService) { 054 this.balancingService = balancingService; 055 } 056 }