Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 317384 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/mylyn/builds/core/IBuildPlan.java (+5 lines)
Lines 13-18 Link Here
13
13
14
import java.util.List;
14
import java.util.List;
15
15
16
import org.eclipse.core.runtime.CoreException;
17
import org.eclipse.core.runtime.IStatus;
18
16
/**
19
/**
17
 * @author Steffen Pingel
20
 * @author Steffen Pingel
18
 */
21
 */
Lines 38-41 Link Here
38
41
39
	public IBuildPlanWorkingCopy createWorkingCopy();
42
	public IBuildPlanWorkingCopy createWorkingCopy();
40
43
44
	IStatus run(IOperationMonitor monitor) throws CoreException;
45
41
}
46
}
(-)src/org/eclipse/mylyn/builds/core/spi/BuildServerBehaviour.java (+3 lines)
Lines 15-20 Link Here
15
15
16
import org.eclipse.core.runtime.CoreException;
16
import org.eclipse.core.runtime.CoreException;
17
import org.eclipse.core.runtime.IStatus;
17
import org.eclipse.core.runtime.IStatus;
18
import org.eclipse.mylyn.builds.core.IBuildElement;
18
import org.eclipse.mylyn.builds.core.IBuildPlan;
19
import org.eclipse.mylyn.builds.core.IBuildPlan;
19
import org.eclipse.mylyn.builds.core.IBuildServer;
20
import org.eclipse.mylyn.builds.core.IBuildServer;
20
import org.eclipse.mylyn.builds.core.IOperationMonitor;
21
import org.eclipse.mylyn.builds.core.IOperationMonitor;
Lines 38-41 Link Here
38
39
39
	public abstract IStatus validate(IOperationMonitor monitor) throws CoreException;
40
	public abstract IStatus validate(IOperationMonitor monitor) throws CoreException;
40
41
42
	public abstract IStatus runBuild(IBuildElement element, IOperationMonitor monitor) throws CoreException;
43
41
}
44
}
(-)src/org/eclipse/mylyn/internal/builds/core/BuildPlan.java (-107 / +173 lines)
Lines 8-13 Link Here
8
8
9
import java.util.Collection;
9
import java.util.Collection;
10
10
11
import org.eclipse.core.runtime.CoreException;
12
import org.eclipse.core.runtime.IStatus;
11
import org.eclipse.emf.common.notify.Notification;
13
import org.eclipse.emf.common.notify.Notification;
12
import org.eclipse.emf.common.notify.NotificationChain;
14
import org.eclipse.emf.common.notify.NotificationChain;
13
import org.eclipse.emf.common.util.EList;
15
import org.eclipse.emf.common.util.EList;
Lines 24-34 Link Here
24
import org.eclipse.mylyn.builds.core.IBuildPlan;
26
import org.eclipse.mylyn.builds.core.IBuildPlan;
25
import org.eclipse.mylyn.builds.core.IBuildPlanWorkingCopy;
27
import org.eclipse.mylyn.builds.core.IBuildPlanWorkingCopy;
26
import org.eclipse.mylyn.builds.core.IBuildServer;
28
import org.eclipse.mylyn.builds.core.IBuildServer;
29
import org.eclipse.mylyn.builds.core.IOperationMonitor;
27
30
28
/**
31
/**
29
 * <!-- begin-user-doc --> A representation of the model object '<em><b>Plan</b></em>'. <!-- end-user-doc -->
32
 * <!-- begin-user-doc --> A representation of the model object '<em><b>Plan</b></em>'. <!-- end-user-doc -->
30
 *
33
 * 
31
 *
32
 * @see org.eclipse.mylyn.internal.builds.core.BuildPackage#getBuildPlan()
34
 * @see org.eclipse.mylyn.internal.builds.core.BuildPackage#getBuildPlan()
33
 * @model kind="class" superTypes="org.eclipse.mylyn.internal.builds.core.IBuildPlanWorkingCopy"
35
 * @model kind="class" superTypes="org.eclipse.mylyn.internal.builds.core.IBuildPlanWorkingCopy"
34
 * @generated
36
 * @generated
Lines 45-52 Link Here
45
	protected static final String URL_EDEFAULT = null;
47
	protected static final String URL_EDEFAULT = null;
46
48
47
	/**
49
	/**
48
	 * The cached value of the '{@link #getUrl() <em>Url</em>}' attribute.
50
	 * The cached value of the '{@link #getUrl() <em>Url</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
49
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
51
	 * 
50
	 * @see #getUrl()
52
	 * @see #getUrl()
51
	 * @generated
53
	 * @generated
52
	 * @ordered
54
	 * @ordered
Lines 74-82 Link Here
74
	protected String name = NAME_EDEFAULT;
76
	protected String name = NAME_EDEFAULT;
75
77
76
	/**
78
	/**
77
	 * The cached value of the '{@link #getChildren() <em>Children</em>}' reference list.
79
	 * The cached value of the '{@link #getChildren() <em>Children</em>}' reference list. <!-- begin-user-doc --> <!--
78
	 * <!-- begin-user-doc --> <!--
79
	 * end-user-doc -->
80
	 * end-user-doc -->
81
	 * 
80
	 * @see #getChildren()
82
	 * @see #getChildren()
81
	 * @generated
83
	 * @generated
82
	 * @ordered
84
	 * @ordered
Lines 84-92 Link Here
84
	protected EList<IBuildPlan> children;
86
	protected EList<IBuildPlan> children;
85
87
86
	/**
88
	/**
87
	 * The cached value of the '{@link #getParent() <em>Parent</em>}' reference.
89
	 * The cached value of the '{@link #getParent() <em>Parent</em>}' reference. <!-- begin-user-doc --> <!--
88
	 * <!-- begin-user-doc --> <!--
89
	 * end-user-doc -->
90
	 * end-user-doc -->
91
	 * 
90
	 * @see #getParent()
92
	 * @see #getParent()
91
	 * @generated
93
	 * @generated
92
	 * @ordered
94
	 * @ordered
Lines 94-102 Link Here
94
	protected IBuildPlan parent;
96
	protected IBuildPlan parent;
95
97
96
	/**
98
	/**
97
	 * The default value of the '{@link #getHealth() <em>Health</em>}' attribute.
99
	 * The default value of the '{@link #getHealth() <em>Health</em>}' attribute. <!-- begin-user-doc --> <!--
98
	 * <!-- begin-user-doc --> <!--
99
	 * end-user-doc -->
100
	 * end-user-doc -->
101
	 * 
100
	 * @see #getHealth()
102
	 * @see #getHealth()
101
	 * @generated
103
	 * @generated
102
	 * @ordered
104
	 * @ordered
Lines 104-112 Link Here
104
	protected static final int HEALTH_EDEFAULT = -1;
106
	protected static final int HEALTH_EDEFAULT = -1;
105
107
106
	/**
108
	/**
107
	 * The cached value of the '{@link #getHealth() <em>Health</em>}' attribute.
109
	 * The cached value of the '{@link #getHealth() <em>Health</em>}' attribute. <!-- begin-user-doc --> <!--
108
	 * <!-- begin-user-doc --> <!--
109
	 * end-user-doc -->
110
	 * end-user-doc -->
111
	 * 
110
	 * @see #getHealth()
112
	 * @see #getHealth()
111
	 * @generated
113
	 * @generated
112
	 * @ordered
114
	 * @ordered
Lines 114-121 Link Here
114
	protected int health = HEALTH_EDEFAULT;
116
	protected int health = HEALTH_EDEFAULT;
115
117
116
	/**
118
	/**
117
	 * The default value of the '{@link #getId() <em>Id</em>}' attribute.
119
	 * The default value of the '{@link #getId() <em>Id</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
118
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
120
	 * 
119
	 * @see #getId()
121
	 * @see #getId()
120
	 * @generated
122
	 * @generated
121
	 * @ordered
123
	 * @ordered
Lines 123-130 Link Here
123
	protected static final String ID_EDEFAULT = null;
125
	protected static final String ID_EDEFAULT = null;
124
126
125
	/**
127
	/**
126
	 * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
128
	 * The cached value of the '{@link #getId() <em>Id</em>}' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
127
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
129
	 * 
128
	 * @see #getId()
130
	 * @see #getId()
129
	 * @generated
131
	 * @generated
130
	 * @ordered
132
	 * @ordered
Lines 152-160 Link Here
152
	protected String info = INFO_EDEFAULT;
154
	protected String info = INFO_EDEFAULT;
153
155
154
	/**
156
	/**
155
	 * The default value of the '{@link #isSelected() <em>Selected</em>}' attribute.
157
	 * The default value of the '{@link #isSelected() <em>Selected</em>}' attribute. <!-- begin-user-doc --> <!--
156
	 * <!-- begin-user-doc --> <!--
157
	 * end-user-doc -->
158
	 * end-user-doc -->
159
	 * 
158
	 * @see #isSelected()
160
	 * @see #isSelected()
159
	 * @generated
161
	 * @generated
160
	 * @ordered
162
	 * @ordered
Lines 162-170 Link Here
162
	protected static final boolean SELECTED_EDEFAULT = false;
164
	protected static final boolean SELECTED_EDEFAULT = false;
163
165
164
	/**
166
	/**
165
	 * The cached value of the '{@link #isSelected() <em>Selected</em>}' attribute.
167
	 * The cached value of the '{@link #isSelected() <em>Selected</em>}' attribute. <!-- begin-user-doc --> <!--
166
	 * <!-- begin-user-doc --> <!--
167
	 * end-user-doc -->
168
	 * end-user-doc -->
169
	 * 
168
	 * @see #isSelected()
170
	 * @see #isSelected()
169
	 * @generated
171
	 * @generated
170
	 * @ordered
172
	 * @ordered
Lines 172-180 Link Here
172
	protected boolean selected = SELECTED_EDEFAULT;
174
	protected boolean selected = SELECTED_EDEFAULT;
173
175
174
	/**
176
	/**
175
	 * The default value of the '{@link #getSummary() <em>Summary</em>}' attribute.
177
	 * The default value of the '{@link #getSummary() <em>Summary</em>}' attribute. <!-- begin-user-doc --> <!--
176
	 * <!-- begin-user-doc --> <!--
177
	 * end-user-doc -->
178
	 * end-user-doc -->
179
	 * 
178
	 * @see #getSummary()
180
	 * @see #getSummary()
179
	 * @generated
181
	 * @generated
180
	 * @ordered
182
	 * @ordered
Lines 182-190 Link Here
182
	protected static final String SUMMARY_EDEFAULT = null;
184
	protected static final String SUMMARY_EDEFAULT = null;
183
185
184
	/**
186
	/**
185
	 * The cached value of the '{@link #getSummary() <em>Summary</em>}' attribute.
187
	 * The cached value of the '{@link #getSummary() <em>Summary</em>}' attribute. <!-- begin-user-doc --> <!--
186
	 * <!-- begin-user-doc --> <!--
187
	 * end-user-doc -->
188
	 * end-user-doc -->
189
	 * 
188
	 * @see #getSummary()
190
	 * @see #getSummary()
189
	 * @generated
191
	 * @generated
190
	 * @ordered
192
	 * @ordered
Lines 192-200 Link Here
192
	protected String summary = SUMMARY_EDEFAULT;
194
	protected String summary = SUMMARY_EDEFAULT;
193
195
194
	/**
196
	/**
195
	 * The default value of the '{@link #getState() <em>State</em>}' attribute.
197
	 * The default value of the '{@link #getState() <em>State</em>}' attribute. <!-- begin-user-doc --> <!--
196
	 * <!-- begin-user-doc --> <!--
197
	 * end-user-doc -->
198
	 * end-user-doc -->
199
	 * 
198
	 * @see #getState()
200
	 * @see #getState()
199
	 * @generated
201
	 * @generated
200
	 * @ordered
202
	 * @ordered
Lines 212-220 Link Here
212
	protected BuildState state = STATE_EDEFAULT;
214
	protected BuildState state = STATE_EDEFAULT;
213
215
214
	/**
216
	/**
215
	 * The default value of the '{@link #getStatus() <em>Status</em>}' attribute.
217
	 * The default value of the '{@link #getStatus() <em>Status</em>}' attribute. <!-- begin-user-doc --> <!--
216
	 * <!-- begin-user-doc --> <!--
217
	 * end-user-doc -->
218
	 * end-user-doc -->
219
	 * 
218
	 * @see #getStatus()
220
	 * @see #getStatus()
219
	 * @generated
221
	 * @generated
220
	 * @ordered
222
	 * @ordered
Lines 222-230 Link Here
222
	protected static final BuildStatus STATUS_EDEFAULT = null;
224
	protected static final BuildStatus STATUS_EDEFAULT = null;
223
225
224
	/**
226
	/**
225
	 * The cached value of the '{@link #getStatus() <em>Status</em>}' attribute.
227
	 * The cached value of the '{@link #getStatus() <em>Status</em>}' attribute. <!-- begin-user-doc --> <!--
226
	 * <!-- begin-user-doc --> <!--
227
	 * end-user-doc -->
228
	 * end-user-doc -->
229
	 * 
228
	 * @see #getStatus()
230
	 * @see #getStatus()
229
	 * @generated
231
	 * @generated
230
	 * @ordered
232
	 * @ordered
Lines 233-238 Link Here
233
235
234
	/**
236
	/**
235
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
237
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
238
	 * 
236
	 * @generated
239
	 * @generated
237
	 */
