Package org.dspace.app.cris.statistics

Source Code of org.dspace.app.cris.statistics.YearsAdditionalStatisticsData

/**
* 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
*
* https://github.com/CILEA/dspace-cris/wiki/License
*/
package org.dspace.app.cris.statistics;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import javax.servlet.http.HttpServletRequest;

import org.apache.solr.common.SolrInputDocument;
import org.dspace.content.DSpaceObject;
import org.dspace.statistics.SolrLogger;
import org.dspace.statistics.StatisticsMetadataGenerator;

public class YearsAdditionalStatisticsData implements
        StatisticsMetadataGenerator
{
    private Calendar startFiscalYear = null;
   
    public YearsAdditionalStatisticsData()
    {
        startFiscalYear = Calendar.getInstance();
        startFiscalYear.set(Calendar.MONTH, Calendar.JULY);
        startFiscalYear.set(Calendar.DAY_OF_MONTH, 1);
    }
   
    @Override
    public void addMetadata(SolrInputDocument doc1, HttpServletRequest request,
            DSpaceObject dspaceObject)
    {
        Date date = null;
        try
        {
            date = (Date) doc1.getFieldValue("time");
        }
        catch (ClassCastException e) {
            String dateString = (String) doc1.getFieldValue("time");
            SimpleDateFormat sdf = new SimpleDateFormat(SolrLogger.DATE_FORMAT_8601);
            try
            {
                date = sdf.parse(dateString);
            }
            catch (ParseException e1)
            {               
            }
        }
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
       
        int solarYear = cal.get(Calendar.YEAR);
        int fiscalYear = solarYear;
        if (cal.compareTo(startFiscalYear) < 0)
        {
            fiscalYear--;
        }
        doc1.addField("solarYear", solarYear);
        doc1.addField("fiscalYear", fiscalYear);
    }

}
TOP

Related Classes of org.dspace.app.cris.statistics.YearsAdditionalStatisticsData

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.