package it.cnr.isti.driver.web;

import it.cnr.isti.driver.utils.ODL_EPR;
import it.cnr.isti.driver.utils.ResultSet;
import it.cnr.isti.driver.utils.SearchServiceLocator;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;

public class SynchronousSearchEngine implements SearchEngine {

	protected Log log = LogFactory.getLog(SynchronousSearchEngine.class);

	@Autowired
	protected SearchServiceLocator searchLocator;

	public ResultSet resultSetForQueryOrEpr(String query, ODL_EPR epr) {
		if (epr == null) {
			log.debug("executing query:" + query);
			epr = searchLocator.getService().search(query);
		}
		return new ResultSet(epr);
	}

	/*
	 * nop
	 * 
	 * @see it.cnr.isti.driver.web.SearchEngine#prepareQuery(java.lang.String)
	 */
	public void prepareQuery(String cqlQuery) {
	}

	public SearchServiceLocator getSearchLocator() {
		return searchLocator;
	}

	public void setSearchLocator(SearchServiceLocator searchLocator) {
		this.searchLocator = searchLocator;
	}

}
