View Javadoc

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  }