240
	 */
238
	protected BuildPlan() {
241
	protected BuildPlan() {
Lines 241-246 Link Here
241
244
242
	/**
245
	/**
243
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
246
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
247
	 * 
244
	 * @generated
248
	 * @generated
245
	 */
249
	 */
246
	@Override
250
	@Override
Lines 249-260 Link Here
249
	}
253
	}
250
254
251
	/**
255
	/**
252
	 * Returns the value of the '<em><b>Url</b></em>' attribute.
256
	 * Returns the value of the '<em><b>Url</b></em>' attribute. <!-- begin-user-doc -->
253
	 * <!-- begin-user-doc -->
254
	 * <p>
257
	 * <p>
255
	 * If the meaning of the '<em>Url</em>' attribute isn't clear, there really should be more of a description here...
258
	 * If the meaning of the '<em>Url</em>' attribute isn't clear, there really should be more of a description here...
256
	 * </p>
259
	 * </p>
257
	 * <!-- end-user-doc -->
260
	 * <!-- end-user-doc -->
261
	 * 
258
	 * @return the value of the '<em>Url</em>' attribute.
262
	 * @return the value of the '<em>Url</em>' attribute.
259
	 * @see #setUrl(String)
263
	 * @see #setUrl(String)
260
	 * @see org.eclipse.mylyn.internal.builds.core.BuildPackage#getIBuildElement_Url()
264
	 * @see org.eclipse.mylyn.internal.builds.core.BuildPackage#getIBuildElement_Url()
Lines 268-291 Link Here
268
	/**
272
	/**
269
	 * Sets the value of the '{@link org.eclipse.mylyn.internal.builds.core.BuildPlan#getUrl <em>Url</em>}' attribute.
273
	 * Sets the value of the '{@link org.eclipse.mylyn.internal.builds.core.BuildPlan#getUrl <em>Url</em>}' attribute.
270
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
274
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
271
	 * @param value the new value of the '<em>Url</em>' attribute.
275
	 * 
276
	 * @param value
277
	 *            the new value of the '<em>Url</em>' attribute.
272
	 * @see #getUrl()
278
	 * @see #getUrl()
273
	 * @generated
279
	 * @generated
274
	 */
280
	 */
