1 package org.apache.maven.continuum.core.action;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.continuum.dao.ProjectDao;
23 import org.apache.maven.continuum.model.project.BuildDefinition;
24 import org.apache.maven.continuum.model.project.BuildDefinitionTemplate;
25 import org.apache.maven.continuum.model.project.Project;
26
27 import java.util.List;
28 import java.util.Map;
29
30
31
32
33
34
35
36
37
38 public class AddBuildDefinitionToProjectAction
39 extends AbstractBuildDefinitionContinuumAction
40 {
41
42
43
44 private ProjectDao projectDao;
45
46 public void execute( Map context )
47 throws Exception
48 {
49 int projectId = getProjectId( context );
50 Project project = projectDao.getProjectWithAllDetails( projectId );
51
52 BuildDefinitionTemplate buildDefinitionTemplate = getBuildDefinitionTemplate( context );
53
54 if ( buildDefinitionTemplate != null )
55 {
56 for ( BuildDefinition buildDefinition : (List<BuildDefinition>) buildDefinitionTemplate.getBuildDefinitions() )
57 {
58 resolveDefaultBuildDefinitionsForProject( buildDefinition, project );
59
60 project.addBuildDefinition( buildDefinition );
61
62 if ( buildDefinition.isDefaultForProject() )
63 {
64 AbstractContinuumAction.setBuildDefinition( context, buildDefinition );
65 }
66 }
67 }
68 else
69 {
70 BuildDefinition buildDefinition = getBuildDefinition( context );
71 resolveDefaultBuildDefinitionsForProject( buildDefinition, project );
72
73 project.addBuildDefinition( buildDefinition );
74
75 AbstractContinuumAction.setBuildDefinition( context, buildDefinition );
76 }
77
78
79 projectDao.updateProject( project );
80 }
81 }