1 | package org.apache.continuum.web.action; |
2 | |
3 | import org.apache.continuum.model.project.ProjectScmRoot; |
4 | import org.apache.maven.continuum.ContinuumException; |
5 | import org.apache.maven.continuum.web.action.ContinuumActionSupport; |
6 | import org.apache.maven.continuum.web.exception.AuthorizationRequiredException; |
7 | import org.apache.maven.continuum.web.util.StateGenerator; |
8 | |
9 | import org.apache.struts2.ServletActionContext; |
10 | |
11 | /** |
12 | * @author <a href="mailto:ctan@apache.org">Maria Catherine Tan</a> |
13 | * @plexus.component role="com.opensymphony.xwork2.Action" role-hint="scmResult" |
14 | */ |
15 | public class ScmResultAction |
16 | extends ContinuumActionSupport |
17 | { |
18 | private int projectGroupId; |
19 | |
20 | private int projectScmRootId; |
21 | |
22 | private String projectGroupName; |
23 | |
24 | private String state; |
25 | |
26 | private ProjectScmRoot projectScmRoot; |
27 | |
28 | public String execute() |
29 | throws Exception |
30 | { |
31 | try |
32 | { |
33 | checkViewProjectGroupAuthorization( getProjectGroupName() ); |
34 | } |
35 | catch ( AuthorizationRequiredException e ) |
36 | { |
37 | return REQUIRES_AUTHORIZATION; |
38 | } |
39 | |
40 | projectScmRoot = getContinuum().getProjectScmRoot( projectScmRootId ); |
41 | |
42 | state = StateGenerator.generate( projectScmRoot.getState(), ServletActionContext.getRequest().getContextPath() ); |
43 | |
44 | return SUCCESS; |
45 | } |
46 | |
47 | public int getProjectGroupId() |
48 | { |
49 | return projectGroupId; |
50 | } |
51 | |
52 | public void setProjectGroupId( int projectGroupId ) |
53 | { |
54 | this.projectGroupId = projectGroupId; |
55 | } |
56 | |
57 | public int getProjectScmRootId() |
58 | { |
59 | return projectScmRootId; |
60 | } |
61 | |
62 | public void setProjectScmRootId( int projectScmRootId ) |
63 | { |
64 | this.projectScmRootId = projectScmRootId; |
65 | } |
66 | |
67 | public ProjectScmRoot getProjectScmRoot() |
68 | { |
69 | return projectScmRoot; |
70 | } |
71 | |
72 | public void setProjectScmRoot( ProjectScmRoot projectScmRoot ) |
73 | { |
74 | this.projectScmRoot = projectScmRoot; |
75 | } |
76 | |
77 | public String getProjectGroupName() |
78 | throws ContinuumException |
79 | { |
80 | projectGroupName = getContinuum().getProjectGroup( getProjectGroupId() ).getName(); |
81 | |
82 | return projectGroupName; |
83 | } |
84 | |
85 | public void setProjectGroupName( String projectGroupName ) |
86 | { |
87 | this.projectGroupName = projectGroupName; |
88 | } |
89 | |
90 | public String getState() |
91 | { |
92 | return state; |
93 | } |
94 | |
95 | public void setState( String state ) |
96 | { |
97 | this.state = state; |
98 | } |
99 | } |