275
	public void setUrl(String newUrl) {
281
	public void setUrl(String newUrl) {
276
		String oldUrl = url;
282
		String oldUrl = url;
277
		url = newUrl;
283
		url = newUrl;
278
		if (eNotificationRequired())
284
		if (eNotificationRequired()) {
279
			eNotify(new ENotificationImpl(this, Notification.SET, BuildPackage.BUILD_PLAN__URL, oldUrl, url));
285
			eNotify(new ENotificationImpl(this, Notification.SET, BuildPackage.BUILD_PLAN__URL, oldUrl, url));
286
		}
280
	}
287
	}
281
288
282
	/**
289
	/**
283
	 * Returns the value of the '<em><b>Name</b></em>' attribute.
290
	 * Returns the value of the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc -->
284
	 * <!-- begin-user-doc -->
285
	 * <p>
291
	 * <p>
286
	 * If the meaning of the '<em>Name</em>' attribute isn't clear, there really should be more of a description here...
292
	 * If the meaning of the '<em>Name</em>' attribute isn't clear, there really should be more of a description here...
287
	 * </p>
293
	 * </p>
288
	 * <!-- end-user-doc -->
294
	 * <!-- end-user-doc -->
295
	 * 
289
	 * @return the value of the '<em>Name</em>' attribute.
296
	 * @return the value of the '<em>Name</em>' attribute.
290
	 * @see #setName(String)
297
	 * @see #setName(String)
291
	 * @see org.eclipse.mylyn.internal.builds.core.BuildPackage#getIBuildElement_Name()
298
	 * @see org.eclipse.mylyn.internal.builds.core.BuildPackage#getIBuildElement_Name()
Lines 299-339 Link Here
299
	/**
306
	/**
300
	 * Sets the value of the '{@link org.eclipse.mylyn.internal.builds.core.BuildPlan#getName <em>Name</em>}' attribute.
307
	 * Sets the value of the '{@link org.eclipse.mylyn.internal.builds.core.BuildPlan#getName <em>Name</em>}' attribute.
301
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
308
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
302
	 * @param value the new value of the '<em>Name</em>' attribute.
309
	 * 
310
	 * @param value
311
	 *            the new value of the '<em>Name</em>' attribute.
303
	 * @see #getName()
312
	 * @see #getName()
304
	 * @generated
313
	 * @generated
305
	 */
314
	 */
306
	public void setName(String newName) {
315
	public void setName(String newName) {
307
		String oldName = name;
316
		String oldName = name;
308
		name = newName;
317
		name = newName;
309
		if (eNotificationRequired())
318
		if (eNotificationRequired()) {
310
			eNotify(new ENotificationImpl(this, Notification.SET, BuildPackage.BUILD_PLAN__NAME, oldName, name));
319
			eNotify(new ENotificationImpl(this, Notification.SET, BuildPackage.BUILD_PLAN__NAME, oldName, name));
320
		}
311
	}
321
	}
312
322
313
	/**
323
	/**
314
	 * Returns the value of the '<em><b>Server</b></em>' container reference.
324
	 * Returns the value of the '<em><b>Server</b></em>' container reference. It is bidirectional and its opposite is '
315
	 * It is bidirectional and its opposite is '{@link org.eclipse.mylyn.builds.core.IBuildServer#getPlans <em>Plans</em>}'.
325
	 * {@link org.eclipse.mylyn.builds.core.IBuildServer#getPlans <em>Plans</em>}'. <!-- begin-user-doc -->
316
	 * <!-- begin-user-doc -->
317
	 * <p>
326
	 * <p>
318
	 * If the meaning of the '<em>Server</em>' reference isn't clear, there really should be more of a description
327
	 * If the meaning of the '<em>Server</em>' reference isn't clear, there really should be more of a description
319
	 * here...
328
	 * here...
320
	 * </p>
329
	 * </p>
321
	 * <!-- end-user-doc -->
330
	 * <!-- end-user-doc -->
331
	 * 
322
	 * @return the value of the '<em>Server</em>' container reference.
332
	 * @return the value of the '<em>Server</em>' container reference.
323
	 * @see #setServer(IBuildServer)
333
	 * @see #setServer(IBuildServer)
324
	 * @see org.eclipse.mylyn.internal.builds.core.BuildPackage#getIBuildPlan_Server()
334
	 * @see org.eclipse.mylyn.internal.builds.core.BuildPackage#getIBuildPlan_Server()
325
	 * @see org.eclipse.mylyn.builds.core.IBuildServer#getPlans
335
	 * @see org.eclipse.mylyn.builds.core.IBuildServer#getPlans
326
	 * @model type="org.eclipse.mylyn.internal.builds.core.IBuildServer" opposite="plans" required="true" transient="false"
336
	 * @model type="org.eclipse.mylyn.internal.builds.core.IBuildServer" opposite="plans" required="true"
337
	 *        transient="false"
327
	 * @generated
338
	 * @generated
328
	 */
339
	 */
329
	public IBuildServer getServer() {
340
	public IBuildServer getServer() {
330
		if (eContainerFeatureID() != BuildPackage.BUILD_PLAN__SERVER)
341
		if (eContainerFeatureID() != BuildPackage.BUILD_PLAN__SERVER) {
331
			return null;
342
			return null;
343
		}
332
		return (IBuildServer) eContainer();
344
		return (IBuildServer) eContainer();
333
	}
345
	}
334
346
335
	/**
347
	/**
336
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
348
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
349
	 * 
337
	 * @generated
350
	 * @generated
338
	 */
351
	 */
339
	public NotificationChain basicSetServer(IBuildServer newServer, NotificationChain msgs) {
352
	public NotificationChain basicSetServer(IBuildServer newServer, NotificationChain msgs) {
Lines 342-381 Link Here
342
	}
355
	}
343
356
344
	/**
357
	/**
345
	 * Sets the value of the '{@link org.eclipse.mylyn.internal.builds.core.BuildPlan#getServer <em>Server</em>}' container reference.
358
	 * Sets the value of the '{@link org.eclipse.mylyn.internal.builds.core.BuildPlan#getServer <em>Server</em>}'
346
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
359
	 * container reference. <!-- begin-user-doc --> <!-- end-user-doc -->
347
	 * @param value the new value of the '<em>Server</em>' container reference.
360
	 * 
361
	 * @param value
362
	 *            the new value of the '<em>Server</em>' container reference.
348
	 * @see #getServer()
363
	 * @see #getServer()
349
	 * @generated
364
	 * @generated
350
	 */
365
	 */
351
	public void setServer(IBuildServer newServer) {
366
	public void setServer(IBuildServer newServer) {
352
		if (newServer != eInternalContainer()
367
		if (newServer != eInternalContainer()
353
				|| (eContainerFeatureID() != BuildPackage.BUILD_PLAN__SERVER && newServer != null)) {
368
				|| (eContainerFeatureID() != BuildPackage.BUILD_PLAN__SERVER && newServer != null)) {
354
			if (EcoreUtil.isAncestor(this, (EObject) newServer))
369
			if (EcoreUtil.isAncestor(this, (EObject) newServer)) {
355
				throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
370
				throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
371
			}
356
			NotificationChain msgs = null;
372
			NotificationChain msgs = null;
357
			if (eInternalContainer() != null)
373
			if (eInternalContainer() != null) {
358
				msgs = eBasicRemoveFromContainer(msgs);
374
				msgs = eBasicRemoveFromContainer(msgs);
359
			if (newServer != null)
375
			}
376
			if (newServer != null) {
360
				msgs = ((InternalEObject) newServer).eInverseAdd(this, BuildPackage.IBUILD_SERVER__PLANS,
377
				msgs = ((InternalEObject) newServer).eInverseAdd(this, BuildPackage.IBUILD_SERVER__PLANS,
361
						IBuildServer.class, msgs);
378
						IBuildServer.class, msgs);
379
			}
362
			msgs = basicSetServer(newServer, msgs);
380
			msgs = basicSetServer(newServer, msgs);
363
			if (msgs != null)
381
			if (msgs != null) {
364
				msgs.dispatch();
382
				msgs.dispatch();
365
		} else if (eNotificationRequired())
383
			}
384
		} else if (eNotificationRequired()) {
366
			eNotify(new ENotificationImpl(this, Notification.SET, BuildPackage.BUILD_PLAN__SERVER, newServer, newServer));
385
			eNotify(new ENotificationImpl(this, Notification.SET, BuildPackage.BUILD_PLAN__SERVER, newServer, newServer));
386
		}
367
	}
387
	}
