EMMA Coverage Report (generated Sun Sep 18 11:34:27 PHT 2011)
[all classes][org.apache.maven.continuum.web.action]

COVERAGE SUMMARY FOR SOURCE FILE [BuildProjectAction.java]

nameclass, %method, %block, %line, %
BuildProjectAction.java0%   (0/1)0%   (0/13)0%   (0/177)0%   (0/51)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class BuildProjectAction0%   (0/1)0%   (0/13)0%   (0/177)0%   (0/51)
BuildProjectAction (): void 0%   (0/1)0%   (0/12)0%   (0/4)
execute (): String 0%   (0/1)0%   (0/103)0%   (0/27)
getBuildDefinition (): int 0%   (0/1)0%   (0/3)0%   (0/1)
getProjectGroupId (): int 0%   (0/1)0%   (0/3)0%   (0/1)
getProjectGroupName (): String 0%   (0/1)0%   (0/27)0%   (0/5)
getProjectId (): int 0%   (0/1)0%   (0/3)0%   (0/1)
isFromGroupPage (): boolean 0%   (0/1)0%   (0/3)0%   (0/1)
isFromProjectPage (): boolean 0%   (0/1)0%   (0/3)0%   (0/1)
setBuildDefinitionId (int): void 0%   (0/1)0%   (0/4)0%   (0/2)
setFromGroupPage (boolean): void 0%   (0/1)0%   (0/4)0%   (0/2)
setFromProjectPage (boolean): void 0%   (0/1)0%   (0/4)0%   (0/2)
setProjectGroupId (int): void 0%   (0/1)0%   (0/4)0%   (0/2)
setProjectId (int): void 0%   (0/1)0%   (0/4)0%   (0/2)

1package org.apache.maven.continuum.web.action;
2 
3/*
4 * Licensed to the Apache Software Foundation (ASF) under one
5 * or more contributor license agreements.  See the NOTICE file
6 * distributed with this work for additional information
7 * regarding copyright ownership.  The ASF licenses this file
8 * to you under the Apache License, Version 2.0 (the
9 * "License"); you may not use this file except in compliance
10 * with the License.  You may obtain a copy of the License at
11 *
12 *   http://www.apache.org/licenses/LICENSE-2.0
13 *
14 * Unless required by applicable law or agreed to in writing,
15 * software distributed under the License is distributed on an
16 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17 * KIND, either express or implied.  See the License for the
18 * specific language governing permissions and limitations
19 * under the License.
20 */
21 
22import org.apache.maven.continuum.ContinuumException;
23import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
24import org.apache.continuum.web.util.AuditLog;
25import org.apache.continuum.web.util.AuditLogConstants;
26import org.codehaus.plexus.util.StringUtils;
27 
28/**
29 * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
30 * @version $Id: BuildProjectAction.java 790386 2009-07-01 21:27:25Z evenisse $
31 * @plexus.component role="com.opensymphony.xwork2.Action" role-hint="buildProject"
32 */
33public class BuildProjectAction
34    extends ContinuumActionSupport
35{
36    private int projectId;
37 
38    private int buildDefinitionId;
39 
40    private int projectGroupId;
41 
42    private boolean fromGroupPage = false;
43 
44    private boolean fromProjectPage = false;
45 
46    private String projectGroupName = "";
47 
48    public String execute()
49        throws ContinuumException
50    {
51        try
52        {
53            checkBuildProjectInGroupAuthorization( getProjectGroupName() );
54        }
55        catch ( AuthorizationRequiredException e )
56        {
57            return REQUIRES_AUTHORIZATION;
58        }
59 
60        if ( projectId > 0 )
61        {
62            if ( buildDefinitionId > 0 )
63            {
64                getContinuum().buildProjectWithBuildDefinition( projectId, buildDefinitionId );
65            }
66            else
67            {
68                getContinuum().buildProject( projectId );
69            }
70        }
71        else
72        {
73            if ( buildDefinitionId > 0 )
74            {
75                getContinuum().buildProjectGroupWithBuildDefinition( projectGroupId, buildDefinitionId );
76            }
77            else
78            {
79                //TODO: Check if this code is called, I don't think
80                //If it is, it should used the projectId
81                getContinuum().buildProjects();
82            }
83        }
84        
85        AuditLog event = new AuditLog( AuditLogConstants.FORCE_BUILD );
86        event.setCurrentUser( getPrincipal() );
87 
88        if ( projectId > 0 )
89        {
90            event.setResource( "Project id=" + projectId );
91            event.setCategory( AuditLogConstants.PROJECT );
92            event.log();
93 
94            if ( fromGroupPage )
95            {
96                return "to_group_page";
97            }
98            if ( fromProjectPage )
99            {
100                return "to_project_page";
101            }
102        }
103        else
104        {
105            event.setResource( "Project Group id=" + projectGroupId );
106            event.setCategory( AuditLogConstants.PROJECT_GROUP );
107            event.log();
108            if ( fromGroupPage )
109            {
110                return "to_group_page";
111            }
112        }
113 
114        return SUCCESS;
115    }
116 
117    public void setProjectId( int projectId )
118    {
119        this.projectId = projectId;
120    }
121 
122    public int getProjectId()
123    {
124        return projectId;
125    }
126 
127    public void setBuildDefinitionId( int buildDefinitionId )
128    {
129        this.buildDefinitionId = buildDefinitionId;
130    }
131 
132    public int getBuildDefinition()
133    {
134        return buildDefinitionId;
135    }
136 
137    public int getProjectGroupId()
138    {
139        return projectGroupId;
140    }
141 
142    public void setProjectGroupId( int projectGroupId )
143    {
144        this.projectGroupId = projectGroupId;
145    }
146 
147    public boolean isFromGroupPage()
148    {
149        return fromGroupPage;
150    }
151 
152    public void setFromGroupPage( boolean fromGroupPage )
153    {
154        this.fromGroupPage = fromGroupPage;
155    }
156 
157    public boolean isFromProjectPage()
158    {
159        return fromProjectPage;
160    }
161 
162    public void setFromProjectPage( boolean fromProjectPage )
163    {
164        this.fromProjectPage = fromProjectPage;
165    }
166 
167    public String getProjectGroupName()
168        throws ContinuumException
169    {
170        if ( StringUtils.isEmpty( projectGroupName ) )
171        {
172            if ( projectGroupId != 0 )
173            {
174                projectGroupName = getContinuum().getProjectGroup( projectGroupId ).getName();
175            }
176            else
177            {
178                projectGroupName = getContinuum().getProjectGroupByProjectId( projectId ).getName();
179            }
180        }
181 
182        return projectGroupName;
183    }
184}

[all classes][org.apache.maven.continuum.web.action]
EMMA 2.0.5312 (C) Vladimir Roubtsov