001package org.kuali.ole.batch.impl; 002 003import org.apache.log4j.Logger; 004import org.kuali.ole.batch.delete.BatchProcessDeleteData; 005import org.kuali.ole.batch.export.BatchProcessExportData; 006import org.kuali.ole.batch.ingest.BatchProcessInvoiceIngest; 007import org.kuali.ole.batch.ingest.BatchProcessLocationIngest; 008import org.kuali.ole.batch.ingest.BatchProcessOrderIngest; 009import org.kuali.ole.batch.ingest.BatchProcessPatronIngest; 010import org.kuali.ole.batch.ingest.BatchProcessBibImport; 011 012/** 013 * Created with IntelliJ IDEA. 014 * User: meenrajd 015 * Date: 7/8/13 016 * Time: 4:39 PM 017 * To change this template use File | Settings | File Templates. 018 */ 019public class BatchProcessFactory { 020 private static final Logger LOG = Logger.getLogger(BatchProcessFactory.class); 021 022 /** 023 * Factory method to create and return the batch process based on the process type in the job 024 * 025 * @param processType 026 * @return 027 */ 028 public static OLEBatchProcess createProcess(String processType) { 029 if (processType == null) { 030 LOG.error("::Process Type is NULL Cannot create Batch process::"); 031 throw new RuntimeException("::Process Type is NULL Cannot create Batch process::"); 032 } 033 if (processType.equalsIgnoreCase("Location Import")) { 034 return new BatchProcessLocationIngest(); 035 } else if (processType.equals("Patron Import")) { 036 return new BatchProcessPatronIngest(); 037 } else if (processType.equals("Order Record Import")) { 038 return new BatchProcessOrderIngest(); 039 } else if (processType.equals("Batch Export")) { 040 return new BatchProcessExportData(); 041 } else if (processType.equals("Invoice Import")) { 042 return new BatchProcessInvoiceIngest(); 043 } else if (processType.equals("Batch Delete")) { 044 return new BatchProcessDeleteData(); 045 } else if (processType.equals("Bib Import")) { 046 return new BatchProcessBibImport(); 047 } else { 048 return null; 049 } 050 } 051}