368
388
369
	/**
389
	/**
370
	 * Returns the value of the '<em><b>Children</b></em>' reference list.
390
	 * Returns the value of the '<em><b>Children</b></em>' reference list. The list contents are of type
371
	 * The list contents are of type {@link org.eclipse.mylyn.builds.core.IBuildPlan}.
391
	 * {@link org.eclipse.mylyn.builds.core.IBuildPlan}. It is bidirectional and its opposite is '
372
	 * It is bidirectional and its opposite is '{@link org.eclipse.mylyn.builds.core.IBuildPlan#getParent <em>Parent</em>}'.
392
	 * {@link org.eclipse.mylyn.builds.core.IBuildPlan#getParent <em>Parent</em>}'. <!-- begin-user-doc -->
373
	 * <!-- begin-user-doc -->
374
	 * <p>
393
	 * <p>
375
	 * If the meaning of the '<em>Children</em>' reference list isn't clear, there really should be more of a
394
	 * If the meaning of the '<em>Children</em>' reference list isn't clear, there really should be more of a
376
	 * description here...
395
	 * description here...
377
	 * </p>
396
	 * </p>
378
	 * <!-- end-user-doc -->
397
	 * <!-- end-user-doc -->
398
	 * 
379
	 * @return the value of the '<em>Children</em>' reference list.
399
	 * @return the value of the '<em>Children</em>' reference list.
380
	 * @see org.eclipse.mylyn.internal.builds.core.BuildPackage#getIBuildPlan_Children()
400
	 * @see org.eclipse.mylyn.internal.builds.core.BuildPackage#getIBuildPlan_Children()
381
	 * @see org.eclipse.mylyn.builds.core.IBuildPlan#getParent
401
	 * @see org.eclipse.mylyn.builds.core.IBuildPlan#getParent
Lines 391-404 Link Here
391
	}
411
	}
392
412
393
	/**
413
	/**
394
	 * Returns the value of the '<em><b>Parent</b></em>' reference.
414
	 * Returns the value of the '<em><b>Parent</b></em>' reference. It is bidirectional and its opposite is '
395
	 * It is bidirectional and its opposite is '{@link org.eclipse.mylyn.builds.core.IBuildPlan#getChildren <em>Children</em>}'.
415
	 * {@link org.eclipse.mylyn.builds.core.IBuildPlan#getChildren <em>Children</em>}'. <!-- begin-user-doc -->
396
	 * <!-- begin-user-doc -->
397
	 * <p>
416
	 * <p>
398
	 * If the meaning of the '<em>Parent</em>' reference isn't clear, there really should be more of a description
417
	 * If the meaning of the '<em>Parent</em>' reference isn't clear, there really should be more of a description
399
	 * here...
418
	 * here...
400
	 * </p>
419
	 * </p>
401
	 * <!-- end-user-doc -->
420
	 * <!-- end-user-doc -->
421
	 * 
402
	 * @return the value of the '<em>Parent</em>' reference.
422
	 * @return the value of the '<em>Parent</em>' reference.
403
	 * @see #setParent(IBuildPlan)
423
	 * @see #setParent(IBuildPlan)
404
	 * @see org.eclipse.mylyn.internal.builds.core.BuildPackage#getIBuildPlan_Parent()
424
	 * @see org.eclipse.mylyn.internal.builds.core.BuildPackage#getIBuildPlan_Parent()
Lines 411-419 Link Here
411
			InternalEObject oldParent = (InternalEObject) parent;
431
			InternalEObject oldParent = (InternalEObject) parent;
412
			parent = (IBuildPlan) eResolveProxy(oldParent);
432
			parent = (IBuildPlan) eResolveProxy(oldParent);
413
			if (parent != oldParent) {
433
			if (parent != oldParent) {
414
				if (eNotificationRequired())
434
				if (eNotificationRequired()) {
415
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BuildPackage.BUILD_PLAN__PARENT,
435
					eNotify(new ENotificationImpl(this, Notification.RESOLVE, BuildPackage.BUILD_PLAN__PARENT,
416
							oldParent, parent));
436
							oldParent, parent));
437
				}
417
			}
438
			}
418
		}
439
		}
419
		return parent;
440
		return parent;
Lines 421-426 Link Here
421
442
422
	/**
443
	/**
423
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
444
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
445
	 * 
424
	 * @generated
446
	 * @generated
425
	 */
447
	 */
426
	public IBuildPlan basicGetParent() {
448
	public IBuildPlan basicGetParent() {
Lines 429-434 Link Here
429
451
430
	/**
452
	/**
431
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
453
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
454
	 * 
432
	 * @generated
455
	 * @generated
433
	 */
456
	 */
434
	public NotificationChain basicSetParent(IBuildPlan newParent, NotificationChain msgs) {
457
	public NotificationChain basicSetParent(IBuildPlan newParent, NotificationChain msgs) {
Lines 437-471 Link Here
437
		if (eNotificationRequired()) {
460
		if (eNotificationRequired()) {
438
			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
461
			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
439
					BuildPackage.BUILD_PLAN__PARENT, oldParent, newParent);
462
					BuildPackage.BUILD_PLAN__PARENT, oldParent, newParent);
440
			if (msgs == null)
463
			if (msgs == null) {
441
				msgs = notification;
464
				msgs = notification;
442
			else
465
			} else {
443
				msgs.add(notification);
466
				msgs.add(notification);
467
			}
444
		}
468
		}
445
		return msgs;
469
		return msgs;
446
	}
470
	}
447
471
448
	/**
472
	/**
449
	 * Sets the value of the '{@link org.eclipse.mylyn.internal.builds.core.BuildPlan#getParent <em>Parent</em>}' reference.
473
	 * Sets the value of the '{@link org.eclipse.mylyn.internal.builds.core.BuildPlan#getParent <em>Parent</em>}'
450
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
474
	 * reference. <!-- begin-user-doc --> <!-- end-user-doc -->
451
	 * @param value the new value of the '<em>Parent</em>' reference.
475
	 * 
476
	 * @param value
477
	 *            the new value of the '<em>Parent</em>' reference.
452
	 * @see #getParent()
478
	 * @see #getParent()
453
	 * @generated
479
	 * @generated
454
	 */
480
	 */
455
	public void setParent(IBuildPlan newParent) {
481
	public void setParent(IBuildPlan newParent) {
456
		if (newParent != parent) {
482
		if (newParent != parent) {
457
			NotificationChain msgs = null;
483
			NotificationChain msgs = null;
458
			if (parent != null)
484
			if (parent != null) {
459
				msgs = ((InternalEObject) parent).eInverseRemove(this, BuildPackage.IBUILD_PLAN__CHILDREN,
485
				msgs = ((InternalEObject) parent).eInverseRemove(this, BuildPackage.IBUILD_PLAN__CHILDREN,
460
						IBuildPlan.class, msgs);
486
						IBuildPlan.class, msgs);
461
			if (newParent != null)
487
			}
488
			if (newParent != null) {
462
				msgs = ((InternalEObject) newParent).eInverseAdd(this, BuildPackage.IBUILD_PLAN__CHILDREN,
489
				msgs = ((InternalEObject) newParent).eInverseAdd(this, BuildPackage.IBUILD_PLAN__CHILDREN,
463
						IBuildPlan.class, msgs);
490
						IBuildPlan.class, msgs);
491
			}
464
			msgs = basicSetParent(newParent, msgs);
492
			msgs = basicSetParent(newParent, msgs);
465
			if (msgs != null)
493
			if (msgs != null) {
466
				msgs.dispatch();
494
				msgs.dispatch();
467
		} else if (eNotificationRequired())
495
			}
496
		} else if (eNotificationRequired()) {
468
			eNotify(new ENotificationImpl(this, Notification.SET, BuildPackage.BUILD_PLAN__PARENT, newParent, newParent));
497
			eNotify(new ENotificationImpl(this, Notification.SET, BuildPackage.BUILD_PLAN__PARENT, newParent, newParent));
498
		}
469
	}
499
	}
