package org.infoglue.deliver.util;
import org.apache.log4j.Logger;
import org.infoglue.cms.controllers.kernel.impl.simple.LuceneController;
import org.infoglue.cms.util.NotificationMessage;
public class SearchIndexHelper implements Runnable
{
public final static Logger logger = Logger.getLogger(SearchIndexHelper.class.getName());
private NotificationMessage notificationMessage = null;
private Long delay = null;
public SearchIndexHelper(NotificationMessage notificationMessage)
{
this.notificationMessage = notificationMessage;
}
public SearchIndexHelper(NotificationMessage notificationMessage, Long delay)
{
this.notificationMessage = notificationMessage;
this.delay = delay;
}
public void run()
{
logger.info("Going to index in SIH:" + notificationMessage.getClassName() + ":" + notificationMessage.getObjectId() + ":" + notificationMessage.getType());
try
{
LuceneController.getController().notify(this.notificationMessage);
if(delay != null)
Thread.sleep(delay);
LuceneController.getController().notifyListeners(true, true);
logger.info("------------------------------------------->Done indexing in search index helper");
}
catch (Exception e)
{
logger.error("Error:" + e.getMessage());
}
}
}