@Override public void execute() { CommandDAO dao = new CommandDAO(); try { dao.setStatus(getCommandId(), "STARTED"); if (region == null || url == null) { log.info("Invalid Process Inventory Command, " + this); } else { ProductDAO pdao = new ProductDAO(); pdao.whitelist(region); String filePath = downloads + File.separator + System.currentTimeMillis(); String downloadedFile = downloadFile(url, filePath); processContents(downloadedFile, pdao); } dao.setStatus(getCommandId(), "COMPLETED"); } catch (Exception e) { log.error("Error blacklisting", e); try { dao.setStatus(getCommandId(), "ERROR"); } catch (DBException e1) { } } }
private void processContents(String filePath, ProductDAO pdao) throws Exception { BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(filePath))); try { String line = null; do { line = reader.readLine(); if (line != null) { String productId = line.trim(); pdao.addToBlacklist(region, productId); } } while (line != null); } finally { if (reader != null) { reader.close(); } } }