470
500
471
	/**
501
	/**
Lines 488-513 Link Here
488
	}
518
	}
489
519
490
	/**
520
	/**
491
	 * Sets the value of the '{@link org.eclipse.mylyn.internal.builds.core.BuildPlan#getHealth <em>Health</em>}' attribute.
521
	 * Sets the value of the '{@link org.eclipse.mylyn.internal.builds.core.BuildPlan#getHealth <em>Health</em>}'
492
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
522
	 * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
493
	 * @param value the new value of the '<em>Health</em>' attribute.
523
	 * 
524
	 * @param value
525
	 *            the new value of the '<em>Health</em>' attribute.
494
	 * @see #getHealth()
526
	 * @see #getHealth()
495
	 * @generated
527
	 * @generated
496
	 */
528
	 */
497
	public void setHealth(int newHealth) {
529
	public void setHealth(int newHealth) {
498
		int oldHealth = health;
530
		int oldHealth = health;
499
		health = newHealth;
531
		health = newHealth;
500
		if (eNotificationRequired())
532
		if (eNotificationRequired()) {
501
			eNotify(new ENotificationImpl(this, Notification.SET, BuildPackage.BUILD_PLAN__HEALTH, oldHealth, health));
533
			eNotify(new ENotificationImpl(this, Notification.SET, BuildPackage.BUILD_PLAN__HEALTH, oldHealth, health));
534
		}
502
	}
535
	}
503
536
504
	/**
537
	/**
505
	 * Returns the value of the '<em><b>Id</b></em>' attribute.
538
	 * Returns the value of the '<em><b>Id</b></em>' attribute. <!-- begin-user-doc -->
506
	 * <!-- begin-user-doc -->
507
	 * <p>
539
	 * <p>
508
	 * If the meaning of the '<em>Id</em>' attribute isn't clear, there really should be more of a description here...
540
	 * If the meaning of the '<em>Id</em>' attribute isn't clear, there really should be more of a description here...
509
	 * </p>
541
	 * </p>
510
	 * <!-- end-user-doc -->
542
	 * <!-- end-user-doc -->
543
	 * 
511
	 * @return the value of the '<em>Id</em>' attribute.
544
	 * @return the value of the '<em>Id</em>' attribute.
512
	 * @see #setId(String)
545
	 * @see #setId(String)
513
	 * @see org.eclipse.mylyn.internal.builds.core.BuildPackage#getIBuildPlan_Id()
546
	 * @see org.eclipse.mylyn.internal.builds.core.BuildPackage#getIBuildPlan_Id()
Lines 521-545 Link Here
521
	/**
554
	/**
522
	 * Sets the value of the '{@link org.eclipse.mylyn.internal.builds.core.BuildPlan#getId <em>Id</em>}' attribute.
555
	 * Sets the value of the '{@link org.eclipse.mylyn.internal.builds.core.BuildPlan#getId <em>Id</em>}' attribute.
523
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
556
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
524
	 * @param value the new value of the '<em>Id</em>' attribute.
557
	 * 
558
	 * @param value
559
	 *            the new value of the '<em>Id</em>' attribute.
525
	 * @see #getId()
560
	 * @see #getId()
526
	 * @generated
561
	 * @generated
527
	 */
562
	 */
528
	public void setId(String newId) {
563
	public void setId(String newId) {
529
		String oldId = id;
564
		String oldId = id;
530
		id = newId;
565
		id = newId;
531
		if (eNotificationRequired())
566
		if (eNotificationRequired()) {
532
			eNotify(new ENotificationImpl(this, Notification.SET, BuildPackage.BUILD_PLAN__ID, oldId, id));
567
			eNotify(new ENotificationImpl(this, Notification.SET, BuildPackage.BUILD_PLAN__ID, oldId, id));
568
		}
533
	}
569
	}
534
570
535
	/**
571
	/**
536
	 * Returns the value of the '<em><b>Summary</b></em>' attribute.
572
	 * Returns the value of the '<em><b>Summary</b></em>' attribute. <!-- begin-user-doc -->
537
	 * <!-- begin-user-doc -->
538
	 * <p>
573
	 * <p>
539
	 * If the meaning of the '<em>Summary</em>' attribute isn't clear, there really should be more of a description
574
	 * If the meaning of the '<em>Summary</em>' attribute isn't clear, there really should be more of a description
540
	 * here...
575
	 * here...
541
	 * </p>
576
	 * </p>
542
	 * <!-- end-user-doc -->
577
	 * <!-- end-user-doc -->
578
	 * 
543
	 * @return the value of the '<em>Summary</em>' attribute.
579
	 * @return the value of the '<em>Summary</em>' attribute.
544
	 * @see #setSummary(String)
580
	 * @see #setSummary(String)
545
	 * @see org.eclipse.mylyn.internal.builds.core.BuildPackage#getIBuildPlan_Summary()
581
	 * @see org.eclipse.mylyn.internal.builds.core.BuildPackage#getIBuildPlan_Summary()
Lines 551-577 Link Here
551
	}
587
	}
552
588
553
	/**
589
	/**
554
	 * Sets the value of the '{@link org.eclipse.mylyn.internal.builds.core.BuildPlan#getSummary <em>Summary</em>}' attribute.
590
	 * Sets the value of the '{@link org.eclipse.mylyn.internal.builds.core.BuildPlan#getSummary <em>Summary</em>}'
555
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
591
	 * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
556
	 * @param value the new value of the '<em>Summary</em>' attribute.
592
	 * 
593
	 * @param value
594
	 *            the new value of the '<em>Summary</em>' attribute.
557
	 * @see #getSummary()
595
	 * @see #getSummary()
558
	 * @generated
596
	 * @generated
559
	 */
597
	 */
560
	public void setSummary(String newSummary) {
598
	public void setSummary(String newSummary) {
561
		String oldSummary = summary;
599
		String oldSummary = summary;
562
		summary = newSummary;
600
		summary = newSummary;
563
		if (eNotificationRequired())
601
		if (eNotificationRequired()) {
564
			eNotify(new ENotificationImpl(this, Notification.SET, BuildPackage.BUILD_PLAN__SUMMARY, oldSummary, summary));
602
			eNotify(new ENotificationImpl(this, Notification.SET, BuildPackage.BUILD_PLAN__SUMMARY, oldSummary, summary));
603
		}
565
	}
604
	}
