package pl.edu.icm.saos.search.analysis.solr.result; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import pl.edu.icm.saos.common.chart.Series; import pl.edu.icm.saos.search.analysis.request.XSettings; import com.google.common.base.Preconditions; /** * Converts list of {@link FacetCount}s to {@link Series} * * @author madryk */ @Service public class FacetToSeriesConverter { private FacetValueConverterManager facetValueConverterManager; //------------------------ LOGIC -------------------------- /** * Converts the given facet counts to Series */ public Series<Object, Integer> convert(List<FacetCount> facetCounts, XSettings xsettings) { Preconditions.checkNotNull(facetCounts); Preconditions.checkNotNull(xsettings); FacetValueConverter xValueConverter = facetValueConverterManager.getConverter(xsettings); Series<Object, Integer> series = new Series<Object, Integer>(); for (FacetCount count : facetCounts) { series.addPoint(xValueConverter.convert(count.getValue(), xsettings), count.getCount()); } return series; } //------------------------ SETTERS -------------------------- @Autowired public void setFacetValueConverterManager(FacetValueConverterManager facetValueConverterManager) { this.facetValueConverterManager = facetValueConverterManager; } }