From 198bbd0bdbc01e8caafcdcb70304dee8cbba4487 Mon Sep 17 00:00:00 2001 From: Benjamin Jones Date: Wed, 12 Dec 2012 15:41:21 -0800 Subject: refectored Result.java to include a constructor that records more information --- .../src/main/java/com/galois/fiveui/Result.java | 175 ++++++++++++--------- 1 file changed, 100 insertions(+), 75 deletions(-) diff --git a/rsTester/src/main/java/com/galois/fiveui/Result.java b/rsTester/src/main/java/com/galois/fiveui/Result.java index 8d82c74..6543476 100644 --- a/rsTester/src/main/java/com/galois/fiveui/Result.java +++ b/rsTester/src/main/java/com/galois/fiveui/Result.java @@ -1,14 +1,14 @@ /** * Module : Result.java Copyright : (c) 2011-2012, Galois, Inc. - * + * * Maintainer : Stability : Provisional Portability: Portable - * + * * 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 @@ -20,7 +20,7 @@ package com.galois.fiveui; import org.openqa.selenium.WebDriver; /** - * A Result object encapsulates the result of running a rule set check on a URI + * A Result object encapsulates the result of running a rule set check on a URL * with a WebDriver. Results are organized into four categories: *
    *
  1. exception: an uncaught exception occurred while running the rule set
  2. @@ -31,90 +31,113 @@ import org.openqa.selenium.WebDriver; */ public class Result { + private ResType _type; + private String _msg; + private WebDriver _driver; + private String _url; + private String _ruleName; + private String _ruleDesc; + private String _prob; + /** - * Result constructor, returns an "exception" type result. - * - * @param driver WebDriver the result came from - * @param res description of the result - * @return a Result object + * Construct a new result of one of the four types. + * + * @param type type of the result + * @param driver WebDriver that the result comes from + * @param msg any additional information from the rule runner + * @param url url + * @param ruleName rule name + * @param ruleDesc rule description + * @param prob problem description */ + public Result(ResType type, WebDriver driver, String msg, String url, + String ruleName, String ruleDesc, String prob) { + super(); + _type = type; + _msg = msg; + _driver = driver; + _url = url; + _ruleName = ruleName; + _ruleDesc = ruleDesc; + _prob = prob; + } + + /** + * An information restricted version of the other public constructor. This + * constructor does not include URL, rule, or problem information. + */ + public Result(ResType type, WebDriver driver, String msg) { + super(); + _type = type; + _msg = msg; + _driver = driver; + _url = ""; + _ruleName = ""; + _ruleDesc = ""; + _prob = ""; + } + + /********************************************************************************** + * Factory methods: these provide easy construction of restricted Result + * types. + */ + + /** + * Result constructor, returns an "exception" type result. + * + * @param driver WebDriver the result came from + * @param res description of the result + * @return a Result object + */ public static Result exception(WebDriver driver, String res) { return new Result(ResType.Exception, driver, res); } - + /** - * Result constructor, returns a "pass" type result. - * - * @param driver WebDriver the result came from - * @param res description of the result - * @return a Result object - */ + * Result constructor, returns a "pass" type result. + * + * @param driver WebDriver the result came from + * @param res description of the result + * @return a Result object + */ public static Result pass(WebDriver driver, String res) { return new Result(ResType.Pass, driver, res); } - - public static Result pass(WebDriver driver, String res, String url, String ruleName) { - return new Result(ResType.Pass, driver, res, url, ruleName); - } /** - * Result constructor, returns an "error" type result. - * - * @param driver WebDriver the result came from - * @param res description of the result - * @return a Result object - */ + * Result constructor, returns an "error" type result. + * + * @param driver WebDriver the result came from + * @param res description of the result + * @return a Result object + */ public static Result error(WebDriver driver, String res) { return new Result(ResType.Error, driver, res); } - - public static Result error(WebDriver driver, String res, String url, String ruleName) { - return new Result(ResType.Error, driver, res, url, ruleName); - } /** - * Result constructor, returns a "warning" type result. - * - * @param driver WebDriver the result came from - * @param res description of the result - * @return a Result object - */ + * Result constructor, returns a "warning" type result. + * + * @param driver WebDriver the result came from + * @param res description of the result + * @return a Result object + */ public static Result warning(WebDriver driver, String res) { return new Result(ResType.Warning, driver, res); } - - private ResType _type; - private String _desc; - private WebDriver _driver; - private String _url; - private String _ruleName; - - private Result(ResType type, WebDriver driver, String desc) { - super(); - _type = type; - _desc = desc; - _driver = driver; - _url = ""; - _ruleName = ""; - } - private Result(ResType type, WebDriver driver, String desc, String url, String ruleName) { - super(); - _type = type; - _desc = desc; - _driver = driver; - _url = url; - _ruleName = ruleName; - } + /********************************************************************************** + * Extractor methods + */ public ResType getType() { return _type; } - public String getDesc() { - return _desc; + public String getMsg() { + return _msg; } - + public WebDriver getDriver() { return _driver; } @@ -127,23 +150,25 @@ public class Result { return _ruleName; } + public String getRuleDesc() { + return _ruleDesc; + } + + public String getProblem() { + return _prob; + } + /** - * Stringify the result, returning the type, shortened driver name, and + * Stringify the result, returning the type, driver name, and * full description. */ @Override public String toString() { return getType() + " - " + _driver.toString().split(":")[0] + ": " - + _truncate(30, _desc) + "\n" - + " |\\- " + _truncate(40, _url) + "\n" - + " |__ " + _truncate(40, _ruleName); - } - - private static String _truncate(int n, String s) { - if (s.length() <= n) { - return s; - } else { - return s.substring(0, n) + " ..."; - } + + _msg + "\n" + + " |\\- " + _url + "\n" + + " |\\_ " + _ruleName + "\n" + + " |\\_ " + _ruleDesc + "\n" + + " \\_ " + _prob; } } -- cgit v1.2.3