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.commons.lang.StringUtils;
23 import org.apache.continuum.buildmanager.BuildsManager;
24 import org.apache.continuum.dao.ProjectDao;
25 import org.apache.maven.continuum.model.project.BuildDefinition;
26 import org.apache.maven.continuum.model.project.Project;
27 import org.apache.maven.continuum.utils.WorkingDirectoryService;
28
29 import java.util.Map;
30
31
32
33
34
35
36
37 public class AddProjectToCheckOutQueueAction
38 extends AbstractContinuumAction
39 {
40
41
42
43 private WorkingDirectoryService workingDirectoryService;
44
45
46
47
48 private ProjectDao projectDao;
49
50
51
52
53 private BuildsManager parallelBuildsManager;
54
55 @SuppressWarnings( "unchecked" )
56 public void execute( Map context )
57 throws Exception
58 {
59 Project project = getProject( context, null );
60 if ( project == null )
61 {
62 project = projectDao.getProject( getProjectId( context ) );
63 }
64
65 String scmUsername = project.getScmUsername();
66 String scmPassword = project.getScmPassword();
67
68 if ( scmUsername == null || StringUtils.isEmpty( scmUsername ) )
69 {
70 scmUsername = CheckoutProjectContinuumAction.getScmUsername( context, null );
71 }
72
73 if ( scmPassword == null || StringUtils.isEmpty( scmPassword ) )
74 {
75 scmPassword = CheckoutProjectContinuumAction.getScmPassword( context, null );
76 }
77
78 String scmRootUrl = getProjectScmRootUrl( context, null );
79
80 BuildDefinition defaultBuildDefinition = getBuildDefinition( context );
81 parallelBuildsManager.checkoutProject( project.getId(), project.getName(),
82 workingDirectoryService.getWorkingDirectory( project ), scmRootUrl,
83 scmUsername, scmPassword, defaultBuildDefinition,
84 getListOfProjectsInGroupWithCommonScmRoot( context ) );
85 }
86 }