~dhis2-devs-core/dhis2/dhis2-ccei-2.18

« back to all changes in this revision

Viewing changes to local/dhis2-ccei/dhis-web-dataentry-ccei/src/main/java/org/hisp/dhis/dataentry/action/LoadPeriodsAction.java

  • Committer: Mithilesh Kumar Thakur
  • Date: 2015-04-14 05:54:54 UTC
  • Revision ID: mithilesh.hisp@gmail.com-20150414055454-ycdct9ec8ih0iwuq
Add ccei module

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
package org.hisp.dhis.dataentry.action;
 
2
 
 
3
import java.util.ArrayList;
 
4
import java.util.Calendar;
 
5
import java.util.Collection;
 
6
import java.util.Collections;
 
7
import java.util.List;
 
8
 
 
9
import org.hisp.dhis.dataset.DataSet;
 
10
import org.hisp.dhis.dataset.DataSetService;
 
11
import org.hisp.dhis.i18n.I18nFormat;
 
12
import org.hisp.dhis.period.CalendarPeriodType;
 
13
import org.hisp.dhis.period.Period;
 
14
import org.hisp.dhis.period.PeriodType;
 
15
import org.hisp.dhis.system.filter.PastAndCurrentPeriodFilter;
 
16
import org.hisp.dhis.system.util.FilterUtils;
 
17
 
 
18
import com.opensymphony.xwork2.Action;
 
19
 
 
20
/**
 
21
 * @author Mithilesh Kumar Thakur
 
22
 */
 
23
 
 
24
public class LoadPeriodsAction implements Action
 
25
{
 
26
    // -------------------------------------------------------------------------
 
27
    // Dependencies
 
28
    // -------------------------------------------------------------------------
 
29
 
 
30
    private DataSetService dataSetService;
 
31
    
 
32
    public void setDataSetService( DataSetService dataSetService )
 
33
    {
 
34
        this.dataSetService = dataSetService;
 
35
    }
 
36
    
 
37
    private I18nFormat format;
 
38
 
 
39
    public void setFormat( I18nFormat format )
 
40
    {
 
41
        this.format = format;
 
42
    }
 
43
 
 
44
    // -------------------------------------------------------------------------
 
45
    // Input
 
46
    // -------------------------------------------------------------------------
 
47
    
 
48
    private int dataSetId;
 
49
    
 
50
    public void setDataSetId( int dataSetId )
 
51
    {
 
52
        this.dataSetId = dataSetId;
 
53
    }
 
54
    
 
55
    // -------------------------------------------------------------------------
 
56
    // Output
 
57
    // -------------------------------------------------------------------------
 
58
 
 
59
 
 
60
    private List<Period> periods = new ArrayList<Period>();
 
61
 
 
62
    public Collection<Period> getPeriods()
 
63
    {
 
64
        return periods;
 
65
    }
 
66
 
 
67
    // -------------------------------------------------------------------------
 
68
    // Action implementation
 
69
    // -------------------------------------------------------------------------
 
70
 
 
71
    public String execute() throws Exception
 
72
    { 
 
73
        
 
74
        DataSet dataset = dataSetService.getDataSet( dataSetId );
 
75
        
 
76
        String periodType = dataset.getPeriodType().getName();
 
77
        
 
78
        CalendarPeriodType _periodType = (CalendarPeriodType) CalendarPeriodType.getPeriodTypeByName( periodType );
 
79
        
 
80
        Calendar cal = PeriodType.createCalendarInstance();
 
81
        
 
82
        periods = _periodType.generatePeriods( cal.getTime() );
 
83
        
 
84
        //periods = new ArrayList<Period>( periodService.getPeriodsByPeriodType( periodType ) );
 
85
        
 
86
        FilterUtils.filter( periods, new PastAndCurrentPeriodFilter() );
 
87
 
 
88
        Collections.reverse( periods );
 
89
        //Collections.sort( periods );
 
90
        for ( Period period : periods )
 
91
        {
 
92
            //System.out.println("ISO Date : " + period.getIsoDate() );
 
93
            
 
94
            period.setName( format.formatPeriod( period ) );
 
95
        }
 
96
        
 
97
        return SUCCESS;
 
98
    }
 
99
}
 
100