25
25
package hudson.model;
27
27
import hudson.Util;
28
import hudson.diagnosis.OldDataMonitor;
29
28
import hudson.model.Descriptor.FormException;
30
29
import hudson.tasks.BuildStep;
31
import hudson.tasks.BuildStepDescriptor;
32
30
import hudson.tasks.BuildWrapper;
33
31
import hudson.tasks.BuildWrappers;
34
32
import hudson.tasks.Builder;
62
60
* List of active {@link Builder}s configured for this project.
64
private DescribableList<Builder,Descriptor<Builder>> builders =
65
new DescribableList<Builder,Descriptor<Builder>>(this);
62
private DescribableList<Builder,Descriptor<Builder>> builders;
68
65
* List of active {@link Publisher}s configured for this project.
70
private DescribableList<Publisher,Descriptor<Publisher>> publishers =
71
new DescribableList<Publisher,Descriptor<Publisher>>(this);
67
private DescribableList<Publisher,Descriptor<Publisher>> publishers;
74
70
* List of active {@link BuildWrapper}s configured for this project.
76
private DescribableList<BuildWrapper,Descriptor<BuildWrapper>> buildWrappers =
77
new DescribableList<BuildWrapper,Descriptor<BuildWrapper>>(this);
72
private DescribableList<BuildWrapper,Descriptor<BuildWrapper>> buildWrappers;
80
75
* Creates a new project.
87
82
public void onLoad(ItemGroup<? extends Item> parent, String name) throws IOException {
88
83
super.onLoad(parent, name);
90
if (buildWrappers==null) {
91
// it didn't exist in < 1.64
92
buildWrappers = new DescribableList<BuildWrapper, Descriptor<BuildWrapper>>(this);
93
OldDataMonitor.report(this, "1.64");
95
builders.setOwner(this);
96
publishers.setOwner(this);
97
buildWrappers.setOwner(this);
84
getBuildersList().setOwner(this);
85
getPublishersList().setOwner(this);
86
getBuildWrappersList().setOwner(this);
100
89
public AbstractProject<?, ?> asProject() {
111
100
* Use {@link #getPublishersList()} instead.
113
102
public Map<Descriptor<Publisher>,Publisher> getPublishers() {
114
return publishers.toMap();
103
return getPublishersList().toMap();
117
public DescribableList<Builder,Descriptor<Builder>> getBuildersList() {
106
public synchronized DescribableList<Builder,Descriptor<Builder>> getBuildersList() {
107
if (builders == null) {
108
builders = new DescribableList<Builder,Descriptor<Builder>>(this);
121
public DescribableList<Publisher,Descriptor<Publisher>> getPublishersList() {
113
public synchronized DescribableList<Publisher,Descriptor<Publisher>> getPublishersList() {
114
if (publishers == null) {
115
publishers = new DescribableList<Publisher,Descriptor<Publisher>>(this);
122
117
return publishers;
125
120
public Map<Descriptor<BuildWrapper>,BuildWrapper> getBuildWrappers() {
126
return buildWrappers.toMap();
121
return getBuildWrappersList().toMap();
129
public DescribableList<BuildWrapper, Descriptor<BuildWrapper>> getBuildWrappersList() {
124
public synchronized DescribableList<BuildWrapper, Descriptor<BuildWrapper>> getBuildWrappersList() {
125
if (buildWrappers == null) {
126
buildWrappers = new DescribableList<BuildWrapper,Descriptor<BuildWrapper>>(this);
130
128
return buildWrappers;
135
133
final Set<ResourceActivity> activities = new HashSet<ResourceActivity>();
137
135
activities.addAll(super.getResourceActivities());
138
activities.addAll(Util.filter(builders,ResourceActivity.class));
139
activities.addAll(Util.filter(publishers,ResourceActivity.class));
140
activities.addAll(Util.filter(buildWrappers,ResourceActivity.class));
136
activities.addAll(Util.filter(getBuildersList(),ResourceActivity.class));
137
activities.addAll(Util.filter(getPublishersList(),ResourceActivity.class));
138
activities.addAll(Util.filter(getBuildWrappersList(),ResourceActivity.class));
142
140
return activities;
159
157
* Use {@code getPublishersList().remove(x)}
161
159
public void removePublisher(Descriptor<Publisher> descriptor) throws IOException {
162
publishers.remove(descriptor);
160
getPublishersList().remove(descriptor);
165
163
public Publisher getPublisher(Descriptor<Publisher> descriptor) {
166
for (Publisher p : publishers) {
164
for (Publisher p : getPublishersList()) {
167
165
if(p.getDescriptor()==descriptor)
173
171
protected void buildDependencyGraph(DependencyGraph graph) {
174
publishers.buildDependencyGraph(this,graph);
175
builders.buildDependencyGraph(this,graph);
176
buildWrappers.buildDependencyGraph(this,graph);
172
getPublishersList().buildDependencyGraph(this,graph);
173
getBuildersList().buildDependencyGraph(this,graph);
174
getBuildWrappersList().buildDependencyGraph(this,graph);
199
197
JSONObject json = req.getSubmittedForm();
201
buildWrappers.rebuild(req,json, BuildWrappers.getFor(this));
202
builders.rebuildHetero(req,json, Builder.all(), "builder");
203
publishers.rebuildHetero(req, json, Publisher.all(), "publisher");
199
getBuildWrappersList().rebuild(req,json, BuildWrappers.getFor(this));
200
getBuildersList().rebuildHetero(req,json, Builder.all(), "builder");
201
getPublishersList().rebuildHetero(req, json, Publisher.all(), "publisher");