1 package org.apache.maven.continuum.web.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.buildmanager.BuildManagerException;
23 import org.apache.continuum.buildmanager.BuildsManager;
24 import org.apache.continuum.taskqueue.BuildProjectTask;
25 import org.apache.maven.continuum.model.project.BuildResult;
26 import org.apache.maven.continuum.project.ContinuumProjectState;
27
28 import java.util.Map;
29 import java.util.Set;
30
31
32
33
34
35
36 public abstract class AbstractBuildAction
37 extends ContinuumConfirmAction
38 {
39 private int projectId;
40
41 private boolean canDelete = true;
42
43 protected boolean canRemoveBuildResult( BuildResult buildResult )
44 throws BuildManagerException
45 {
46 BuildsManager buildsManager = getContinuum().getBuildsManager();
47
48 Map<String, BuildProjectTask> currentBuilds = buildsManager.getCurrentBuilds();
49 Set<String> keySet = currentBuilds.keySet();
50 for ( String key : keySet )
51 {
52 BuildProjectTask buildProjectTask = currentBuilds.get( key );
53 if ( buildProjectTask != null && buildResult != null )
54 {
55 return !( buildResult.getState() == ContinuumProjectState.BUILDING &&
56 ( buildProjectTask.getBuildDefinitionId() == buildResult.getBuildDefinition().getId() &&
57 buildProjectTask.getProjectId() == this.getProjectId() ) );
58 }
59 }
60 return true;
61 }
62
63 public int getProjectId()
64 {
65 return projectId;
66 }
67
68 public void setProjectId( int projectId )
69 {
70 this.projectId = projectId;
71 }
72
73 public boolean isCanDelete()
74 {
75 return canDelete;
76 }
77
78 public void setCanDelete( boolean canDelete )
79 {
80 this.canDelete = canDelete;
81 }
82 }