aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Benjamin Jones <bjones@galois.com>2012-12-12 15:41:21 -0800
committerGravatar Benjamin Jones <bjones@galois.com>2012-12-12 15:41:21 -0800
commit198bbd0bdbc01e8caafcdcb70304dee8cbba4487 (patch)
treeedca2577f701a9ffa4925930554577792e74f0b8
parent43cc90f0f719c7d2fe97c07e60fdd878b902f2c7 (diff)
refectored Result.java to include a constructor that records more information
-rw-r--r--rsTester/src/main/java/com/galois/fiveui/Result.java175
1 files 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:
* <ol>
* <li> exception: an uncaught exception occurred while running the rule set</li>
@@ -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;
}
}