aboutsummaryrefslogtreecommitdiff
path: root/basebuilder-3.6.2/org.eclipse.releng.basebuilder/plugins/org.eclipse.build.tools/src/org/eclipse/releng/BuildProperties.java
blob: 927e4611ddf94cf0f13805fcefc7cc1eb096537c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
/*******************************************************************************
 * Copyright (c) 2000, 2006 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.releng;

import java.io.*;
import java.util.Properties;

/**
 * Class that stores build identification information taken from monitor.
 * properties as String objects
 */
public class BuildProperties {
	// recipients key value setting.  Comma separated list of email addresses of those who should
	// receive build information
	private String toRecipientList = "";

	// text message notification list
	private String textRecipientList = "";

	// email address of the sender
	private String sender = "";
	// mail server name
	private String host = "";

	// default name of the build log file used with listener
	private String logFile = "index.php";

	// the prefix prepended to the subject of build related emails
	private String buildSubjectPrefix="[build]";

	// the build id,  typically <buildType><build date>	
	private String buildid;
	// the date and time of the build
	private String timestamp;
	// the name of the directory containing the builds, typically <buildType>-<buildType><build date>-<timestamp>
	private String buildLabel;

	// the http download URL
	private String httpUrl;

	// the ftp download URL
//	private String ftpUrl;
	
	// the Object that holds the key value pairs in monitor.properties
	private Properties buildProperties;

	public BuildProperties (){
		this("monitor.properties");
	}
	
		
	public BuildProperties(String monitorProperties) {
		buildProperties = new Properties();
		// retrieve information from monitor.properties file.
		//  This file should reside in the same directory as the startup.jar at build time.
		try {
			buildProperties.load(
				new FileInputStream(new File(monitorProperties)));

			try {
					buildSubjectPrefix = buildProperties.get("buildSubjectPrefix").toString();
				} catch (NullPointerException e) {
					System.out.println(
						"Value for buildSubjectPrefix not found in monitor.properties");
					System.out.println(
							"Default value, buildSubjectPrefix=[build] will be used.");

				}

			try {
					httpUrl = buildProperties.get("httpUrl").toString();
				} catch (NullPointerException e) {
					System.out.println(
						"Value for httpUrl not found in monitor.properties");
				}
				
			/*try {
				ftpUrl = buildProperties.get("ftpUrl").toString();
			} catch (NullPointerException e) {
				System.out.println(
				"Value for ftpUrl not found in monitor.properties");
			}*/
				
			try {
				buildid = buildProperties.get("buildId").toString();
			} catch (NullPointerException e) {
				System.out.println(
					"Value for buildId not found in monitor.properties");
			}

			try {
				buildLabel = buildProperties.get("buildLabel").toString();
			} catch (NullPointerException e) {
				System.out.println(
					"Value for buildLabel not found in monitor.properties");
			}
			try {
				timestamp = buildProperties.get("timestamp").toString();
			} catch (NullPointerException e) {
				System.out.println(
					"Value for timestamp not found in monitor.properties");
			}

			try {
				toRecipientList = buildProperties.get("recipients").toString();
			} catch (NullPointerException e) {
				System.out.println(
					"Value for recipients not found in monitor.properties");

			}

			try {
				textRecipientList = buildProperties.get("textRecipients").toString();
			} catch (NullPointerException e) {
				System.out.println(
					"Value for textRecipients not found in monitor.properties");

			}

			try {
				sender = buildProperties.get("sender").toString();
			} catch (NullPointerException e) {
				System.out.println(
					"Value for sender not found in monitor.properties");
			}

			try {
				host = buildProperties.get("host").toString();
			} catch (NullPointerException e) {
				System.out.println(
					"Value for host not found in monitor.properties");
			}

			try {
				logFile = buildProperties.get("log").toString();
			} catch (NullPointerException e) {
				System.out.println(
					"Value for log not found in monitor.properties");
				System.out.println(
					"Default value, log=index.php will be used.");
				
			}

		} catch (IOException e) {
			e.printStackTrace();
		}

	}


	public static void main(String args[]) {
		new BuildProperties();
	}


	/**
	 * Returns the buildLabel.
	 * @return String
	 */
	public String getBuildLabel() {
		return buildLabel;
	}

	/**
	 * Sets the buildLabel.
	 * @param buildLabel The buildLabel to set
	 */
	public void setBuildLabel(String buildLabel) {
		this.buildLabel = buildLabel;
	}

	/**
	 * Returns the logFile.
	 * @return String
	 */
	public String getLogFile() {
		return logFile;
	}

	/**
	 * Sets the logFile.
	 * @param logFile The logFile to set
	 */
	public void setLogFile(String logFile) {
		this.logFile = logFile;
	}

	/**
	 * Returns the buildid.
	 * @return String
	 */
	public String getBuildid() {
		return buildid;
	}

	/**
	 * Returns the timestamp.
	 * @return String
	 */
	public String getTimestamp() {
		return timestamp;
	}

	/**
	 * Sets the buildid.
	 * @param buildid The buildid to set
	 */
	public void setBuildid(String buildid) {
		this.buildid = buildid;
	}

	/**
	 * Sets the timestamp.
	 * @param timestamp The timestamp to set
	 */
	public void setTimestamp(String timestamp) {
		this.timestamp = timestamp;
	}

	/**
	 * Returns the host.
	 * @return String
	 */
	public String getHost() {
		return host;
	}

	/**
	 * Returns the recipientList.
	 * @return String
	 */
	public String getToRecipientList() {
		return toRecipientList;
	}

	/**
	 * Returns the sender.
	 * @return String
	 */
	public String getSender() {
		return sender;
	}

	/**
	 * Sets the host.
	 * @param host The host to set
	 */
	public void setHost(String host) {
		this.host = host;
	}

	/**
	 * Sets the recipientList.
	 * @param recipientList The recipientList to set
	 */
	public void setRecipientList(String recipientList) {
		this.toRecipientList = recipientList;
	}

	/**
	 * Sets the sender.
	 * @param sender The sender to set
	 */
	public void setSender(String sender) {
		this.sender = sender;
	}

	/**
	 * Returns the buildSubjectPrefix.
	 * @return String
	 */
	public String getBuildSubjectPrefix() {
		return buildSubjectPrefix;
	}

	/**
	 * Sets the buildSubjectPrefix.
	 * @param buildSubjectPrefix The buildSubjectPrefix to set
	 */
	public void setBuildSubjectPrefix(String buildSubjectPrefix) {
		this.buildSubjectPrefix = buildSubjectPrefix;
	}

	/**
	 * Returns the httpUrl.
	 * @return String
	 */
	public String getHttpUrl() {
		return httpUrl;
	}

	/**
	 * Sets the httpUrl.
	 * @param httpUrl The httpUrl to set
	 */
	public void setHttpUrl(String downloadUrl) {
		this.httpUrl = downloadUrl;
	}
	
	/**
	 * Returns the ftpUrl.
	 * @return String
	 *//*
	public String getftpUrl() {
		return ftpUrl;
	}*/

	/**
	 * Sets the ftpUrl.
	 * @param ftpUrl The httpUrl to set
	 *//*
	public void setftpUrl(String downloadUrl) {
		this.ftpUrl = downloadUrl;
	}*/


	public String getTextRecipientList() {
		return textRecipientList;
	}


	public void setTextRecipientList(String textRecipientList) {
		this.textRecipientList = textRecipientList;
	}
	
}