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 [BuildDefinitionAction.java]

nameclass, %method, %block, %line, %
BuildDefinitionAction.java0%   (0/1)0%   (0/49)0%   (0/962)0%   (0/247)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class BuildDefinitionAction0%   (0/1)0%   (0/49)0%   (0/962)0%   (0/247)
BuildDefinitionAction (): void 0%   (0/1)0%   (0/15)0%   (0/5)
getArguments (): String 0%   (0/1)0%   (0/3)0%   (0/1)
getBuildDefinitionFromInput (): BuildDefinition 0%   (0/1)0%   (0/84)0%   (0/22)
getBuildDefinitionId (): int 0%   (0/1)0%   (0/3)0%   (0/1)
getBuildDefinitionType (): String 0%   (0/1)0%   (0/3)0%   (0/1)
getBuildDefinitionTypes (): List 0%   (0/1)0%   (0/3)0%   (0/1)
getBuildFile (): String 0%   (0/1)0%   (0/3)0%   (0/1)
getDescription (): String 0%   (0/1)0%   (0/3)0%   (0/1)
getExecutor (): String 0%   (0/1)0%   (0/3)0%   (0/1)
getGoals (): String 0%   (0/1)0%   (0/3)0%   (0/1)
getProfileId (): int 0%   (0/1)0%   (0/3)0%   (0/1)
getProfiles (): List 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/31)0%   (0/5)
getProjectId (): int 0%   (0/1)0%   (0/3)0%   (0/1)
getScheduleId (): int 0%   (0/1)0%   (0/3)0%   (0/1)
getSchedules (): Map 0%   (0/1)0%   (0/3)0%   (0/1)
input (): String 0%   (0/1)0%   (0/251)0%   (0/60)
isAlwaysBuild (): boolean 0%   (0/1)0%   (0/3)0%   (0/1)
isBuildFresh (): boolean 0%   (0/1)0%   (0/3)0%   (0/1)
isConfirmed (): boolean 0%   (0/1)0%   (0/3)0%   (0/1)
isDefaultBuildDefinition (): boolean 0%   (0/1)0%   (0/3)0%   (0/1)
isGroupBuildDefinition (): boolean 0%   (0/1)0%   (0/3)0%   (0/1)
isGroupBuildView (): boolean 0%   (0/1)0%   (0/3)0%   (0/1)
prepare (): void 0%   (0/1)0%   (0/69)0%   (0/14)
removeFromProject (): String 0%   (0/1)0%   (0/74)0%   (0/16)
removeFromProjectGroup (): String 0%   (0/1)0%   (0/74)0%   (0/16)
saveBuildDefinition (): String 0%   (0/1)0%   (0/12)0%   (0/3)
saveToGroup (): String 0%   (0/1)0%   (0/131)0%   (0/28)
saveToProject (): String 0%   (0/1)0%   (0/85)0%   (0/20)
setAlwaysBuild (boolean): void 0%   (0/1)0%   (0/4)0%   (0/2)
setArguments (String): void 0%   (0/1)0%   (0/4)0%   (0/2)
setBuildDefinitionId (int): void 0%   (0/1)0%   (0/4)0%   (0/2)
setBuildDefinitionType (String): void 0%   (0/1)0%   (0/4)0%   (0/2)
setBuildFile (String): void 0%   (0/1)0%   (0/4)0%   (0/2)
setBuildFresh (boolean): void 0%   (0/1)0%   (0/4)0%   (0/2)
setConfirmed (boolean): void 0%   (0/1)0%   (0/4)0%   (0/2)
setDefaultBuildDefinition (boolean): void 0%   (0/1)0%   (0/4)0%   (0/2)
setDescription (String): void 0%   (0/1)0%   (0/4)0%   (0/2)
setExecutor (String): void 0%   (0/1)0%   (0/4)0%   (0/2)
setGoals (String): void 0%   (0/1)0%   (0/4)0%   (0/2)
setGroupBuildDefinition (boolean): void 0%   (0/1)0%   (0/4)0%   (0/2)
setGroupBuildView (boolean): void 0%   (0/1)0%   (0/4)0%   (0/2)
setProfileId (int): void 0%   (0/1)0%   (0/4)0%   (0/2)
setProfiles (List): 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)
setScheduleId (int): void 0%   (0/1)0%   (0/4)0%   (0/2)
setSchedules (Map): 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 java.util.ArrayList;
23import java.util.Collection;
24import java.util.HashMap;
25import java.util.List;
26import java.util.Map;
27 
28import org.apache.maven.continuum.ContinuumException;
29import org.apache.maven.continuum.builddefinition.BuildDefinitionService;
30import org.apache.maven.continuum.builddefinition.BuildDefinitionServiceException;
31import org.apache.maven.continuum.execution.ContinuumBuildExecutorConstants;
32import org.apache.maven.continuum.model.project.BuildDefinition;
33import org.apache.maven.continuum.model.project.Project;
34import org.apache.maven.continuum.model.project.Schedule;
35import org.apache.maven.continuum.model.system.Profile;
36import org.apache.maven.continuum.profile.ProfileException;
37import org.apache.maven.continuum.store.ContinuumStoreException;
38import org.apache.maven.continuum.web.exception.AuthorizationRequiredException;
39import org.apache.maven.continuum.web.exception.ContinuumActionException;
40import org.apache.commons.lang.StringEscapeUtils;
41import org.apache.continuum.web.util.AuditLog;
42import org.apache.continuum.web.util.AuditLogConstants;
43import org.codehaus.plexus.util.StringUtils;
44 
45/**
46 * BuildDefinitionAction:
47 *
48 * @author Jesse McConnell <jmcconnell@apache.org>
49 * @version $Id: BuildDefinitionAction.java 1101669 2011-05-10 22:46:21Z ctan $
50 * @plexus.component role="com.opensymphony.xwork2.Action" role-hint="buildDefinition"
51 */
52public class BuildDefinitionAction
53    extends ContinuumConfirmAction
54{
55    private int buildDefinitionId;
56 
57    private int projectId;
58 
59    private int projectGroupId;
60 
61    private int scheduleId;
62 
63    private boolean defaultBuildDefinition;
64 
65    private boolean confirmed = false;
66 
67    private String executor;
68 
69    private String goals;
70 
71    private String arguments;
72 
73    private String buildFile;
74 
75    private boolean buildFresh;
76 
77    private Map<Integer, String> schedules;
78 
79    private List<Profile> profiles;
80 
81    private boolean groupBuildDefinition = false;
82 
83    private boolean groupBuildView = false;
84 
85    private String projectGroupName = "";
86 
87    private int profileId;
88 
89    private String description;
90 
91    private List<String> buildDefinitionTypes;
92 
93    private String buildDefinitionType;
94 
95    private boolean alwaysBuild;
96 
97    /**
98     * @plexus.requirement
99     */
100    private BuildDefinitionService buildDefinitionService;
101 
102    @Override
103    public void prepare()
104        throws Exception
105    {
106        super.prepare();
107 
108        if ( schedules == null )
109        {
110            schedules = new HashMap<Integer, String>();
111 
112            Collection<Schedule> allSchedules = getContinuum().getSchedules();
113 
114            for ( Schedule schedule : allSchedules )
115            {
116                schedules.put( schedule.getId(), schedule.getName() );
117            }
118        }
119 
120        // todo: missing from continuum, investigate
121        if ( profiles == null )
122        {
123            profiles = this.getContinuum().getProfileService().getAllProfiles();
124        }
125 
126        buildDefinitionTypes = new ArrayList<String>();
127        buildDefinitionTypes.add( ContinuumBuildExecutorConstants.ANT_BUILD_EXECUTOR );
128        buildDefinitionTypes.add( ContinuumBuildExecutorConstants.MAVEN_ONE_BUILD_EXECUTOR );
129        buildDefinitionTypes.add( ContinuumBuildExecutorConstants.MAVEN_TWO_BUILD_EXECUTOR );
130        buildDefinitionTypes.add( ContinuumBuildExecutorConstants.SHELL_BUILD_EXECUTOR );
131    }
132 
133    /**
134     * if there is a build definition id set, then retrieve it..either way set us to up to work with build definition
135     *
136     * @return action result
137     */
138    @Override
139    public String input()
140        throws ContinuumException, ContinuumStoreException, BuildDefinitionServiceException
141    {
142        try
143        {
144            if ( executor == null )
145            {
146                if ( projectId != 0 )
147                {
148                    executor = getContinuum().getProject( projectId ).getExecutorId();
149                }
150                else
151                {
152                    List<Project> projects = getContinuum().getProjectGroupWithProjects( projectGroupId ).getProjects();
153 
154                    if ( projects.size() > 0 )
155                    {
156                        Project project = projects.get( 0 );
157                        executor = project.getExecutorId();
158                    }
159                }
160            }
161 
162            if ( buildDefinitionId != 0 )
163            {
164                if ( projectId != 0 )
165                {
166                    checkModifyProjectBuildDefinitionAuthorization( getProjectGroupName() );
167                }
168                else
169                {
170                    checkModifyGroupBuildDefinitionAuthorization( getProjectGroupName() );
171                }
172 
173                BuildDefinition buildDefinition = getContinuum().getBuildDefinition( buildDefinitionId );
174                goals = buildDefinition.getGoals();
175                arguments = buildDefinition.getArguments();
176                buildFile = buildDefinition.getBuildFile();
177                buildFresh = buildDefinition.isBuildFresh();
178                scheduleId = buildDefinition.getSchedule().getId();
179                defaultBuildDefinition = buildDefinition.isDefaultForProject();
180                Profile profile = buildDefinition.getProfile();
181                if ( profile != null )
182                {
183                    profileId = profile.getId();
184                }
185                description = buildDefinition.getDescription();
186                buildDefinitionType = buildDefinition.getType();
187                alwaysBuild = buildDefinition.isAlwaysBuild();
188            }
189            else
190            {
191                String preDefinedBuildFile = "";
192 
193                if ( projectId != 0 )
194                {
195                    checkAddProjectBuildDefinitionAuthorization( getProjectGroupName() );
196                    BuildDefinition bd = getContinuum().getDefaultBuildDefinition( projectId );
197                    if ( bd != null )
198                    {
199                        preDefinedBuildFile = bd.getBuildFile();
200                    }
201                }
202                else
203                {
204                    checkAddGroupBuildDefinitionAuthorization( getProjectGroupName() );
205                    List<BuildDefinition> bds = getContinuum().getBuildDefinitionsForProjectGroup( projectGroupId );
206                    if ( bds != null && !bds.isEmpty() )
207                    {
208                        preDefinedBuildFile = bds.get( 0 ).getBuildFile();
209                    }
210                }
211 
212                if ( StringUtils.isEmpty( preDefinedBuildFile ) )
213                {
214                    if ( ContinuumBuildExecutorConstants.MAVEN_TWO_BUILD_EXECUTOR.equals( executor ) )
215                    {
216                        buildFile =
217                            ( (BuildDefinition) buildDefinitionService.getDefaultMavenTwoBuildDefinitionTemplate().getBuildDefinitions().get(
218                                0 ) ).getBuildFile();
219                        buildDefinitionType = ContinuumBuildExecutorConstants.MAVEN_TWO_BUILD_EXECUTOR;
220                    }
221                    else if ( ContinuumBuildExecutorConstants.MAVEN_ONE_BUILD_EXECUTOR.equals( executor ) )
222                    {
223                        buildFile =
224                            ( (BuildDefinition) buildDefinitionService.getDefaultMavenOneBuildDefinitionTemplate().getBuildDefinitions().get(
225                                0 ) ).getBuildFile();
226                        buildDefinitionType = ContinuumBuildExecutorConstants.MAVEN_ONE_BUILD_EXECUTOR;
227                    }
228                    else if ( ContinuumBuildExecutorConstants.ANT_BUILD_EXECUTOR.equals( executor ) )
229                    {
230                        buildFile =
231                            ( (BuildDefinition) buildDefinitionService.getDefaultAntBuildDefinitionTemplate().getBuildDefinitions().get(
232                                0 ) ).getBuildFile();
233                        buildDefinitionType = ContinuumBuildExecutorConstants.ANT_BUILD_EXECUTOR;
234                    }
235                    else
236                    {
237                        buildDefinitionType = ContinuumBuildExecutorConstants.SHELL_BUILD_EXECUTOR;
238                    }
239                }
240                else
241                {
242                    buildFile = preDefinedBuildFile;
243                }
244            }
245 
246            // if buildDefinitionType is null it will find with the executor
247            if ( StringUtils.isEmpty( buildDefinitionType ) )
248            {
249                if ( ContinuumBuildExecutorConstants.MAVEN_TWO_BUILD_EXECUTOR.equals( executor ) )
250                {
251                    buildDefinitionType = ContinuumBuildExecutorConstants.MAVEN_TWO_BUILD_EXECUTOR;
252                }
253                else if ( ContinuumBuildExecutorConstants.MAVEN_ONE_BUILD_EXECUTOR.equals( executor ) )
254                {
255                    buildDefinitionType = ContinuumBuildExecutorConstants.MAVEN_ONE_BUILD_EXECUTOR;
256                }
257                else if ( ContinuumBuildExecutorConstants.ANT_BUILD_EXECUTOR.equals( executor ) )
258                {
259                    buildDefinitionType = ContinuumBuildExecutorConstants.ANT_BUILD_EXECUTOR;
260                }
261                else
262                {
263                    buildDefinitionType = ContinuumBuildExecutorConstants.SHELL_BUILD_EXECUTOR;
264                }
265            }
266 
267        }
268        catch ( AuthorizationRequiredException authzE )
269        {
270            return REQUIRES_AUTHORIZATION;
271        }
272 
273        return SUCCESS;
274    }
275 
276    public String saveBuildDefinition()
277        throws ContinuumException, ProfileException
278    {
279        if ( projectId != 0 && !groupBuildDefinition )
280        {
281            return saveToProject();
282        }
283        else
284        {
285            return saveToGroup();
286        }
287    }
288 
289    public String saveToProject()
290        throws ContinuumException, ProfileException
291    {
292 
293        try
294        {
295            if ( buildDefinitionId == 0 )
296            {
297                checkAddProjectBuildDefinitionAuthorization( getProjectGroupName() );
298 
299                getContinuum().addBuildDefinitionToProject( projectId, getBuildDefinitionFromInput() );
300            }
301            else
302            {
303                checkModifyProjectBuildDefinitionAuthorization( getProjectGroupName() );
304 
305                getContinuum().updateBuildDefinitionForProject( projectId, getBuildDefinitionFromInput() );
306            }
307        }
308        catch ( ContinuumActionException cae )
309        {
310            addActionError( cae.getMessage() );
311            return INPUT;
312        }
313        catch ( AuthorizationRequiredException authzE )
314        {
315            addActionError( authzE.getMessage() );
316            return REQUIRES_AUTHORIZATION;
317        }
318        
319        String resource = "Project id=" + projectId + ":" +  goals + " " + arguments;
320        AuditLog event = new AuditLog( resource, AuditLogConstants.ADD_GOAL );
321        event.setCategory( AuditLogConstants.BUILD_DEFINITION );
322        event.setCurrentUser( getPrincipal() );
323        event.log();
324 
325        if ( groupBuildView )
326        {
327            return "success_group";
328        }
329 
330        return SUCCESS;
331    }
332 
333    public String saveToGroup()
334        throws ContinuumException, ProfileException
335    {
336        try
337        {
338            BuildDefinition newBuildDef = getBuildDefinitionFromInput();
339 
340            if ( getContinuum().getBuildDefinitionsForProjectGroup( projectGroupId ).size() == 0 )
341            {
342                newBuildDef.setDefaultForProject( true );
343            }
344 
345            if ( buildDefinitionId == 0 )
346            {
347                checkAddGroupBuildDefinitionAuthorization( getProjectGroupName() );
348 
349                getContinuum().addBuildDefinitionToProjectGroup( projectGroupId, newBuildDef );
350            }
351            else
352            {
353                checkModifyGroupBuildDefinitionAuthorization( getProjectGroupName() );
354 
355                getContinuum().updateBuildDefinitionForProjectGroup( projectGroupId, newBuildDef );
356            }
357        }
358        catch ( ContinuumActionException cae )
359        {
360            addActionError( cae.getMessage() );
361            return INPUT;
362        }
363        catch ( AuthorizationRequiredException authzE )
364        {
365            addActionError( authzE.getMessage() );
366            return REQUIRES_AUTHORIZATION;
367        }
368 
369        if ( projectId != 0 )
370        {
371            String resource = "Project id=" + projectId + ":" +  goals + " " + arguments;
372            AuditLog event = new AuditLog( resource, AuditLogConstants.ADD_GOAL );
373            event.setCategory( AuditLogConstants.BUILD_DEFINITION );
374            event.setCurrentUser( getPrincipal() );
375            event.log();
376            
377            return SUCCESS;
378        }
379        else
380        {
381            String resource = "Project Group id=" + projectGroupId + ":" + goals + " " + arguments;
382            AuditLog event = new AuditLog( resource, AuditLogConstants.ADD_GOAL );
383            event.setCategory( AuditLogConstants.BUILD_DEFINITION );
384            event.setCurrentUser( getPrincipal() );
385            event.log();
386            return "success_group";
387        }
388    }
389 
390    public String removeFromProject()
391        throws ContinuumException
392    {
393        try
394        {
395            checkRemoveProjectBuildDefinitionAuthorization( getProjectGroupName() );
396 
397            if ( confirmed )
398            {
399                getContinuum().removeBuildDefinitionFromProject( projectId, buildDefinitionId );
400                
401                String resource = "Project id=" + projectId + ":" +  goals + " " + arguments;
402                AuditLog event = new AuditLog( resource, AuditLogConstants.REMOVE_GOAL );
403                event.setCategory( AuditLogConstants.BUILD_DEFINITION );
404                event.setCurrentUser( getPrincipal() );
405                event.log();
406 
407                return SUCCESS;
408            }
409            else
410            {
411                BuildDefinition buildDefinition = getContinuum().getBuildDefinition( buildDefinitionId );
412                this.description = buildDefinition.getDescription();
413                this.goals = buildDefinition.getGoals();
414                return CONFIRM;
415            }
416        }
417        catch ( AuthorizationRequiredException authzE )
418        {
419            addActionError( authzE.getMessage() );
420            return REQUIRES_AUTHORIZATION;
421        }
422    }
423 
424    public String removeFromProjectGroup()
425        throws ContinuumException
426    {
427        try
428        {
429            checkRemoveGroupBuildDefinitionAuthorization( getProjectGroupName() );
430 
431            if ( confirmed )
432            {
433                getContinuum().removeBuildDefinitionFromProjectGroup( projectGroupId, buildDefinitionId );
434                
435                String resource = "Project Group id=" + projectGroupId + ":" +  goals + " " + arguments;
436                AuditLog event = new AuditLog( resource, AuditLogConstants.REMOVE_GOAL );
437                event.setCategory( AuditLogConstants.BUILD_DEFINITION );
438                event.setCurrentUser( getPrincipal() );
439                event.log();
440 
441                return SUCCESS;
442            }
443            else
444            {
445                BuildDefinition buildDefinition = getContinuum().getBuildDefinition( buildDefinitionId );
446                this.description = buildDefinition.getDescription();
447                this.goals = buildDefinition.getGoals();
448                return CONFIRM;
449            }
450        }
451        catch ( AuthorizationRequiredException authzE )
452        {
453            addActionError( authzE.getMessage() );
454            return REQUIRES_AUTHORIZATION;
455        }
456    }
457 
458    private BuildDefinition getBuildDefinitionFromInput()
459        throws ContinuumActionException, ProfileException
460    {
461 
462        Schedule schedule;
463 
464        try
465        {
466            schedule = getContinuum().getSchedule( scheduleId );
467        }
468        catch ( ContinuumException e )
469        {
470            addActionError( getText( "unable to get schedule" ) );
471            throw new ContinuumActionException( "unable to get schedule" );
472        }
473 
474        BuildDefinition buildDefinition = new BuildDefinition();
475 
476        if ( buildDefinitionId != 0 )
477        {
478            buildDefinition.setId( buildDefinitionId );
479        }
480        buildDefinition.setGoals( goals );
481        buildDefinition.setArguments( arguments );
482        buildDefinition.setBuildFile( buildFile );
483        buildDefinition.setBuildFresh( buildFresh );
484        buildDefinition.setDefaultForProject( defaultBuildDefinition );
485        buildDefinition.setSchedule( schedule );
486        if ( profileId != -1 )
487        {
488            Profile profile = getContinuum().getProfileService().getProfile( profileId );
489            if ( profile != null )
490            {
491                buildDefinition.setProfile( profile );
492            }
493        }
494        buildDefinition.setDescription( StringEscapeUtils.escapeXml( StringEscapeUtils.unescapeXml( description ) ) );
495        buildDefinition.setType( buildDefinitionType );
496        buildDefinition.setAlwaysBuild( alwaysBuild );
497        return buildDefinition;
498    }
499 
500    public int getBuildDefinitionId()
501    {
502        return buildDefinitionId;
503    }
504 
505    public void setBuildDefinitionId( final int buildDefinitionId )
506    {
507        this.buildDefinitionId = buildDefinitionId;
508    }
509 
510    public int getProjectId()
511    {
512        return projectId;
513    }
514 
515    public void setProjectId( final int projectId )
516    {
517        this.projectId = projectId;
518    }
519 
520    public int getProjectGroupId()
521    {
522        return projectGroupId;
523    }
524 
525    public void setProjectGroupId( final int projectGroupId )
526    {
527        this.projectGroupId = projectGroupId;
528    }
529 
530    public int getScheduleId()
531    {
532        return scheduleId;
533    }
534 
535    public void setScheduleId( final int scheduleId )
536    {
537        this.scheduleId = scheduleId;
538    }
539 
540    public boolean isDefaultBuildDefinition()
541    {
542        return defaultBuildDefinition;
543    }
544 
545    public void setDefaultBuildDefinition( final boolean defaultBuildDefinition )
546    {
547        this.defaultBuildDefinition = defaultBuildDefinition;
548    }
549 
550    @Override
551    public boolean isConfirmed()
552    {
553        return confirmed;
554    }
555 
556    @Override
557    public void setConfirmed( final boolean confirmed )
558    {
559        this.confirmed = confirmed;
560    }
561 
562    public String getExecutor()
563    {
564        return executor;
565    }
566 
567    public void setExecutor( final String executor )
568    {
569        this.executor = executor;
570    }
571 
572    public String getGoals()
573    {
574        return goals;
575    }
576 
577    public void setGoals( final String goals )
578    {
579        this.goals = goals;
580    }
581 
582    public String getArguments()
583    {
584        return arguments;
585    }
586 
587    public void setArguments( final String arguments )
588    {
589        this.arguments = arguments;
590    }
591 
592    public String getBuildFile()
593    {
594        return buildFile;
595    }
596 
597    public void setBuildFile( final String buildFile )
598    {
599        this.buildFile = buildFile;
600    }
601 
602    public boolean isBuildFresh()
603    {
604        return buildFresh;
605    }
606 
607    public void setBuildFresh( final boolean buildFresh )
608    {
609        this.buildFresh = buildFresh;
610    }
611 
612    public Map<Integer, String> getSchedules()
613    {
614        return schedules;
615    }
616 
617    public void setSchedules( final Map<Integer, String> schedules )
618    {
619        this.schedules = schedules;
620    }
621 
622    public List<Profile> getProfiles()
623    {
624        return profiles;
625    }
626 
627    public void setProfiles( final List<Profile> profiles )
628    {
629        this.profiles = profiles;
630    }
631 
632    public boolean isGroupBuildDefinition()
633    {
634        return groupBuildDefinition;
635    }
636 
637    public void setGroupBuildDefinition( final boolean groupBuildDefinition )
638    {
639        this.groupBuildDefinition = groupBuildDefinition;
640    }
641 
642    public String getProjectGroupName()
643        throws ContinuumException
644    {
645        if ( projectGroupName == null || "".equals( projectGroupName ) )
646        {
647            if ( projectGroupId != 0 )
648            {
649                projectGroupName = getContinuum().getProjectGroup( projectGroupId ).getName();
650            }
651            else
652            {
653                projectGroupName = getContinuum().getProjectGroupByProjectId( projectId ).getName();
654            }
655        }
656 
657        return projectGroupName;
658    }
659 
660    public int getProfileId()
661    {
662        return profileId;
663    }
664 
665    public void setProfileId( final int profileId )
666    {
667        this.profileId = profileId;
668    }
669 
670    public String getDescription()
671    {
672        return description;
673    }
674 
675    public void setDescription( final String description )
676    {
677        this.description = description;
678    }
679 
680    public String getBuildDefinitionType()
681    {
682        return buildDefinitionType;
683    }
684 
685    public void setBuildDefinitionType( final String buildDefinitionType )
686    {
687        this.buildDefinitionType = buildDefinitionType;
688    }
689 
690    public List<String> getBuildDefinitionTypes()
691    {
692        return buildDefinitionTypes;
693    }
694 
695    public boolean isAlwaysBuild()
696    {
697        return alwaysBuild;
698    }
699 
700    public void setAlwaysBuild( final boolean alwaysBuild )
701    {
702        this.alwaysBuild = alwaysBuild;
703    }
704 
705    public boolean isGroupBuildView()
706    {
707        return groupBuildView;
708    }
709 
710    public void setGroupBuildView( final boolean groupBuildView )
711    {
712        this.groupBuildView = groupBuildView;
713    }
714 
715}

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