This is an automated email from the git hooks/post-receive script. eugene-guest pushed a commit to annotated tag testng-6.9.5 in repository testng.
commit 7fa752f3bd74766cc4df53348b1a0a9fff2ce603 Author: Julien Herr <[email protected]> Date: Fri Jun 5 00:25:37 2015 +0200 Look for parser in a List --- src/main/java/org/testng/internal/YamlParser.java | 5 +++++ src/main/java/org/testng/xml/IFileParser.java | 1 + src/main/java/org/testng/xml/Parser.java | 20 +++++++++----------- src/main/java/org/testng/xml/XMLParser.java | 5 +++++ 4 files changed, 20 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/testng/internal/YamlParser.java b/src/main/java/org/testng/internal/YamlParser.java index 313a827..8562407 100644 --- a/src/main/java/org/testng/internal/YamlParser.java +++ b/src/main/java/org/testng/internal/YamlParser.java @@ -19,4 +19,9 @@ public class YamlParser implements IFileParser<XmlSuite> { } } + @Override + public boolean accept(String fileName) { + return fileName.endsWith(".yaml"); + } + } diff --git a/src/main/java/org/testng/xml/IFileParser.java b/src/main/java/org/testng/xml/IFileParser.java index e18bc48..20a5475 100644 --- a/src/main/java/org/testng/xml/IFileParser.java +++ b/src/main/java/org/testng/xml/IFileParser.java @@ -7,5 +7,6 @@ import java.io.InputStream; public interface IFileParser<T> { T parse(String filePath, InputStream is, boolean loadClasses) throws TestNGException; + boolean accept(String fileName); } diff --git a/src/main/java/org/testng/xml/Parser.java b/src/main/java/org/testng/xml/Parser.java index 914fe15..c10af28 100755 --- a/src/main/java/org/testng/xml/Parser.java +++ b/src/main/java/org/testng/xml/Parser.java @@ -33,11 +33,8 @@ public class Parser { /** The default file name for the TestNG test suite if none is specified (testng.xml). */ public static final String DEFAULT_FILENAME = "testng.xml"; - private static final IFileParser<XmlSuite> XML_PARSER = -// new DomXmlParser(); - new SuiteXmlParser(); - private static final IFileParser<XmlSuite> YAML_PARSER = new YamlParser(); - private static final IFileParser<XmlSuite> DEFAULT_FILE_PARSER = XML_PARSER; + private static final IFileParser<XmlSuite> DEFAULT_FILE_PARSER = new SuiteXmlParser(); + private static final List<IFileParser<XmlSuite>> PARSERS = Lists.newArrayList(DEFAULT_FILE_PARSER, new YamlParser()); /** The file name of the xml suite being parsed. This may be null if the Parser * has not been initialized with a file name. TODO CQ This member is never used. */ @@ -112,13 +109,14 @@ public class Parser { // return in; // } - private IFileParser getParser(String fileName) { - IFileParser result = DEFAULT_FILE_PARSER; - - if (fileName.endsWith(".xml")) result = XML_PARSER; - else if (fileName.endsWith(".yaml")) result = YAML_PARSER; + private static IFileParser getParser(String fileName) { + for (IFileParser<XmlSuite> parser : PARSERS) { + if (parser.accept(fileName)) { + return parser; + } + } - return result; + return DEFAULT_FILE_PARSER; } /** diff --git a/src/main/java/org/testng/xml/XMLParser.java b/src/main/java/org/testng/xml/XMLParser.java index 9e59430..cce1352 100644 --- a/src/main/java/org/testng/xml/XMLParser.java +++ b/src/main/java/org/testng/xml/XMLParser.java @@ -101,6 +101,11 @@ abstract public class XMLParser<T> implements IFileParser<T> { return false; } + @Override + public boolean accept(String fileName) { + return fileName.endsWith(".xml"); + } + // private static void ppp(String s) { // System.out.println("[Parser] " + s); // } -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/testng.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

