1
package org.hisp.dhis.user.action;
4
* Copyright (c) 2004-2007, University of Oslo
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
* * Redistributions in binary form must reproduce the above copyright notice,
12
* this list of conditions and the following disclaimer in the documentation
13
* and/or other materials provided with the distribution.
14
* * Neither the name of the HISP project nor the names of its contributors may
15
* be used to endorse or promote products derived from this software without
16
* specific prior written permission.
18
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
22
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
25
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
import java.util.ArrayList;
31
import java.util.Collection;
33
import org.hisp.dhis.dataset.DataSet;
34
import org.hisp.dhis.dataset.DataSetService;
35
import org.hisp.dhis.report.Report;
36
import org.hisp.dhis.report.ReportStore;
37
import org.hisp.dhis.user.UserAuthorityGroup;
38
import org.hisp.dhis.user.UserStore;
40
import com.opensymphony.xwork.Action;
43
* @author Thanh Nguyen
44
* @version $Id: UpdateRoleAction.java 5701 2008-09-14 20:34:46Z larshelg $
46
public class UpdateRoleAction
49
// -------------------------------------------------------------------------
51
// -------------------------------------------------------------------------
53
private UserStore userStore;
55
public void setUserStore( UserStore userStore )
57
this.userStore = userStore;
60
private DataSetService dataSetService;
62
public void setDataSetService( DataSetService dataSetService )
64
this.dataSetService = dataSetService;
67
private ReportStore reportStore;
69
public void setReportStore( ReportStore reportStore )
71
this.reportStore = reportStore;
74
// -------------------------------------------------------------------------
76
// -------------------------------------------------------------------------
80
public void setId( Integer id )
87
public void setName( String rolename )
92
private String description;
94
public void setDescription( String description )
96
this.description = description;
99
private Collection<String> selectedList = new ArrayList<String>();
101
public void setSelectedList( Collection<String> selectedList )
103
this.selectedList = selectedList;
106
private Collection<String> selectedListReport = new ArrayList<String>();
108
public void setSelectedListReport( Collection<String> selectedListReport )
110
this.selectedListReport = selectedListReport;
113
private Collection<String> selectedListAuthority = new ArrayList<String>();
115
public void setSelectedListAuthority( Collection<String> selectedListAuthority )
117
this.selectedListAuthority = selectedListAuthority;
120
// -------------------------------------------------------------------------
121
// Action implementation
122
// -------------------------------------------------------------------------
124
public String execute()
127
UserAuthorityGroup group = userStore.getUserAuthorityGroup( id );
129
group.setName( name );
130
group.setDescription( description );
132
group.getDataSets().clear();
133
group.getReports().clear();
134
group.getAuthorities().clear();
136
for ( String id : selectedList )
138
DataSet dataSet = dataSetService.getDataSet( Integer.parseInt( id ) );
140
group.getDataSets().add( dataSet );
143
for ( String id : selectedListReport )
145
Report report = reportStore.getReport( Integer.parseInt( id ) );
147
group.getReports().add( report );
150
group.getAuthorities().addAll( selectedListAuthority );
152
userStore.updateUserAuthorityGroup( group );