566
605
567
	/**
606
	/**
568
	 * Returns the value of the '<em><b>Status</b></em>' attribute.
607
	 * Returns the value of the '<em><b>Status</b></em>' attribute. <!-- begin-user-doc -->
569
	 * <!-- begin-user-doc -->
570
	 * <p>
608
	 * <p>
571
	 * If the meaning of the '<em>Status</em>' attribute isn't clear, there really should be more of a description
609
	 * If the meaning of the '<em>Status</em>' attribute isn't clear, there really should be more of a description
572
	 * here...
610
	 * here...
573
	 * </p>
611
	 * </p>
574
	 * <!-- end-user-doc -->
612
	 * <!-- end-user-doc -->
613
	 * 
575
	 * @return the value of the '<em>Status</em>' attribute.
614
	 * @return the value of the '<em>Status</em>' attribute.
576
	 * @see #setStatus(BuildStatus)
615
	 * @see #setStatus(BuildStatus)
577
	 * @see org.eclipse.mylyn.internal.builds.core.BuildPackage#getIBuildPlan_Status()
616
	 * @see org.eclipse.mylyn.internal.builds.core.BuildPackage#getIBuildPlan_Status()
Lines 583-609 Link Here
583
	}
622
	}
584
623
585
	/**
624
	/**
586
	 * Sets the value of the '{@link org.eclipse.mylyn.internal.builds.core.BuildPlan#getStatus <em>Status</em>}' attribute.
625
	 * Sets the value of the '{@link org.eclipse.mylyn.internal.builds.core.BuildPlan#getStatus <em>Status</em>}'
587
	 * <!-- begin-user-doc -->
626
	 * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
588
	 * <!-- end-user-doc -->
627
	 * 
589
	 * @param value the new value of the '<em>Status</em>' attribute.
628
	 * @param value
629
	 *            the new value of the '<em>Status</em>' attribute.
590
	 * @see #getStatus()
630
	 * @see #getStatus()
591
	 * @generated
631
	 * @generated
592
	 */
632
	 */
593
	public void setStatus(BuildStatus newStatus) {
633
	public void setStatus(BuildStatus newStatus) {
594
		BuildStatus oldStatus = status;
634
		BuildStatus oldStatus = status;
595
		status = newStatus;
635
		status = newStatus;
596
		if (eNotificationRequired())
636
		if (eNotificationRequired()) {
597
			eNotify(new ENotificationImpl(this, Notification.SET, BuildPackage.BUILD_PLAN__STATUS, oldStatus, status));
637
			eNotify(new ENotificationImpl(this, Notification.SET, BuildPackage.BUILD_PLAN__STATUS, oldStatus, status));
638
		}
598
	}
639
	}
599
640
600
	/**
641
	/**
601
	 * Returns the value of the '<em><b>Info</b></em>' attribute.
642
	 * Returns the value of the '<em><b>Info</b></em>' attribute. <!-- begin-user-doc -->
602
	 * <!-- begin-user-doc -->
603
	 * <p>
643
	 * <p>
604
	 * If the meaning of the '<em>Info</em>' attribute isn't clear, there really should be more of a description here...
644
	 * If the meaning of the '<em>Info</em>' attribute isn't clear, there really should be more of a description here...
605
	 * </p>
645
	 * </p>
606
	 * <!-- end-user-doc -->
646
	 * <!-- end-user-doc -->
647
	 * 
607
	 * @return the value of the '<em>Info</em>' attribute.
648
	 * @return the value of the '<em>Info</em>' attribute.
608
	 * @see #setInfo(String)
649
	 * @see #setInfo(String)
609
	 * @see org.eclipse.mylyn.internal.builds.core.BuildPackage#getIBuildPlan_Info()
650
	 * @see org.eclipse.mylyn.internal.builds.core.BuildPackage#getIBuildPlan_Info()
Lines 617-641 Link Here
617
	/**
658
	/**
618
	 * Sets the value of the '{@link org.eclipse.mylyn.internal.builds.core.BuildPlan#getInfo <em>Info</em>}' attribute.
659
	 * Sets the value of the '{@link org.eclipse.mylyn.internal.builds.core.BuildPlan#getInfo <em>Info</em>}' attribute.
619
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
660
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
620
	 * @param value the new value of the '<em>Info</em>' attribute.
661
	 * 
662
	 * @param value
663
	 *            the new value of the '<em>Info</em>' attribute.
621
	 * @see #getInfo()
664
	 * @see #getInfo()
622
	 * @generated
665
	 * @generated
623
	 */
666
	 */
624
	public void setInfo(String newInfo) {
667
	public void setInfo(String newInfo) {
625
		String oldInfo = info;
668
		String oldInfo = info;
626
		info = newInfo;
669
		info = newInfo;
627
		if (eNotificationRequired())
670
		if (eNotificationRequired()) {
628
			eNotify(new ENotificationImpl(this, Notification.SET, BuildPackage.BUILD_PLAN__INFO, oldInfo, info));
671
			eNotify(new ENotificationImpl(this, Notification.SET, BuildPackage.BUILD_PLAN__INFO, oldInfo, info));
672
		}
629
	}
673
	}
630
674
631
	/**
675
	/**
632
	 * Returns the value of the '<em><b>State</b></em>' attribute.
676
	 * Returns the value of the '<em><b>State</b></em>' attribute. <!-- begin-user-doc -->
633
	 * <!-- begin-user-doc -->
634
	 * <p>
677
	 * <p>
635
	 * If the meaning of the '<em>State</em>' attribute isn't clear, there really should be more of a description
678
	 * If the meaning of the '<em>State</em>' attribute isn't clear, there really should be more of a description
636
	 * here...
679
	 * here...
637
	 * </p>
680
	 * </p>
638
	 * <!-- end-user-doc -->
681
	 * <!-- end-user-doc -->
682
	 * 
639
	 * @return the value of the '<em>State</em>' attribute.
683
	 * @return the value of the '<em>State</em>' attribute.
640
	 * @see #setState(BuildState)
684
	 * @see #setState(BuildState)
641
	 * @see org.eclipse.mylyn.internal.builds.core.BuildPackage#getIBuildPlan_State()
685
	 * @see org.eclipse.mylyn.internal.builds.core.BuildPackage#getIBuildPlan_State()
Lines 647-663 Link Here
647
	}
691
	}
648
692
649
	/**
693
	/**
650
	 * Sets the value of the '{@link org.eclipse.mylyn.internal.builds.core.BuildPlan#getState <em>State</em>}' attribute.
694
	 * Sets the value of the '{@link org.eclipse.mylyn.internal.builds.core.BuildPlan#getState <em>State</em>}'
651
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
695
	 * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
652
	 * @param value the new value of the '<em>State</em>' attribute.
696
	 * 
697
	 * @param value
698
	 *            the new value of the '<em>State</em>' attribute.
653
	 * @see #getState()
699
	 * @see #getState()
654
	 * @generated
700
	 * @generated
655
	 */
701
	 */
656
	public void setState(BuildState newState) {
702
	public void setState(BuildState newState) {
657
		BuildState oldState = state;
703
		BuildState oldState = state;
658
		state = newState;
704
		state = newState;
659
		if (eNotificationRequired())
705
		if (eNotificationRequired()) {
660
			eNotify(new ENotificationImpl(this, Notification.SET, BuildPackage.BUILD_PLAN__STATE, oldState, state));
706
			eNotify(new ENotificationImpl(this, Notification.SET, BuildPackage.BUILD_PLAN__STATE, oldState, state));
707
		}
661
	}
708
	}
662
709
663
	/**
710
	/**
Lines 680-701 Link Here
680
	}
727
	}
681
728
682
	/**
729
	/**
683
	 * Sets the value of the '{@link org.eclipse.mylyn.internal.builds.core.BuildPlan#isSelected <em>Selected</em>}' attribute.
730
	 * Sets the value of the '{@link org.eclipse.mylyn.internal.builds.core.BuildPlan#isSelected <em>Selected</em>}'
684
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
731
	 * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
685
	 * @param value the new value of the '<em>Selected</em>' attribute.
732
	 * 
733
	 * @param value
734
	 *            the new value of the '<em>Selected</em>' attribute.
686
	 * @see #isSelected()
735
	 * @see #isSelected()
687
	 * @generated
736
	 * @generated
688
	 */
737
	 */
689
	public void setSelected(boolean newSelected) {
738
	public void setSelected(boolean newSelected) {
690
		boolean oldSelected = selected;
739
		boolean oldSelected = selected;
691
		selected = newSelected;
740
		selected = newSelected;
692
		if (eNotificationRequired())
741
		if (eNotificationRequired()) {
693
			eNotify(new ENotificationImpl(this, Notification.SET, BuildPackage.BUILD_PLAN__SELECTED, oldSelected,
742
			eNotify(new ENotificationImpl(this, Notification.SET, BuildPackage.BUILD_PLAN__SELECTED, oldSelected,
694
					selected));
743
					selected));
744
		}
695
	}
745
	}
