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: AddRoleAction.java 5701 2008-09-14 20:34:46Z larshelg $
46
public class AddRoleAction
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 setName( String rolename )
85
private String description;
87
public void setDescription( String description )
89
this.description = description;
92
private Collection<String> selectedList = new ArrayList<String>();
94
public void setSelectedList( Collection<String> selectedList )
96
this.selectedList = selectedList;
99
private Collection<String> selectedListReport = new ArrayList<String>();
101
public void setSelectedListReport( Collection<String> selectedListReport )
103
this.selectedListReport = selectedListReport;
106
private Collection<String> selectedListAuthority = new ArrayList<String>();
108
public void setSelectedListAuthority( Collection<String> selectedListAuthority )
110
this.selectedListAuthority = selectedListAuthority;
113
// -------------------------------------------------------------------------
114
// Action implementation
115
// -------------------------------------------------------------------------
117
public String execute()
120
UserAuthorityGroup group = new UserAuthorityGroup();
122
group.setName( name );
123
group.setDescription( description );
125
for ( String id : selectedList )
127
DataSet dataSet = dataSetService.getDataSet( Integer.parseInt( id ) );
129
group.getDataSets().add( dataSet );
132
for ( String id : selectedListReport )
134
Report report = reportStore.getReport( Integer.parseInt( id ) );
136
group.getReports().add( report );
139
group.getAuthorities().addAll( selectedListAuthority );
141
userStore.addUserAuthorityGroup( group );