View Javadoc
1   package ejava.projects.esales.blimpl;
2   
3   import java.io.File;
4   import java.io.FileInputStream;
5   import java.io.InputStream;
6   import java.sql.Connection;
7   import java.sql.DriverManager;
8   
9   import org.apache.commons.logging.Log;
10  import org.apache.commons.logging.LogFactory;
11  
12  import ejava.projects.esales.jdbc.JDBCAccountDAO;
13  
14  public class ESalesIngestCommand {
15  	@SuppressWarnings("unused")
16  	private static final Log log = 
17  		LogFactory.getLog(ESalesIngestCommand.class);
18  	private static final String jdbcDriver = 
19  		System.getProperty("jdbc.driver");
20  	private static final String jdbcURL = 
21  		System.getProperty("jdbc.url");
22  	private static final String jdbcUser = 
23  		System.getProperty("jdbc.user");
24  	private static final String jdbcPassword = 
25  		System.getProperty("jdbc.password");
26  	private static final String inputFile = 
27  		System.getProperty("inputFile");
28  	
29  	@SuppressWarnings("resource")
30  	private static InputStream getInputStream() throws Exception {
31  		InputStream is = null;
32  
33  		if (inputFile == null) {
34  			throw new Exception("inputFile not supplied");
35  		}
36  		
37  		File file = new File(inputFile);
38  		if (file.exists()) {
39  			is = new FileInputStream(file);
40  		}
41  		if (is == null) {
42              is = Thread.currentThread()
43                         .getContextClassLoader()
44                         .getResourceAsStream(inputFile);
45  		}
46  		if (is == null) {
47  			throw new Exception("unable to locate inputFile:" + inputFile);
48  		}
49  		return is;
50  	}
51  	
52  	private static void loadDriver() throws Exception {
53  		if (jdbcDriver == null) {
54  			throw new Exception("jdbc.driver not supplied");
55  		}
56  		Thread.currentThread()
57  		      .getContextClassLoader()
58  		      .loadClass(jdbcDriver)
59  		      .newInstance();
60  	}
61  	
62  	private static Connection getConnection() throws Exception {
63  		if (jdbcURL == null) {
64  			throw new Exception("jdbc.url not supplied");
65  		}
66  		if (jdbcUser == null) {
67  			throw new Exception("jdbc.user not supplied");
68  		}
69  		if (jdbcPassword == null) {
70  			throw new Exception("jdbc.password not supplied");
71  		}
72  		return DriverManager.getConnection(jdbcURL, jdbcUser, jdbcPassword);
73  	}
74  	
75  	public static void main(String args[]) {
76  	    try {
77  			Connection connection = null;
78  			InputStream is = null;
79  		    try {
80  		    	is = getInputStream();
81  		    	loadDriver();
82  		    	connection = getConnection();
83  		    	JDBCAccountDAO accountDAO = new JDBCAccountDAO();
84  		    	 accountDAO.setConnection(connection);
85  		    	
86  		    	ESalesIngestor ingest = new ESalesIngestor();
87  		    	ingest.setAccountDAO(accountDAO);
88  		    	ingest.setInputStream(is);
89  		    	ingest.ingest();
90  		    }
91  			finally {
92  				if (connection != null) { connection.close(); }
93  				if (is != null) { is.close(); }
94  			}
95  	    }
96  	    catch (Exception ex) {
97  	    	ex.printStackTrace();
98  	    	System.exit(-1);
99  	    }
100 	}
101 }