696
746
697
	/**
747
	/**
698
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
748
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
749
	 * 
699
	 * @generated
750
	 * @generated
700
	 */
751
	 */
701
	@SuppressWarnings("unchecked")
752
	@SuppressWarnings("unchecked")
Lines 703-717 Link Here
703
	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
754
	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
704
		switch (featureID) {
755
		switch (featureID) {
705
		case BuildPackage.BUILD_PLAN__SERVER:
756
		case BuildPackage.BUILD_PLAN__SERVER:
706
			if (eInternalContainer() != null)
757
			if (eInternalContainer() != null) {
707
				msgs = eBasicRemoveFromContainer(msgs);
758
				msgs = eBasicRemoveFromContainer(msgs);
759
			}
708
			return basicSetServer((IBuildServer) otherEnd, msgs);
760
			return basicSetServer((IBuildServer) otherEnd, msgs);
709
		case BuildPackage.BUILD_PLAN__CHILDREN:
761
		case BuildPackage.BUILD_PLAN__CHILDREN:
710
			return ((InternalEList<InternalEObject>) (InternalEList<?>) getChildren()).basicAdd(otherEnd, msgs);
762
			return ((InternalEList<InternalEObject>) (InternalEList<?>) getChildren()).basicAdd(otherEnd, msgs);
711
		case BuildPackage.BUILD_PLAN__PARENT:
763
		case BuildPackage.BUILD_PLAN__PARENT:
712
			if (parent != null)
764
			if (parent != null) {
713
				msgs = ((InternalEObject) parent).eInverseRemove(this, BuildPackage.IBUILD_PLAN__CHILDREN,
765
				msgs = ((InternalEObject) parent).eInverseRemove(this, BuildPackage.IBUILD_PLAN__CHILDREN,
714
						IBuildPlan.class, msgs);
766
						IBuildPlan.class, msgs);
767
			}
715
			return basicSetParent((IBuildPlan) otherEnd, msgs);
768
			return basicSetParent((IBuildPlan) otherEnd, msgs);
716
		}
769
		}
717
		return super.eInverseAdd(otherEnd, featureID, msgs);
770
		return super.eInverseAdd(otherEnd, featureID, msgs);
Lines 719-724 Link Here
719
772
720
	/**
773
	/**
721
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
774
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
775
	 * 
722
	 * @generated
776
	 * @generated
723
	 */
777
	 */
724
	@Override
778
	@Override
Lines 736-741 Link Here
736
790
737
	/**
791
	/**
738
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
792
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
793
	 * 
739
	 * @generated
794
	 * @generated
740
	 */
795
	 */
741
	@Override
796
	@Override
Lines 750-755 Link Here
750
805
751
	/**
806
	/**
752
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
807
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
808
	 * 
753
	 * @generated
809
	 * @generated
754
	 */
810
	 */
755
	@Override
811
	@Override
Lines 764-771 Link Here
764
		case BuildPackage.BUILD_PLAN__CHILDREN:
820
		case BuildPackage.BUILD_PLAN__CHILDREN:
765
			return getChildren();
821
			return getChildren();
766
		case BuildPackage.BUILD_PLAN__PARENT:
822
		case BuildPackage.BUILD_PLAN__PARENT:
767
			if (resolve)
823
			if (resolve) {
768
				return getParent();
824
				return getParent();
825
			}
769
			return basicGetParent();
826
			return basicGetParent();
770
		case BuildPackage.BUILD_PLAN__HEALTH:
827
		case BuildPackage.BUILD_PLAN__HEALTH:
771
			return getHealth();
828
			return getHealth();
Lines 787-792 Link Here
787
844
788
	/**
845
	/**
789
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
846
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
847
	 * 
790
	 * @generated
848
	 * @generated
791
	 */
849
	 */
792
	@SuppressWarnings("unchecked")
850
	@SuppressWarnings("unchecked")
Lines 836-841 Link Here
836
894
837
	/**
895
	/**
838
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
896
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
897
	 * 
839
	 * @generated
898
	 * @generated
840
	 */
899
	 */
841
	@Override
900
	@Override
Lines 883-888 Link Here
883
942
884
	/**
943
	/**
885
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
944
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
945
	 * 
886
	 * @generated
946
	 * @generated
887
	 */
947
	 */
888
	@Override
948
	@Override
Lines 918-929 Link Here
918
978
919
	/**
979
	/**
920
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
980
	 * <!-- begin-user-doc --> <!-- end-user-doc -->
981
	 * 
921
	 * @generated
982
	 * @generated
922
	 */
983
	 */
923
	@Override
984
	@Override
924
	public String toString() {
985
	public String toString() {
925
		if (eIsProxy())
986
		if (eIsProxy()) {
926
			return super.toString();
987
			return super.toString();
988
		}
927
989
928
		StringBuffer result = new StringBuffer(super.toString());
990
		StringBuffer result = new StringBuffer(super.toString());
929
		result.append(" (url: ");
991
		result.append(" (url: ");
Lines 955-958 Link Here
955
		return newPlan;
1017
		return newPlan;
956
	}
1018
	}
957
1019
1020
	public IStatus run(IOperationMonitor monitor) throws CoreException {
1021
		return ((BuildServer) getServer()).getBehaviour().runBuild(this, monitor);
1022
	}
1023
958
} // BuildPlan
1024
} // BuildPlan
(-)src/org/eclipse/mylyn/builds/tests/mock/MockBuildServerBehavior.java (+6 lines)
Lines 19-24 Link Here
19
import org.eclipse.core.runtime.Status;
19
import org.eclipse.core.runtime.Status;
20
import org.eclipse.mylyn.builds.core.BuildState;
20
import org.eclipse.mylyn.builds.core.BuildState;
21
import org.eclipse.mylyn.builds.core.BuildStatus;
21
import org.eclipse.mylyn.builds.core.BuildStatus;
22
import org.eclipse.mylyn.builds.core.IBuildElement;
22
import org.eclipse.mylyn.builds.core.IBuildPlan;
23
import org.eclipse.mylyn.builds.core.IBuildPlan;
23
import org.eclipse.mylyn.builds.core.IBuildPlanWorkingCopy;
24
import org.eclipse.mylyn.builds.core.IBuildPlanWorkingCopy;
24
import org.eclipse.mylyn.builds.core.IBuildServer;
25
import org.eclipse.mylyn.builds.core.IBuildServer;
Lines 74-77 Link Here
74
		return Status.OK_STATUS;
75
		return Status.OK_STATUS;
75
	}
76
	}
76
77
78
	@Override
79
	public IStatus runBuild(IBuildElement element, IOperationMonitor monitor) throws CoreException {
80
		return Status.OK_STATUS;
81
	}
82
77
}
83
}
(-)src/org/eclipse/mylyn/internal/builds/ui/view/BuildsView.java (+9 lines)
Lines 117-122 Link Here
117
		MenuManager menuManager = new MenuManager();
117
		MenuManager menuManager = new MenuManager();
118
118
119
		GroupMarker marker = new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS);
119
		GroupMarker marker = new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS);
120
121
		OpenInBrowserAction openInBrowserAction = new OpenInBrowserAction();
122
		menuManager.add(openInBrowserAction);
123
		viewer.addSelectionChangedListener(openInBrowserAction);
124
125
		RunBuildAction runBuildAction = new RunBuildAction();
126
		menuManager.add(runBuildAction);
127
		viewer.addSelectionChangedListener(runBuildAction);
128
120
		menuManager.add(marker);
129
		menuManager.add(marker);
121
		Menu contextMenu = menuManager.createContextMenu(parent);
130
		Menu contextMenu = menuManager.createContextMenu(parent);
