/*
* 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.purap.batch;
import java.io.File;
import org.kuali.kfs.module.purap.PurapConstants;
import org.kuali.kfs.module.purap.PurapKeyConstants;
import org.kuali.kfs.module.purap.businessobject.ElectronicInvoice;
import org.kuali.kfs.sys.batch.XmlBatchInputFileTypeBase;
/**
* Batch input type for the electronic invoice job.
*/
public class ElectronicInvoiceInputFileType extends XmlBatchInputFileTypeBase {
protected String reportPath;
protected String reportPrefix;
protected String reportExtension;
/**
* Returns the identifier of the electronic invoice file type
*
* @return the electronic invoice file type identifier
*/
public String getFileTypeIdentifer() {
return PurapConstants.ELECTRONIC_INVOICE_FILE_TYPE_INDENTIFIER;
}
public boolean validate(Object parsedFileContents) {
return true;
}
public String getTitleKey() {
return PurapKeyConstants.MESSAGE_BATCH_UPLOAD_TITLE_EINVOICE;
}
public String getAuthorPrincipalName(File file) {
return null;
}
public String getFileName(String principalName,
Object parsedFileContents,
String fileUserIdentifer) {
if (!(parsedFileContents instanceof ElectronicInvoice)){
throw new RuntimeException("Invalid object type.");
}
String fileName = ((ElectronicInvoice)parsedFileContents).getFileName();
if (fileName == null) return fileUserIdentifer;
int whereDot = fileName.lastIndexOf('.');
return fileName.substring(0, whereDot);
}
/**
* Sets the reportPath attribute value.
* @param reportPath The reportPath to set.
*/
public void setReportPath(String reportPath) {
this.reportPath = reportPath;
}
/**
* Sets the reportExtension attribute value.
* @param reportExtension The reportExtension to set.
*/
public void setReportExtension(String reportExtension) {
this.reportExtension = reportExtension;
}
/**
* Sets the fileReportPrefix attribute value.
* @param fileReportPrefix The fileReportPrefix to set.
*/
public void setReportPrefix(String reportPrefix) {
this.reportPrefix = reportPrefix;
}
public String getReportPath() {
return reportPath;
}
public String getReportPrefix() {
return reportPrefix;
}
public String getReportExtension() {
return reportExtension;
}
}