aboutsummaryrefslogtreecommitdiff
path: root/batchtools/rsTester/src/main/java/com/galois/fiveui/Result.java
diff options
context:
space:
mode:
Diffstat (limited to 'batchtools/rsTester/src/main/java/com/galois/fiveui/Result.java')
-rw-r--r--batchtools/rsTester/src/main/java/com/galois/fiveui/Result.java174
1 files changed, 174 insertions, 0 deletions
diff --git a/batchtools/rsTester/src/main/java/com/galois/fiveui/Result.java b/batchtools/rsTester/src/main/java/com/galois/fiveui/Result.java
new file mode 100644
index 0000000..6543476
--- /dev/null
+++ b/batchtools/rsTester/src/main/java/com/galois/fiveui/Result.java
@@ -0,0 +1,174 @@
+/**
+ * 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
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.galois.fiveui;
+
+import org.openqa.selenium.WebDriver;
+
+/**
+ * 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>
+ * <li> pass: the expected result was returned</li>
+ * <li> error: an unexpected result was returned</li>
+ * <li> warning: a warning was returned, currently this type is unused</li>
+ * </ol>
+ */
+public class Result {
+
+ private ResType _type;
+ private String _msg;
+ private WebDriver _driver;
+ private String _url;
+ private String _ruleName;
+ private String _ruleDesc;
+ private String _prob;
+
+ /**
+ * 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
+ */
+ public static Result pass(WebDriver driver, String res) {
+ return new Result(ResType.Pass, driver, res);
+ }
+
+ /**
+ * 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);
+ }
+
+ /**
+ * 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);
+ }
+
+ /**********************************************************************************
+ * Extractor methods
+ */
+
+ public ResType getType() {
+ return _type;
+ }
+
+ public String getMsg() {
+ return _msg;
+ }
+
+ public WebDriver getDriver() {
+ return _driver;
+ }
+
+ public String getURL() {
+ return _url;
+ }
+
+ public String getRuleName() {
+ return _ruleName;
+ }
+
+ public String getRuleDesc() {
+ return _ruleDesc;
+ }
+
+ public String getProblem() {
+ return _prob;
+ }
+
+ /**
+ * Stringify the result, returning the type, driver name, and
+ * full description.
+ */
+ @Override
+ public String toString() {
+ return getType() + " - " + _driver.toString().split(":")[0] + ": "
+ + _msg + "\n"
+ + " |\\- " + _url + "\n"
+ + " |\\_ " + _ruleName + "\n"
+ + " |\\_ " + _ruleDesc + "\n"
+ + " \\_ " + _prob;
+ }
+}