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