Repository: commons-cli Updated Branches: refs/heads/master e400f9256 -> b0024d482
[CLI-282] TypeHandler should throw ParseException for an unsupported class. Project: http://git-wip-us.apache.org/repos/asf/commons-cli/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-cli/commit/b0024d48 Tree: http://git-wip-us.apache.org/repos/asf/commons-cli/tree/b0024d48 Diff: http://git-wip-us.apache.org/repos/asf/commons-cli/diff/b0024d48 Branch: refs/heads/master Commit: b0024d482050a08efc36c3cabee37c0af0e57a10 Parents: e400f92 Author: Alex Nordlund <deep.alexan...@gmail.com> Authored: Mon Feb 26 10:23:40 2018 -0700 Committer: Gary Gregory <garydgreg...@gmail.com> Committed: Mon Feb 26 10:23:40 2018 -0700 ---------------------------------------------------------------------- src/changes/changes.xml | 3 +++ src/main/java/org/apache/commons/cli/TypeHandler.java | 2 +- src/test/java/org/apache/commons/cli/TypeHandlerTest.java | 7 +++++++ 3 files changed, 11 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/commons-cli/blob/b0024d48/src/changes/changes.xml ---------------------------------------------------------------------- diff --git a/src/changes/changes.xml b/src/changes/changes.xml index d42edbb..6cfcc8d 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -38,6 +38,9 @@ <action type="add" dev="ggregory" due-to="Jason Dillon" issue="CLI-276"> Adjust access-modifier of checkRequiredOptions() to protected. </action> + <action type="add" dev="ggregory" due-to="Alex Nordlund" issue="CLI-282"> + TypeHandler should throw ParseException for an unsupported class. + </action> </release> <release version="1.4" date="2017-03-09" description="New features and bug fixes"> http://git-wip-us.apache.org/repos/asf/commons-cli/blob/b0024d48/src/main/java/org/apache/commons/cli/TypeHandler.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/commons/cli/TypeHandler.java b/src/main/java/org/apache/commons/cli/TypeHandler.java index 6bd84b0..9ed8beb 100644 --- a/src/main/java/org/apache/commons/cli/TypeHandler.java +++ b/src/main/java/org/apache/commons/cli/TypeHandler.java @@ -100,7 +100,7 @@ public class TypeHandler } else { - return null; + throw new ParseException("Unable to handle the class: " + clazz); } } http://git-wip-us.apache.org/repos/asf/commons-cli/blob/b0024d48/src/test/java/org/apache/commons/cli/TypeHandlerTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/cli/TypeHandlerTest.java b/src/test/java/org/apache/commons/cli/TypeHandlerTest.java index 1d7f8cf..13e7672 100644 --- a/src/test/java/org/apache/commons/cli/TypeHandlerTest.java +++ b/src/test/java/org/apache/commons/cli/TypeHandlerTest.java @@ -148,6 +148,13 @@ public class TypeHandlerTest TypeHandler.createValue("malformed-url", PatternOptionBuilder.URL_VALUE); } + @Test(expected = ParseException.class) + public void testCreateValueInteger_failure() + throws Exception + { + TypeHandler.createValue("just-a-string", Integer.class); + } + public static class Instantiable { }