package com.chrome.codereview.model; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.util.ArrayList; import java.util.List; /** * Created by sergeyv on 24/6/14. */ public class TryBotResult { public enum Result { FAILURE(0), SKIPPED(1), PENDING(2), RUNNING(3), SUCCESS(4), UNKNOWN(-1); private final int order; Result(int order) { this.order = order; } public int order() { return this.order; } } private final String url; private final Result result; private final String builder; public TryBotResult(String url, int result, String builder) { this.url = url; switch (result) { case 0: case 1: this.result = Result.SUCCESS; break; case 2: this.result = Result.FAILURE; break; case 3: this.result = Result.SKIPPED; break; case -1: this.result = Result.RUNNING; break; case 6: this.result = Result.PENDING; break; default: this.result = Result.UNKNOWN; } this.builder = builder; } public String url() { return url; } public Result result() { return result; } public String builder() { return builder; } public static TryBotResult from(JSONObject jsonObject) throws JSONException { String url = jsonObject.getString("url"); String builder = jsonObject.getString("builder"); int result = jsonObject.getInt("result"); return new TryBotResult(url, result, builder); } public static List<TryBotResult> from(JSONArray jsonArray) throws JSONException { List<TryBotResult> results = new ArrayList<TryBotResult>(jsonArray.length()); for (int i = 0; i < jsonArray.length(); i++) { results.add(from(jsonArray.getJSONObject(i))); } return results; } @Override public String toString() { return builder; } }