122
131
(-)src/org/eclipse/mylyn/internal/builds/ui/view/RunBuildAction.java (+60 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2010 Markus Knittig and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *     Markus Knittig - initial API and implementation
10
 *******************************************************************************/
11
12
package org.eclipse.mylyn.internal.builds.ui.view;
13
14
import org.eclipse.core.runtime.CoreException;
15
import org.eclipse.core.runtime.IProgressMonitor;
16
import org.eclipse.core.runtime.IStatus;
17
import org.eclipse.core.runtime.NullProgressMonitor;
18
import org.eclipse.core.runtime.Status;
19
import org.eclipse.core.runtime.jobs.Job;
20
import org.eclipse.jface.viewers.IStructuredSelection;
21
import org.eclipse.mylyn.builds.core.IBuildPlan;
22
import org.eclipse.mylyn.builds.core.util.ProgressUtil;
23
import org.eclipse.ui.actions.BaseSelectionListenerAction;
24
25
/**
26
 * @author Markus Knittig
27
 */
28
public class RunBuildAction extends BaseSelectionListenerAction {
29
30
	protected RunBuildAction() {
31
		super("Run Build");
32
		setToolTipText("Run Build");
33
		// TODO insert eclipse run icon
34
	}
35
36
	@Override
37
	protected boolean updateSelection(IStructuredSelection selection) {
38
		return !selection.isEmpty();
39
	}
40
41
	@Override
42
	public void run() {
43
		IStructuredSelection selection = getStructuredSelection();
44
		for (Object object : selection.toList()) {
45
			if (object instanceof IBuildPlan) {
46
				final IBuildPlan plan = (IBuildPlan) object;
47
				new Job("Running build...") {
48
					@Override
49
					protected IStatus run(IProgressMonitor monitor) {
50
						try {
51
							return plan.run(ProgressUtil.convert(monitor));
52
						} catch (CoreException e) {
53
							return Status.CANCEL_STATUS;
54
						}
55
					}
56
				}.run(new NullProgressMonitor());
57
			}
58
		}
59
	}
60
}
(-)src/org/eclipse/mylyn/internal/hudson/core/HudsonServerBehaviour.java (+12 lines)
Lines 18-23 Link Here
18
import org.eclipse.core.runtime.IStatus;
18
import org.eclipse.core.runtime.IStatus;
19
import org.eclipse.mylyn.builds.core.BuildState;
19
import org.eclipse.mylyn.builds.core.BuildState;
20
import org.eclipse.mylyn.builds.core.BuildStatus;
20
import org.eclipse.mylyn.builds.core.BuildStatus;
21
import org.eclipse.mylyn.builds.core.IBuildElement;
21
import org.eclipse.mylyn.builds.core.IBuildPlan;
22
import org.eclipse.mylyn.builds.core.IBuildPlan;
22
import org.eclipse.mylyn.builds.core.IBuildPlanWorkingCopy;
23
import org.eclipse.mylyn.builds.core.IBuildPlanWorkingCopy;
23
import org.eclipse.mylyn.builds.core.IBuildServer;
24
import org.eclipse.mylyn.builds.core.IBuildServer;
Lines 102-105 Link Here
102
		}
103
		}
103
	}
104
	}
104
105
106
	@Override
107
	public IStatus runBuild(IBuildElement element, IOperationMonitor monitor) throws CoreException {
108
		try {
109
			HudsonModelJob job = new HudsonModelJob();
110
			job.setUrl(element.getUrl());
111
			return client.runBuild(job, monitor);
112
		} catch (HudsonException e) {
113
			throw HudsonCorePlugin.toCoreException(e);
114
		}
115
	}
116
105
}
117
}
(-)src/org/eclipse/mylyn/internal/hudson/core/client/RestfulHudsonClient.java (+19 lines)
Lines 128-131 Link Here
128
				HttpStatus.getStatusText(response)));
128
				HttpStatus.getStatusText(response)));
129
	}
129
	}
130
130
131
	public IStatus runBuild(final HudsonModelJob job, final IOperationMonitor monitor) throws HudsonException {
132
		int response = new HudsonOperation<Integer>(client) {
133
			@Override
134
			public Integer execute() throws IOException {
135
				CommonHttpMethod method = createGetMethod(job.getUrl() + "/build");
136
				try {
137
					return execute(method, monitor);
138
				} finally {
139
					method.releaseConnection(monitor);
140
				}
141
			}
142
		}.run();
143
		if (response == HttpStatus.SC_OK) {
144
			return Status.OK_STATUS;
145
		}
146
		throw new HudsonException(NLS.bind("Unexpected return code {0}: {1}", response,
147
				HttpStatus.getStatusText(response)));
148
	}
149
131
}
150
}
(-)src/org/eclipse/mylyn/hudson/tests/client/HudsonClientTest.java (-3 / +29 lines)
Lines 20-25 Link Here
20
import org.eclipse.mylyn.hudson.tests.support.HudsonFixture;
20
import org.eclipse.mylyn.hudson.tests.support.HudsonFixture;
21
import org.eclipse.mylyn.internal.hudson.core.client.HudsonException;
21
import org.eclipse.mylyn.internal.hudson.core.client.HudsonException;
22
import org.eclipse.mylyn.internal.hudson.core.client.RestfulHudsonClient;
22
import org.eclipse.mylyn.internal.hudson.core.client.RestfulHudsonClient;
23
import org.eclipse.mylyn.internal.hudson.model.HudsonModelBallColor;
23
import org.eclipse.mylyn.internal.hudson.model.HudsonModelJob;
24
import org.eclipse.mylyn.internal.hudson.model.HudsonModelJob;
24
25
25
/**
26
/**
Lines 60-69 Link Here
60
		}
61
		}
61
	}
62
	}
62
63
63
	public void testGetPlans() throws Exception {
64
	public void testGetJobs() throws Exception {
64
		client = fixture.connect();
65
		client = fixture.connect();
65
		List<HudsonModelJob> plans = client.getJobs(null);
66
		List<HudsonModelJob> jobs = client.getJobs(null);
66
		assertEquals(plans.get(0).getName(), "failing");
67
		assertEquals(jobs.get(0).getName(), "failing");
68
	}
69
70
	public void testRunBuild() throws Exception {
71
		client = fixture.connect();
72
73
		// failing build
74
		client.runBuild(getJob("failing"), ProgressUtil.convert(null));
75
		assertEquals(getJob("failing").getColor(), HudsonModelBallColor.RED_ANIME);
76
		Thread.sleep(1000);
77
		assertEquals(getJob("succeeding").getColor(), HudsonModelBallColor.RED);
78
79
		// succeeding build
80
		client.runBuild(getJob("succeeding"), ProgressUtil.convert(null));
81
		assertEquals(getJob("succeeding").getColor(), HudsonModelBallColor.BLUE_ANIME);
82
		Thread.sleep(1000);
83
		assertEquals(getJob("succeeding").getColor(), HudsonModelBallColor.BLUE);
84
	}
85
86
	private HudsonModelJob getJob(String name) throws HudsonException {
87
		for (HudsonModelJob job : client.getJobs(null)) {
88
			if (job.getName().equals(name)) {
89
				return job;
90
			}
91
		}
92
		return null;
67
	}
93
	}
68
94
69
}
95
}
(-)src/org/eclipse/mylyn/hudson/tests/support/HudsonFixture.java (+4 lines)
Lines 70-75 Link Here
70
		return new RestfulHudsonClient(new WebLocation(url));
70
		return new RestfulHudsonClient(new WebLocation(url));
71
	}
71
	}
72
72
73
	public RestfulHudsonClient connect(String url, String username, String password) {
74
		return new RestfulHudsonClient(new WebLocation(url, username, password));
75
	}
76
73
	@Override
77
	@Override
74
	protected TestFixture getDefault() {
78
	protected TestFixture getDefault() {
75
		return DEFAULT;
79
		return DEFAULT;

Return to bug 317384