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