~mortenoh/+junk/dhis2-detailed-import-export

« back to all changes in this revision

Viewing changes to dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/java/org/hisp/dhis/user/action/AddRoleAction.java

  • Committer: larshelge at gmail
  • Date: 2009-03-03 16:46:36 UTC
  • Revision ID: larshelge@gmail.com-20090303164636-2sjlrquo7ib1gf7r
Initial check-in

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
package org.hisp.dhis.user.action;
 
2
 
 
3
/*
 
4
 * Copyright (c) 2004-2007, 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
 * * 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.
 
17
 *
 
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.
 
28
 */
 
29
 
 
30
import java.util.ArrayList;
 
31
import java.util.Collection;
 
32
 
 
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;
 
39
 
 
40
import com.opensymphony.xwork.Action;
 
41
 
 
42
/**
 
43
 * @author Thanh Nguyen
 
44
 * @version $Id: AddRoleAction.java 5701 2008-09-14 20:34:46Z larshelg $
 
45
 */
 
46
public class AddRoleAction
 
47
    implements Action
 
48
{
 
49
    // -------------------------------------------------------------------------
 
50
    // Dependencies
 
51
    // -------------------------------------------------------------------------
 
52
 
 
53
    private UserStore userStore;
 
54
 
 
55
    public void setUserStore( UserStore userStore )
 
56
    {
 
57
        this.userStore = userStore;
 
58
    }
 
59
 
 
60
    private DataSetService dataSetService;
 
61
 
 
62
    public void setDataSetService( DataSetService dataSetService )
 
63
    {
 
64
        this.dataSetService = dataSetService;
 
65
    }
 
66
 
 
67
    private ReportStore reportStore;
 
68
 
 
69
    public void setReportStore( ReportStore reportStore )
 
70
    {
 
71
        this.reportStore = reportStore;
 
72
    }
 
73
    
 
74
    // -------------------------------------------------------------------------
 
75
    // Input
 
76
    // -------------------------------------------------------------------------
 
77
 
 
78
    private String name;
 
79
 
 
80
    public void setName( String rolename )
 
81
    {
 
82
        this.name = rolename;
 
83
    }
 
84
    
 
85
    private String description;
 
86
 
 
87
    public void setDescription( String description )
 
88
    {
 
89
        this.description = description;
 
90
    }
 
91
    
 
92
    private Collection<String> selectedList = new ArrayList<String>();
 
93
 
 
94
    public void setSelectedList( Collection<String> selectedList )
 
95
    {
 
96
        this.selectedList = selectedList;
 
97
    }
 
98
 
 
99
    private Collection<String> selectedListReport = new ArrayList<String>();
 
100
 
 
101
    public void setSelectedListReport( Collection<String> selectedListReport )
 
102
    {
 
103
        this.selectedListReport = selectedListReport;
 
104
    }
 
105
    
 
106
    private Collection<String> selectedListAuthority = new ArrayList<String>();
 
107
 
 
108
    public void setSelectedListAuthority( Collection<String> selectedListAuthority )
 
109
    {
 
110
        this.selectedListAuthority = selectedListAuthority;
 
111
    }
 
112
 
 
113
    // -------------------------------------------------------------------------
 
114
    // Action implementation
 
115
    // -------------------------------------------------------------------------
 
116
 
 
117
    public String execute()
 
118
        throws Exception
 
119
    {
 
120
        UserAuthorityGroup group = new UserAuthorityGroup();
 
121
 
 
122
        group.setName( name );
 
123
        group.setDescription( description );
 
124
 
 
125
        for ( String id : selectedList )
 
126
        {
 
127
            DataSet dataSet = dataSetService.getDataSet( Integer.parseInt( id ) );
 
128
 
 
129
            group.getDataSets().add( dataSet );
 
130
        }
 
131
        
 
132
        for ( String id : selectedListReport )
 
133
        {
 
134
            Report report = reportStore.getReport( Integer.parseInt( id ) );
 
135
            
 
136
            group.getReports().add( report );
 
137
        }
 
138
 
 
139
        group.getAuthorities().addAll( selectedListAuthority );
 
140
 
 
141
        userStore.addUserAuthorityGroup( group );
 
142
 
 
143
        return SUCCESS;
 
144
    }
 
145
}