blob: 782e33443c9a505700eb09a734937a8e89339ef6 [file] [log] [blame]
package org.apache.continuum.web.action;
import org.apache.continuum.model.project.ProjectScmRoot;
import org.apache.maven.continuum.ContinuumException;
import org.apache.maven.continuum.web.action.ContinuumActionSupport;
import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
import org.apache.maven.continuum.web.util.StateGenerator;
import org.codehaus.plexus.util.StringUtils;
import org.apache.struts2.ServletActionContext;
/**
* @author <a href="mailto:ctan@apache.org">Maria Catherine Tan</a>
* @plexus.component role="com.opensymphony.xwork2.Action" role-hint="scmResult"
*/
public class ScmResultAction
extends ContinuumActionSupport
{
private int projectGroupId;
private int projectScmRootId;
private String projectGroupName;
private String state;
private ProjectScmRoot projectScmRoot;
public String execute()
throws Exception
{
try
{
checkViewProjectGroupAuthorization( getProjectGroupName() );
}
catch ( AuthorizationRequiredException e )
{
return REQUIRES_AUTHORIZATION;
}
projectScmRoot = getContinuum().getProjectScmRoot( projectScmRootId );
state = StateGenerator.generate( projectScmRoot.getState(), ServletActionContext.getRequest().getContextPath() );
return SUCCESS;
}
public int getProjectGroupId()
{
return projectGroupId;
}
public void setProjectGroupId( int projectGroupId )
{
this.projectGroupId = projectGroupId;
}
public int getProjectScmRootId()
{
return projectScmRootId;
}
public void setProjectScmRootId( int projectScmRootId )
{
this.projectScmRootId = projectScmRootId;
}
public ProjectScmRoot getProjectScmRoot()
{
return projectScmRoot;
}
public void setProjectScmRoot( ProjectScmRoot projectScmRoot )
{
this.projectScmRoot = projectScmRoot;
}
public String getProjectGroupName()
throws ContinuumException
{
if ( StringUtils.isEmpty( projectGroupName ) )
{
projectGroupName = getContinuum().getProjectGroup( getProjectGroupId() ).getName();
}
return projectGroupName;
}
public void setProjectGroupName( String projectGroupName )
{
this.projectGroupName = projectGroupName;
}
public String getState()
{
return state;
}
public void setState( String state )
{
this.state = state;
}
}