001package org.kuali.ole.batch.keyvalue;
002
003import org.kuali.ole.gl.web.util.OriginEntryFileComparator;
004import org.kuali.ole.select.document.service.OLEEncumberOpenRecurringOrdersService;
005import org.kuali.ole.sys.context.SpringContext;
006import org.kuali.rice.core.api.datetime.DateTimeService;
007import org.kuali.rice.core.api.util.ConcreteKeyValue;
008import org.kuali.rice.krad.keyvalues.KeyValuesBase;
009
010import java.io.File;
011import java.util.*;
012
013/**
014 * Created with IntelliJ IDEA.
015 * User: gopalp
016 * Date: 1/27/15
017 * Time: 2:16 PM
018 * To change this template use File | Settings | File Templates.
019 */
020public class OLEEncumberOpenRecurringOrdersValueFinder extends KeyValuesBase {
021
022    public List getKeyValues() {
023        List activeLabels = new ArrayList();
024        OLEEncumberOpenRecurringOrdersService encumberOpenRecurringOrdersService = SpringContext.getBean(OLEEncumberOpenRecurringOrdersService.class) ;
025        File[] fileList = encumberOpenRecurringOrdersService.getAllFileInBatchDirectory();
026        List<File> sortedFileList = Arrays.asList(fileList);
027        Collections.sort(sortedFileList, new OriginEntryFileComparator());
028
029        for (File file : sortedFileList) {
030            String fileName = file.getName();
031            // build display file name with date and size
032            Date date = new Date(file.lastModified());
033            String timeInfo = "(" + SpringContext.getBean(DateTimeService.class).toDateTimeString(date) + ")";
034            String sizeInfo = "(" + (new Long(file.length())).toString() + ")";
035            activeLabels.add(new ConcreteKeyValue(fileName, timeInfo + " " + fileName + " " + sizeInfo));
036        }
037
038        return activeLabels;
039    }
040}