2
* Copyright (c) 2004-2009, University of Oslo
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions are met:
7
* * Redistributions of source code must retain the above copyright notice, this
8
* list of conditions and the following disclaimer.
9
* * Redistributions in binary form must reproduce the above copyright notice,
10
* this list of conditions and the following disclaimer in the documentation
11
* and/or other materials provided with the distribution.
12
* * Neither the name of the HISP project nor the names of its contributors may
13
* be used to endorse or promote products derived from this software without
14
* specific prior written permission.
16
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
20
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
23
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
package org.hisp.dhis.patient.action.caseaggregation;
30
import java.util.ArrayList;
31
import java.util.Collections;
32
import java.util.List;
34
import org.hisp.dhis.caseaggregation.CaseAggregationCondition;
35
import org.hisp.dhis.caseaggregation.CaseAggregationConditionService;
36
import org.hisp.dhis.dataelement.DataElement;
37
import org.hisp.dhis.dataelement.DataElementGroup;
38
import org.hisp.dhis.dataelement.DataElementService;
39
import org.hisp.dhis.dataelement.comparator.DataElementGroupNameComparator;
40
import org.hisp.dhis.patient.PatientAttribute;
41
import org.hisp.dhis.patient.PatientAttributeService;
42
import org.hisp.dhis.patient.comparator.PatientAttributeComparator;
43
import org.hisp.dhis.program.Program;
44
import org.hisp.dhis.program.ProgramService;
45
import org.hisp.dhis.program.comparator.ProgramNameComparator;
47
import com.opensymphony.xwork2.Action;
50
* @author Chau Thu Tran
51
* @version $ ShowUpdateCaseAggregationForm.java May 26, 2011 11:43:19 AM $
54
public class ShowUpdateCaseAggregationConditionFormAction
57
// -------------------------------------------------------------------------
59
// -------------------------------------------------------------------------
61
private CaseAggregationConditionService aggregationConditionService;
63
public DataElementService dataElementService;
65
public ProgramService programService;
67
private PatientAttributeService patientAttributeService;
69
// -------------------------------------------------------------------------
71
// -------------------------------------------------------------------------
75
private CaseAggregationCondition caseAggregation;
77
private String description;
79
private List<PatientAttribute> patientAttributes;
81
private List<DataElementGroup> dataElementGroups;
83
private List<DataElement> dataElements;
85
private List<Program> programs;
87
// -------------------------------------------------------------------------
89
// -------------------------------------------------------------------------
91
public void setAggregationConditionService( CaseAggregationConditionService aggregationConditionService )
93
this.aggregationConditionService = aggregationConditionService;
96
public void setDataElementService( DataElementService dataElementService )
98
this.dataElementService = dataElementService;
101
public void setProgramService( ProgramService programService )
103
this.programService = programService;
106
public void setPatientAttributeService( PatientAttributeService patientAttributeService )
108
this.patientAttributeService = patientAttributeService;
111
public void setId( Integer id )
116
public String getDescription()
121
public CaseAggregationCondition getCaseAggregation()
123
return caseAggregation;
126
public List<DataElementGroup> getDataElementGroups()
128
return dataElementGroups;
131
public List<Program> getPrograms()
136
public List<DataElement> getDataElements()
141
public List<PatientAttribute> getPatientAttributes()
143
return patientAttributes;
146
// -------------------------------------------------------------------------
147
// Action implementation
148
// -------------------------------------------------------------------------
151
public String execute()
154
dataElementGroups = new ArrayList<DataElementGroup>( dataElementService.getAllDataElementGroups() );
155
Collections.sort( dataElementGroups, new DataElementGroupNameComparator() );
157
programs = new ArrayList<Program>( programService.getAllPrograms() );
158
Collections.sort( programs, new ProgramNameComparator() );
160
patientAttributes = new ArrayList<PatientAttribute>( patientAttributeService.getAllPatientAttributes() );
161
Collections.sort( patientAttributes, new PatientAttributeComparator() );
163
caseAggregation = aggregationConditionService.getCaseAggregationCondition( id );
164
description = aggregationConditionService.getConditionDescription( caseAggregation.getAggregationExpression() );
b'\\ No newline at end of file'