1 package org.apache.maven.continuum.web.action.notifier;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.continuum.ContinuumException;
23 import org.apache.maven.continuum.model.project.Project;
24 import org.apache.maven.continuum.model.project.ProjectGroup;
25 import org.apache.maven.continuum.model.project.ProjectNotifier;
26 import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
27
28
29
30
31
32 public abstract class AbstractProjectNotifierEditAction
33 extends AbstractNotifierEditActionSupport
34 {
35
36
37
38
39 private int projectId;
40
41
42
43
44 private int projectGroupId;
45
46 private String projectGroupName = "";
47
48
49
50
51
52
53
54
55 protected void saveNotifier( ProjectNotifier notifier )
56 throws ContinuumException
57 {
58 boolean isNew = notifier.getId() <= 0;
59 if ( !isNew )
60 {
61 getContinuum().updateNotifier( projectId, notifier );
62 }
63 else
64 {
65 getContinuum().addNotifier( projectId, notifier );
66 }
67 }
68
69
70
71
72 protected ProjectNotifier getNotifier()
73 throws ContinuumException
74 {
75 return getContinuum().getNotifier( projectId, getNotifierId() );
76 }
77
78
79
80
81
82
83 public int getProjectId()
84 {
85 return projectId;
86 }
87
88
89
90
91
92
93 public void setProjectId( int projectId )
94 {
95 this.projectId = projectId;
96 }
97
98
99
100
101
102
103
104 public int getProjectGroupId()
105 {
106 return projectGroupId;
107 }
108
109
110
111
112
113
114
115 public void setProjectGroupId( int projectGroupId )
116 {
117 this.projectGroupId = projectGroupId;
118 }
119
120 protected void checkAuthorization()
121 throws AuthorizationRequiredException, ContinuumException
122 {
123 if ( getNotifier() == null )
124 {
125 checkAddProjectNotifierAuthorization( getProjectGroupName() );
126 }
127 else
128 {
129 checkModifyProjectNotifierAuthorization( getProjectGroupName() );
130 }
131 }
132
133 public String getProjectGroupName()
134 throws ContinuumException
135 {
136 if ( projectGroupName == null || "".equals( projectGroupName ) )
137 {
138 if ( projectGroupId != 0 )
139 {
140 projectGroupName = getContinuum().getProjectGroup( projectGroupId ).getName();
141 }
142 else
143 {
144 projectGroupName = getContinuum().getProjectGroupByProjectId( projectId ).getName();
145 }
146 }
147
148 return projectGroupName;
149 }
150
151 }