/*
* Copyright (c) 2013 David Boissier
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.codinjutsu.tools.jenkins.model;
/**
*
*/
public enum BuildStatusEnum {
FAILURE("Failure", "red"),
UNSTABLE("Unstable", "yellow"),
ABORTED("Aborted", "aborted"),
SUCCESS("Success", "blue"),
STABLE("Stable", "blue"),
NULL("Null", "disabled"),
// TODO: handle the folder-case explicitly
// instead of simply making it a BuildStatusEnum so that the icon renders
FOLDER("Folder", "disabled");
private final String status;
private final String color;
BuildStatusEnum(String status, String color) {
this.status = status;
this.color = color;
}
public static BuildStatusEnum parseStatus(String status) {
BuildStatusEnum buildStatusEnum;
try {
if (status == null || "null".equals(status)) {
status = "NULL";
}
buildStatusEnum = valueOf(status.toUpperCase());
} catch (IllegalArgumentException ex) {
System.out.println("Unsupported status : " + status);
buildStatusEnum = NULL;
}
return buildStatusEnum;
}
public static BuildStatusEnum getStatus(String jobColor) {
BuildStatusEnum[] jobStates = values();
for (BuildStatusEnum jobStatus : jobStates) {
String stateName = jobStatus.getColor();
if (jobColor.startsWith(stateName)) {
return jobStatus;
}
}
return NULL;
}
public String getStatus() {
return status;
}
public String getColor() {
return color;
}
}