protected void processDeleteLog(File inLog, MediaArchive inArchive, ConvertStatus inStatus) throws FileNotFoundException, IOException, Exception { BufferedReader reader = new BufferedReader(new FileReader(inLog)); try { String line = reader.readLine(); int count = 0; while (line != null) { String[] tabs = line.split("\t"); if (tabs.length > 3) { if ("Record deleted".equals(tabs[3])) { String catName = inLog.getName(); if (catName.indexOf('-') != -1) { catName = catName.substring(0, catName.indexOf('-')); } else if (catName.indexOf('.') != -1) { catName = catName.substring(0, catName.lastIndexOf('.')); } String recordId = tabs[4]; String cumulusid = catName + "_" + recordId; // /createCumulusID(catName, recordId); // catName = extractId(catName); // Category root = // inArchive.getStore().getCatalogArchive().getRootCatalog().getChildByName(catName); SearchQuery query = inArchive.getAssetSearcher().createSearchQuery(); query.addExact("cumulusid", cumulusid); HitTracker hits = inArchive.getAssetSearcher().search(query); if (hits.getTotal() > 0) { count++; String id = hits.get(0).get("id"); deleteAsset(inArchive, id); } else { log.debug("No record found " + catName + "dash" + recordId); } } } line = reader.readLine(); } if (count > 0) { inArchive.getAssetSearcher().flush(); logMessage(inStatus, "Removed " + count + " records"); } } finally { FileUtils.safeClose(reader); } }