/* * 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.module.ar.batch.service; import java.util.List; import org.kuali.kfs.module.ar.batch.report.CustomerLoadFileResult; import org.kuali.kfs.module.ar.batch.vo.CustomerDigesterVO; import org.kuali.kfs.sys.batch.BatchInputFileType; import org.kuali.kfs.sys.batch.InitiateDirectory; import org.kuali.rice.kns.document.MaintenanceDocument; public interface CustomerLoadService extends InitiateDirectory{ /** * Validates and parses all files ready to go in the batch staging area. * * @return True if no errors were encountered, False otherwise. */ public boolean loadFiles(); /** * Validates and parses the file identified by the given files name. If successful, parsed entries are stored. * * These parameters are used for returning values back to its caller * reporter, routedDocumentNumbers, failedDocumentNumbers * * @param fileName Name of file to be uploaded and processed. * @param reporter * @param batchInputFileType batchInputFileType * @param routedDocumentNumbers list of routed doc numbers through workflow * @param failedDocumentNumbers list of failed doc numbers through workflow * @return True if the file load and store was successful, false otherwise. */ public boolean loadFile(String fileName, CustomerLoadFileResult reporter, BatchInputFileType batchInputFileType, List<String> routedDocumentNumbers, List<String> failedDocumentNumbers); /** * * Performs specific validation on the parsed file contents. If errors were found, method will return false and * GlobalVariables.errorMap will contain the error message. If no errors were encountered the method will return true. * * @param customerUploads A List of CustomerDigesterVO objects, that are the processed * results of the uploaded files. * @return True if no errors were encountered, False otherwise. */ public boolean validate(List<CustomerDigesterVO> customerUploads); /** * * Performs specific validation on the parsed file contents. If errors were found, method will return false and * GlobalVariables.errorMap will contain the error message. If no errors were encountered the method will return true. * * @param customerUploads A List of CustomerDigesterVO objects, that are the processed * results of the uploaded files. * @param customerMaintDocs A list of the customerMaintDocs that are returned by the validateAndPrepare method. A valid list * should be passed in, and MaintDocs will be added to it. * @return True if no errors were encountered, False otherwise. */ public boolean validateAndPrepare(List<CustomerDigesterVO> customerUploads, List<MaintenanceDocument> customerMaintDocs, boolean useGlobalMessageMap); /** * * Provide a file name generation for the CustomerInputFileType(xml or csv) * * @return file name */ public String getFileName(String principalName, String fileUserIdentifer, String prefix, String delim); }