aboutsummaryrefslogtreecommitdiff
path: root/src/batchtools/headless/src/main/java/com/galois/fiveui/BatchRunner.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/batchtools/headless/src/main/java/com/galois/fiveui/BatchRunner.java')
-rw-r--r--src/batchtools/headless/src/main/java/com/galois/fiveui/BatchRunner.java49
1 files changed, 24 insertions, 25 deletions
diff --git a/src/batchtools/headless/src/main/java/com/galois/fiveui/BatchRunner.java b/src/batchtools/headless/src/main/java/com/galois/fiveui/BatchRunner.java
index 74bd109..934620a 100644
--- a/src/batchtools/headless/src/main/java/com/galois/fiveui/BatchRunner.java
+++ b/src/batchtools/headless/src/main/java/com/galois/fiveui/BatchRunner.java
@@ -23,21 +23,19 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
+import com.galois.fiveui.drivers.Drivers;
import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Maps;
import com.google.common.collect.ImmutableList.Builder;
+import com.google.common.collect.Maps;
import com.google.common.io.Files;
-import com.galois.fiveui.Result;
-import com.galois.fiveui.RuleSet;
-import com.galois.fiveui.Utils;
-import com.galois.fiveui.drivers.Drivers;
import edu.uci.ics.crawler4j.util.IO;
-
-import org.apache.log4j.Logger; // System.out.* is old fashioned
+// System.out.* is old fashioned
/**
@@ -52,14 +50,8 @@ public class BatchRunner {
private JavascriptExecutor _exe;
private String _root; // FiveUI root directory
- private static final String JS_SRC_ROOT = "src/js/";
-
- // Hard coded JS files, relative to the FiveUI root directory.
- private static final String J_QUERY_JS = "lib/jquery/jquery.js";
- private static final String MD5_JS = "lib/md5.js";
-
private static Logger logger = Logger.getLogger("com.galois.fiveui.BatchRunner");
-
+
private void registerDriver(WebDriver driver) {
logger.debug("registering new webdriver...");
this._driver = driver;
@@ -144,7 +136,7 @@ public class BatchRunner {
* Drive the browser(s)
***********************/
- for (WebDriver driver: getDrivers()) {
+ for (WebDriver driver: getDrivers(run.getFirefoxProfile())) {
registerDriver(driver);
for (String url: urls) {
logger.info("loading " + url + " for ruleset run ...");
@@ -260,13 +252,20 @@ public class BatchRunner {
*/
private String wrapRule(RuleSet ruleSet) throws IOException {
String injected = "fiveui = {};";
- injected += Utils.readFile(_root + JS_SRC_ROOT + J_QUERY_JS);
- injected += Utils.readFile(_root + JS_SRC_ROOT + "lib/underscore.js");
- injected += Utils.readFile(_root + JS_SRC_ROOT + MD5_JS);
- injected += Utils.readFile(_root + JS_SRC_ROOT + "fiveui/injected/prelude.js");
- injected += Utils.readFile(_root + JS_SRC_ROOT + "fiveui/injected/jquery-plugins.js");
- injected += Utils.readFile(_root + JS_SRC_ROOT + "selenium/selenium-injected-compute.js");
- injected += Utils.readFile(_root + JS_SRC_ROOT + "fiveui/injected/compute.js");
+ Class<? extends BatchRunner> cl = this.getClass();
+
+ try {
+ injected += Utils.readStream(cl.getResourceAsStream("/lib/jquery/jquery.js"));
+ injected += Utils.readStream(cl.getResourceAsStream("/lib/underscore.js"));
+ injected += Utils.readStream(cl.getResourceAsStream("/lib/md5.js"));
+ injected += Utils.readStream(cl.getResourceAsStream("/fiveui/injected/prelude.js"));
+ injected += Utils.readStream(cl.getResourceAsStream("/fiveui/injected/jquery-plugins.js"));
+ injected += Utils.readStream(cl.getResourceAsStream("/selenium/selenium-injected-compute.js"));
+ injected += Utils.readStream(cl.getResourceAsStream("/fiveui/injected/compute.js"));
+ } catch (NullPointerException e) {
+ logger.error("Could not access javascript resources");
+ throw e;
+ }
if (null != ruleSet.getDependencies()) {
for (String dep : ruleSet.getDependencies()) {
@@ -285,11 +284,11 @@ public class BatchRunner {
*
* @return list of initialized WebDriver objects
*/
- private static ImmutableList<WebDriver> getDrivers() {
+ private static ImmutableList<WebDriver> getDrivers(String ffProfile) {
logger.debug("building webdrivers ...");
ImmutableList<WebDriver> r = ImmutableList.<WebDriver>of(
- Drivers.buildFFDriver()
- // , Drivers.buildChromeDriver()
+ Drivers.buildFFDriver(ffProfile)
+ //, Drivers.buildChromeDriver()
);
logger.debug("built: " + r.toString());
return r;