diff --git a/src/main/java/com/cj/jshintmojo/reporter/JSLintReporter.java b/src/main/java/com/cj/jshintmojo/reporter/JSLintReporter.java index fe6d45c..91031fc 100644 --- a/src/main/java/com/cj/jshintmojo/reporter/JSLintReporter.java +++ b/src/main/java/com/cj/jshintmojo/reporter/JSLintReporter.java @@ -2,6 +2,7 @@ import java.util.Arrays; import java.util.Map; +import java.util.Set; import org.apache.commons.lang.StringUtils; @@ -26,16 +27,17 @@ public String report(Map results) { StringBuilder buf = new StringBuilder(); buf.append("\n"); buf.append("\n"); - String[] files = results.keySet().toArray(new String[0]); + Set strings = results.keySet(); + String[] files = strings.toArray(new String[strings.size()]); Arrays.sort(files); for(String file : files){ Result result = results.get(file); - buf.append("\t\n"); + buf.append("\t\n"); for(JSHint.Error issue : result.errors){ buf.append(String.format("\t\t\n"); } diff --git a/src/main/java/com/cj/jshintmojo/util/OptionsParser.java b/src/main/java/com/cj/jshintmojo/util/OptionsParser.java index 8974be2..b1977c3 100644 --- a/src/main/java/com/cj/jshintmojo/util/OptionsParser.java +++ b/src/main/java/com/cj/jshintmojo/util/OptionsParser.java @@ -1,5 +1,6 @@ package com.cj.jshintmojo.util; +import java.util.Collections; import java.util.HashSet; import java.util.Set; import java.util.regex.Matcher; @@ -59,20 +60,22 @@ public static Set extractOptions(byte[] configFileContentsBytes) { } /** - * @param configFileContentsBytes + * @param configFileContents * JSON-like file contents * @return set of JSHint allowed globals */ public static Set extractGlobals(byte[] configFileContents) { String withoutComments = removeComments(new String(configFileContents)); Matcher matcher = GLOBALS_PATTERN.matcher(withoutComments); - matcher.find(); - String globalsCsv = matcher.group(1).replaceAll("\\s", "").replaceAll("\"", ""); + if(matcher.find()) { + String globalsCsv = matcher.group(1).replaceAll("\\s", "").replaceAll("\"", ""); - Set globalsSet = new HashSet(); - for (String global : globalsCsv.split(",")) { - globalsSet.add(global); - } - return globalsSet; + Set globalsSet = new HashSet(); + Collections.addAll(globalsSet, globalsCsv.split(",")); + return globalsSet; + } else { + throw new RuntimeException(String.format( + "Unable to find pattern '%s' in text '%s'", GLOBALS_PATTERN, withoutComments)); + } } }