Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.statistics.service;
import java.io.IOException;
import java.net.UnknownHostException;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrInputDocument;
import org.dspace.content.DSpaceObject;
import org.dspace.core.Context;
import org.dspace.eperson.EPerson;
import org.dspace.statistics.ObjectCount;
import org.dspace.usage.UsageWorkflowEvent;
/**
* Static holder for a HttpSolrClient connection pool to issue
* usage logging events to Solr from DSpace libraries, and some static query
* composers.
*
* @author ben at atmire.com
* @author kevinvandevelde at atmire.com
* @author mdiggory at atmire.com
*/
public interface SolrLoggerService {
/**
* Old post method, use the new {@link #postView} method instead !
*
* @param dspaceObject the object used.
* @param request the current request context.
* @param currentUser the current session's user.
* @deprecated
*/
@Deprecated
public void post(DSpaceObject dspaceObject, HttpServletRequest request,
EPerson currentUser);
/**
* Store a usage event into Solr.
*
* @param dspaceObject the object used.
* @param request the current request context.
* @param currentUser the current session's user.
*/
public void postView(DSpaceObject dspaceObject, HttpServletRequest request,
EPerson currentUser);
public void postView(DSpaceObject dspaceObject,
String ip, String userAgent, String xforwardedfor, EPerson currentUser);
public void postSearch(DSpaceObject resultObject, HttpServletRequest request, EPerson currentUser,
List queries, int rpp, String sortBy, String order, int page, DSpaceObject scope);
public void postWorkflow(UsageWorkflowEvent usageWorkflowEvent) throws SQLException;
/**
* Method just used to log the parents.
*
*
Community log: owning comms.
*
Collection log: owning comms and their comms.
*
Item log: owning colls/comms.
*
Bitstream log: owning item/colls/comms.
*
*
* @param doc1 the current SolrInputDocument
* @param dso the current dspace object we want to log
* @throws SQLException if database error
* ignore it
*/
public void storeParents(SolrInputDocument doc1, DSpaceObject dso)
throws SQLException;
public boolean isUseProxies();
/**
* Delete data from the index, as described by a query.
*
* @param query description of the records to be deleted.
* @throws IOException A general class of exceptions produced by failed or interrupted I/O operations.
* @throws SolrServerException Exception from the Solr server to the solrj Java client.
*/
public void removeIndex(String query)
throws IOException, SolrServerException;
public Map> queryField(String query,
List oldFieldVals, String field)
throws IOException;
public void markRobotsByIP();
public void markRobotByUserAgent(String agent);
public void deleteRobotsByIsBotFlag();
public void deleteIP(String ip);
public void deleteRobotsByIP();
/*
* update(String query, boolean addField, String fieldName, Object
* fieldValue, Object oldFieldValue) throws SolrServerException, IOException
* { List