~stian-sandvold/dhis2/UserSettingFallback

« back to all changes in this revision

Viewing changes to dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/java/org/hisp/dhis/trackedentity/action/caseaggregation/TestCaseAggregationConditionAction.java

  • Committer: Stian Sandvold
  • Date: 2016-03-14 12:16:33 UTC
  • mfrom: (21871.1.422 dhis2)
  • Revision ID: stian.sandvold@gmail.com-20160314121633-ojggeaoszdunzltj
merge

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
package org.hisp.dhis.trackedentity.action.caseaggregation;
2
 
 
3
 
/*
4
 
 * Copyright (c) 2004-2016, University of Oslo
5
 
 * All rights reserved.
6
 
 *
7
 
 * Redistribution and use in source and binary forms, with or without
8
 
 * modification, are permitted provided that the following conditions are met:
9
 
 * Redistributions of source code must retain the above copyright notice, this
10
 
 * list of conditions and the following disclaimer.
11
 
 *
12
 
 * Redistributions in binary form must reproduce the above copyright notice,
13
 
 * this list of conditions and the following disclaimer in the documentation
14
 
 * and/or other materials provided with the distribution.
15
 
 * Neither the name of the HISP project nor the names of its contributors may
16
 
 * be used to endorse or promote products derived from this software without
17
 
 * specific prior written permission.
18
 
 *
19
 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
20
 
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21
 
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22
 
 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
23
 
 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24
 
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25
 
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
26
 
 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
 
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28
 
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
 
 */
30
 
 
31
 
import java.util.Collection;
32
 
import java.util.Date;
33
 
import java.util.HashSet;
34
 
import java.util.List;
35
 
 
36
 
import org.hisp.dhis.caseaggregation.CaseAggregationConditionService;
37
 
import org.hisp.dhis.period.MonthlyPeriodType;
38
 
import org.hisp.dhis.period.Period;
39
 
 
40
 
import com.opensymphony.xwork2.Action;
41
 
 
42
 
/**
43
 
 * @author Chau Thu Tran
44
 
 */
45
 
public class TestCaseAggregationConditionAction
46
 
    implements Action
47
 
{
48
 
    // -------------------------------------------------------------------------
49
 
    // Dependency
50
 
    // -------------------------------------------------------------------------
51
 
 
52
 
    private CaseAggregationConditionService caseAggregationConditionService;
53
 
 
54
 
    public void setCaseAggregationConditionService( CaseAggregationConditionService caseAggregationConditionService )
55
 
    {
56
 
        this.caseAggregationConditionService = caseAggregationConditionService;
57
 
    }
58
 
 
59
 
    // -------------------------------------------------------------------------
60
 
    // Getters && Setters
61
 
    // -------------------------------------------------------------------------
62
 
 
63
 
    private String condition;
64
 
 
65
 
    public void setCondition( String condition )
66
 
    {
67
 
        this.condition = condition;
68
 
    }
69
 
 
70
 
    private String operator;
71
 
 
72
 
    public void setOperator( String operator )
73
 
    {
74
 
        this.operator = operator;
75
 
    }
76
 
 
77
 
    private Integer deSumId;
78
 
 
79
 
    public void setDeSumId( Integer deSumId )
80
 
    {
81
 
        this.deSumId = deSumId;
82
 
    }
83
 
 
84
 
    private String message;
85
 
 
86
 
    public String getMessage()
87
 
    {
88
 
        return message;
89
 
    }
90
 
 
91
 
    // -------------------------------------------------------------------------
92
 
    // Action implementation
93
 
    // -------------------------------------------------------------------------
94
 
 
95
 
    @Override
96
 
    public String execute()
97
 
        throws Exception
98
 
    {
99
 
        Collection<Integer> orgunitIds = new HashSet<>();
100
 
        orgunitIds.add( 0 );
101
 
 
102
 
        MonthlyPeriodType periodType = new MonthlyPeriodType();
103
 
        Period period = new Period();
104
 
        period.setStartDate( new Date() );
105
 
        period.setEndDate( new Date() );
106
 
        period.setPeriodType( periodType );
107
 
 
108
 
        String sql = caseAggregationConditionService.parseExpressionToSql( false, condition, operator, 0,
109
 
            "dataelementname", 0, "optioncomboid", deSumId, orgunitIds, period );
110
 
 
111
 
        List<Integer> ids = caseAggregationConditionService.executeSQL( sql );
112
 
        
113
 
        return (ids == null) ? INPUT : SUCCESS;
114
 
    }
115
 
}