/** * $Id: SolrLoggerUsageEventListener.java 4745 2010-02-07 17:44:17Z mdiggory $ * $URL: https://scm.dspace.org/svn/repo/dspace/tags/dspace-1.6.2/dspace-stats/src/main/java/org/dspace/statistics/SolrLoggerUsageEventListener.java $ * ************************************************************************* * Copyright (c) 2002-2009, DuraSpace. All rights reserved * Licensed under the DuraSpace Foundation License. * * A copy of the DuraSpace License has been included in this * distribution and is available at: http://scm.dspace.org/svn/repo/licenses/LICENSE.txt */ package org.dspace.statistics; import org.apache.log4j.Logger; import org.dspace.eperson.EPerson; import org.dspace.services.model.Event; import org.dspace.statistics.util.SpiderDetector; import org.dspace.usage.AbstractUsageEventListener; import org.dspace.usage.UsageEvent; /** * Simple SolrLoggerUsageEvent facade to separate Solr specific * logging implementation from DSpace. * * @author mdiggory * */ public class SolrLoggerUsageEventListener extends AbstractUsageEventListener { private static Logger log = Logger.getLogger(SolrLoggerUsageEventListener.class); public void receiveEvent(Event event) { if(event instanceof UsageEvent) { try{ UsageEvent ue = (UsageEvent)event; EPerson currentUser = ue.getContext() == null ? null : ue.getContext().getCurrentUser(); SolrLogger.post(ue.getObject(), ue.getRequest(), currentUser); } catch(Exception e) { log.error(e.getMessage()); } } } }