1402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll/*******************************************************************************
2402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * Copyright (c) 2000, 2006 IBM Corporation and others.
3402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * All rights reserved. This program and the accompanying materials
4402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * are made available under the terms of the Eclipse Public License v1.0
5402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * which accompanies this distribution, and is available at
6402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * http://www.eclipse.org/legal/epl-v10.html
7402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll *
8402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * Contributors:
9402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll *     IBM Corporation - initial API and implementation
10402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll *******************************************************************************/
11402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll/*
12402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * Created on 8-Jan-2004
13402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll *
14402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * To change this generated comment go to
15402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * Window>Preferences>Java>Code Generation>Code Template
16402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll */
17402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollpackage org.eclipse.releng;
18402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll
19402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollimport org.apache.tools.ant.Task;
20402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollimport org.apache.tools.ant.BuildException;
21402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll/**
22402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * @author SDimitrov
23402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll *
24402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * To change this generated comment go to
25402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * Window>Preferences>Java>Code Generation>Code Template
26402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll */
27402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollpublic class FindMachineTask extends Task {
28402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll
29402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	// findKey represents the key in cfg from which which to obtain the list of machines
30402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	// createKey is written to the registry with the machine name that is available
31402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	//registry mapping of machines being used by a given build
32402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	private String markerContainer;
33402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll
34402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll//time in seconds to wait before re-checking for an available machine
35402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	private int waitInterval;
36402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	private String markerName;
37402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	private String markerKey="0";
38402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll//list is the path to the configuration of build machines available for a given build type
39402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	private String cfgKey;
40402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	private String cfg;
41402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll
42402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	/**
43402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	 *
44402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	 */
45402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	public static void main(String args[]){
46402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll		FindMachineTask test = new FindMachineTask();
47402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll		test.markerContainer = "D:\\junk\\markers";
48402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll		test.cfg="D:\\workspaces\\current\\eclipseInternalBuildTools\\testConfig.properties";
49402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll		test.cfgKey="windowstesting";
50402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll		test.markerName = "200412091500";
51402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll		test.waitInterval = 10;
52402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll		test.execute();
53402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	}
54402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	public FindMachineTask() {
55402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll		super();
56402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	}
57402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	public void execute() throws BuildException {
58402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll		new BuildMachineManager(cfg,markerContainer,waitInterval,markerName,markerKey,cfgKey);
59402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	}
60402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	/**
61402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	 * @return Returns the cfg.
62402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	 */
63402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	public String getCfg() {
64402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll		return cfg;
65402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	}
66402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll
67402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	/**
68402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	 * @param cfg The cfg to set.
69402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	 */
70402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	public void setCfg(String cfg) {
71402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll		this.cfg = cfg;
72402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	}
73402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll
74402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	/**
75402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	 * @return Returns the createKey.
76402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	 */
77402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	public String getMarkerName() {
78402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll		return markerName;
79402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	}
80402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll
81402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	/**
82402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	 * @param createKey The createKey to set.
83402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	 */
84402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	public void setMarkerName(String markerName) {
85402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll		this.markerName = markerName;
86402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	}
87402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll
88402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll/**
89402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * @return Returns the findKey.
90402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll */
91402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollpublic String getCfgKey() {
92402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	return cfgKey;
93402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll}
94402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll
95402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll/**
96402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * @param findKey The findKey to set.
97402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll */
98402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollpublic void setCfgKey(String cfgKey) {
99402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	this.cfgKey = cfgKey;
100402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll}
101402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll
102402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	/**
103402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	 * @return Returns the registry.
104402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	 */
105402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	public String getMarkerContainer() {
106402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll		return markerContainer;
107402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	}
108402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll
109402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	/**
110402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	 * @param registry The registry to set.
111402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	 */
112402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	public void setMarkerContainer(String markerContainer) {
113402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll		this.markerContainer = markerContainer;
114402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	}
115402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll
116402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll/**
117402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * @return Returns the waitInterval.
118402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll */
119402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollpublic int getWaitInterval() {
120402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	return waitInterval;
121402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll}
122402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll
123402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll/**
124402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll * @param waitInterval The waitInterval to set.
125402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll */
126402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Mollpublic void setWaitInterval(int waitInterval) {
127402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	this.waitInterval = waitInterval;
128402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll}
129402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll
130402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	/**
131402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	 * @return Returns the markerKey.
132402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	 */
133402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	public String getMarkerKey() {
134402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll		return markerKey;
135402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	}
136402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll
137402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	/**
138402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	 * @param markerKey The markerKey to set.
139402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	 */
140402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	public void setMarkerKey(String markerKey) {
141402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll		this.markerKey = markerKey;
142402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll	}
143402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll
144402794e73aed8611d62eb4b01cd155e2d76fcb87Raphael Moll}
145