/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
package com.enonic.cms.core.search.result;
import java.util.Set;
import org.jdom.Element;
import org.joda.time.LocalDateTime;
import com.enonic.cms.core.CmsDateAndTimeFormats;
public class DateHistogramFacetResultSetXmlCreator
extends AbstractFacetResultXmlCreator
{
public Element create( DateHistogramFacetResultSet dateHistogramFacetResultSet )
{
final Element rangeFacetRootElement = createFacetRootElement( "date-histogram", dateHistogramFacetResultSet );
final Set<DateHistogramFacetResultEntry> resultEntries = dateHistogramFacetResultSet.getResultEntries();
for ( DateHistogramFacetResultEntry result : resultEntries )
{
Element resultEl = new Element( "interval" );
addAttributeIfNotNull( resultEl, "sum", result.getTotal() );
addAttributeIfNotNull( resultEl, "total-count", result.getTotalCount() );
addAttributeIfNotNull( resultEl, "hits", result.getCount() );
addAttributeIfNotNull( resultEl, "min", result.getMin() );
addAttributeIfNotNull( resultEl, "mean", result.getMean() );
addAttributeIfNotNull( resultEl, "max", result.getMax() );
resultEl.addContent( getTimeAsFormattedString( result ) );
rangeFacetRootElement.addContent( resultEl );
}
return rangeFacetRootElement;
}
private String getTimeAsFormattedString( final DateHistogramFacetResultEntry result )
{
LocalDateTime localDateTime = new LocalDateTime( result.getTime() );
return CmsDateAndTimeFormats.printAs_XML_TIMESTAMP( localDateTime.toDate() );
}
}