1 18 19 package org.apache.roller.business.search.operations; 20 21 import java.io.IOException ; 22 import java.util.Date ; 23 24 import org.apache.commons.logging.Log; 25 import org.apache.commons.logging.LogFactory; 26 import org.apache.lucene.index.IndexReader; 27 import org.apache.lucene.index.Term; 28 import org.apache.roller.business.IndexManagerImpl; 29 import org.apache.roller.business.search.FieldConstants; 30 import org.apache.roller.business.search.IndexUtil; 31 import org.apache.roller.pojos.WebsiteData; 32 33 34 38 public class RemoveWebsiteIndexOperation extends WriteToIndexOperation { 39 40 42 private static Log mLogger = 43 LogFactory.getFactory().getInstance(RemoveWebsiteIndexOperation.class); 44 45 47 private WebsiteData website; 48 49 51 55 public RemoveWebsiteIndexOperation(IndexManagerImpl mgr, WebsiteData website) { 56 super(mgr); 57 this.website = website; 58 } 59 60 62 public void doRun() { 63 Date start = new Date (); 64 IndexReader reader = beginDeleting(); 65 try { 66 if (reader != null) { 67 String handle = null; 68 if (website != null) { 69 handle = website.getHandle(); 70 } 71 Term tHandle = 72 IndexUtil.getTerm(FieldConstants.WEBSITE_HANDLE, handle); 73 74 if (tHandle != null) { 75 reader.delete(tHandle); 76 } 77 } 78 } catch (IOException e) { 79 mLogger.info("Problems deleting doc from index", e); 80 } finally { 81 endDeleting(); 82 } 83 84 Date end = new Date (); 85 double length = (end.getTime() - start.getTime()) / (double) 1000; 86 87 if (website != null) { 88 mLogger.info("Completed deleting indices for website '" + 89 website.getName() + "' in '" + length + "' seconds"); 90 } 91 } 92 } 93 | Popular Tags |