/* * The Kuali Financial System, a comprehensive financial management system for higher education. * * Copyright 2005-2014 The Kuali Foundation * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.kuali.kfs.sys.batch; import java.util.Date; import java.util.List; import org.kuali.kfs.sys.batch.service.FilePurgeService; /** * * Purges old files from the reports directory specified in build.properties */ public class FilePurgeStep extends AbstractStep { private List<String> directories; private List<FilePurgeCustomAge> customAges; private FilePurgeService filePurgeService; /** * @see org.kuali.kfs.sys.batch.AbstractStep#getRequiredDirectoryNames() */ @Override public List<String> getRequiredDirectoryNames() { return directories; } /** * Deletes all files in the temporary directory that are over 1 day old * * @see org.kuali.kfs.sys.batch.Step#execute(String, Date) */ public boolean execute(String jobName, Date jobRunDate) throws InterruptedException { for (String directory : directories) { getFilePurgeService().purgeFiles(directory, customAges); } return true; } /** * Gets the directories attribute. * @return Returns the directories. */ public List<String> getDirectories() { return directories; } /** * Sets the directories attribute value. * @param directories The directories to set. */ public void setDirectories(List<String> directories) { this.directories = directories; } /** * Gets the customAges attribute. * @return Returns the customAges. */ public List<FilePurgeCustomAge> getCustomAges() { return customAges; } /** * Sets the customAges attribute value. * @param customAges The customAges to set. */ public void setCustomAges(List<FilePurgeCustomAge> customAge) { this.customAges = customAge; } /** * Gets the filePurgeService attribute. * @return Returns the filePurgeService. */ public FilePurgeService getFilePurgeService() { return filePurgeService; } /** * Sets the filePurgeService attribute value. * @param filePurgeService The filePurgeService to set. */ public void setFilePurgeService(FilePurgeService filePurgeService) { this.filePurgeService = filePurgeService; } }