summaryrefslogtreecommitdiffstats
path: root/gearman/controllerWorker/ControllerWorker/BootWorker.java
diff options
context:
space:
mode:
authorBjörn Geiger2011-10-20 16:59:29 +0200
committerBjörn Geiger2011-10-20 16:59:29 +0200
commit54a3c83fa9a5e380804111671b019d6c15df9b04 (patch)
tree5361ef7ed1c4cef0eca2dd2d650666c23a3e7c76 /gearman/controllerWorker/ControllerWorker/BootWorker.java
parentjar update (diff)
downloadpoolctrl-54a3c83fa9a5e380804111671b019d6c15df9b04.tar.gz
poolctrl-54a3c83fa9a5e380804111671b019d6c15df9b04.tar.xz
poolctrl-54a3c83fa9a5e380804111671b019d6c15df9b04.zip
Korrektur!
Diffstat (limited to 'gearman/controllerWorker/ControllerWorker/BootWorker.java')
-rwxr-xr-xgearman/controllerWorker/ControllerWorker/BootWorker.java125
1 files changed, 71 insertions, 54 deletions
diff --git a/gearman/controllerWorker/ControllerWorker/BootWorker.java b/gearman/controllerWorker/ControllerWorker/BootWorker.java
index a9c538b..afcf9d6 100755
--- a/gearman/controllerWorker/ControllerWorker/BootWorker.java
+++ b/gearman/controllerWorker/ControllerWorker/BootWorker.java
@@ -34,69 +34,86 @@ public class BootWorker extends AbstractGearmanFunction {
String data = ByteUtils.fromUTF8Bytes((byte[]) this.data);
Vector<Client> clients = new Vector<Client>();
JSONObject jsonObject = (JSONObject) JSONValue.parse(data);
- String event = jsonObject.get("eventName").toString();
- String eventOS = jsonObject.get("eventOS").toString();
- JSONArray jsonClients = (JSONArray) jsonObject.get("clients");
-
- for (Object clientObj : jsonClients) {
- JSONObject clientJsonObj = (JSONObject) clientObj;
- Client client = new Client(clientJsonObj, "boot", event);
- clients.add(client);
+ String event = "";
+ if (jsonObject.get("eventName") != null) {
+ event = jsonObject.get("eventName").toString();
}
-
- String gearmanServerHost = ControllerWorkerMain.getApplication_ini()
- .getString("gearman.server.host");
- int gearmanServerPort = Integer.parseInt(ControllerWorkerMain
- .getApplication_ini().getString("gearman.server.port"));
- long waitTime = Long.parseLong(ControllerWorkerMain.getApplication_ini()
- .getString("gearman.worker.waitTime"));
- long scsavTime = Integer.parseInt(ControllerWorkerMain.getApplication_ini()
- .getString("gearman.worker.scsavTime"));
- int updateRate = Integer.parseInt(ControllerWorkerMain.getApplication_ini()
- .getString("gearman.worker.updateRate"));
- String blacklist = ControllerWorkerMain.getApplication_ini().getString(
- "gearman.worker.ps.blacklist");
- StringTokenizer blacklistTokenizer = new StringTokenizer(blacklist, ", ");
- String whitelist = ControllerWorkerMain.getApplication_ini().getString(
- "gearman.worker.ps.whitelist");
- StringTokenizer whitelistTokenizer = new StringTokenizer(whitelist, ", ");
- Vector<String> psWhitelist = new Vector<String>();
- Vector<String> psBlacklist = new Vector<String>();
- while (whitelistTokenizer.hasMoreTokens()) {
- String whiteEntry = whitelistTokenizer.nextToken();
- psWhitelist.add(whiteEntry);
+ String eventOS = "";
+ if (jsonObject.get("eventOS") != null) {
+ eventOS = jsonObject.get("eventOS").toString();
}
- while (blacklistTokenizer.hasMoreTokens()) {
- String blackEntry = blacklistTokenizer.nextToken();
- psBlacklist.add(blackEntry);
+ JSONArray jsonClients = new JSONArray();
+ if (jsonObject.get("clients") != null) {
+ jsonClients = (JSONArray) jsonObject.get("clients");
}
+ String res;
+ if (!event.isEmpty() && !eventOS.isEmpty() && !jsonClients.isEmpty()) {
+ for (Object clientObj : jsonClients) {
+ JSONObject clientJsonObj = (JSONObject) clientObj;
+ Client client = new Client(clientJsonObj, "boot", event);
+ clients.add(client);
+ }
- Boot boot = new Boot(event, clients, eventOS, updateRate, waitTime,
- scsavTime, psWhitelist, psBlacklist, gearmanServerHost,
- gearmanServerPort);
- GearmanJobServerConnection gearmanConnection = new GearmanNIOJobServerConnection(
- gearmanServerHost, gearmanServerPort);
- GearmanClient gearmanClient = new GearmanClientImpl();
- gearmanClient.addJobServer(gearmanConnection);
- LinkedHashMap<String, Object> jsonData = new LinkedHashMap<String, Object>();
- jsonData.put("eventName", event);
- jsonData.put("type", "createBootState");
- jsonData.put("eventOS", eventOS);
- jsonData.put("clients", jsonClients);
- String dataString = JSONValue.toJSONString(jsonData);
- GearmanJob job = GearmanJobImpl.createJob("status", dataString.getBytes(),
- "status" + event);
- gearmanClient.submit(job);
- boot.start();
- logger.info("Booting of " + event + " started");
- String res = "Booting started";
+ String gearmanServerHost = ControllerWorkerMain
+ .getApplication_ini().getString("gearman.server.host");
+ int gearmanServerPort = Integer.parseInt(ControllerWorkerMain
+ .getApplication_ini().getString("gearman.server.port"));
+ long waitTime = Long.parseLong(ControllerWorkerMain
+ .getApplication_ini().getString("gearman.worker.waitTime"));
+ long scsavTime = Integer
+ .parseInt(ControllerWorkerMain.getApplication_ini()
+ .getString("gearman.worker.scsavTime"));
+ int updateRate = Integer.parseInt(ControllerWorkerMain
+ .getApplication_ini()
+ .getString("gearman.worker.updateRate"));
+ String blacklist = ControllerWorkerMain.getApplication_ini()
+ .getString("gearman.worker.ps.blacklist");
+ StringTokenizer blacklistTokenizer = new StringTokenizer(blacklist,
+ ", ");
+ String whitelist = ControllerWorkerMain.getApplication_ini()
+ .getString("gearman.worker.ps.whitelist");
+ StringTokenizer whitelistTokenizer = new StringTokenizer(whitelist,
+ ", ");
+ Vector<String> psWhitelist = new Vector<String>();
+ Vector<String> psBlacklist = new Vector<String>();
+ while (whitelistTokenizer.hasMoreTokens()) {
+ String whiteEntry = whitelistTokenizer.nextToken();
+ psWhitelist.add(whiteEntry);
+ }
+ while (blacklistTokenizer.hasMoreTokens()) {
+ String blackEntry = blacklistTokenizer.nextToken();
+ psBlacklist.add(blackEntry);
+ }
+
+ Boot boot = new Boot(event, clients, eventOS, updateRate, waitTime,
+ scsavTime, psWhitelist, psBlacklist, gearmanServerHost,
+ gearmanServerPort);
+ GearmanJobServerConnection gearmanConnection = new GearmanNIOJobServerConnection(
+ gearmanServerHost, gearmanServerPort);
+ GearmanClient gearmanClient = new GearmanClientImpl();
+ gearmanClient.addJobServer(gearmanConnection);
+ LinkedHashMap<String, Object> jsonData = new LinkedHashMap<String, Object>();
+ jsonData.put("eventName", event);
+ jsonData.put("type", "createBootState");
+ jsonData.put("eventOS", eventOS);
+ jsonData.put("clients", jsonClients);
+ String dataString = JSONValue.toJSONString(jsonData);
+ GearmanJob job = GearmanJobImpl.createJob("status", dataString
+ .getBytes(), "status" + event);
+ gearmanClient.submit(job);
+ boot.start();
+ logger.info("Booting of " + event + " started");
+ res = "Booting started";
+ } else {
+ res = "Parameters incomplete";
+ }
byte[] warnings = new byte[0];
byte[] exceptions = new byte[0];
int numerator = 0;
int denominator = 0;
- GearmanJobResult gjr = new GearmanJobResultImpl(this.jobHandle, true, res
- .getBytes(), warnings, exceptions, numerator, denominator);
+ GearmanJobResult gjr = new GearmanJobResultImpl(this.jobHandle, true,
+ res.getBytes(), warnings, exceptions, numerator, denominator);
return gjr;
}
} \ No newline at end of file