diff options
| author | J08nY | 2018-01-09 13:46:29 +0100 |
|---|---|---|
| committer | J08nY | 2018-01-09 13:46:29 +0100 |
| commit | 94e441b522069d3fed4b88a4823b91c1593bac68 (patch) | |
| tree | 6b8ebc96c50b7a16acdc71c74a34daa7669187a9 /src/cz/crcs/ectester/common/cli/TreeParser.java | |
| parent | d19d8ad062a3c0053789eae5f7c9662399f781e0 (diff) | |
| download | ECTester-94e441b522069d3fed4b88a4823b91c1593bac68.tar.gz ECTester-94e441b522069d3fed4b88a4823b91c1593bac68.tar.zst ECTester-94e441b522069d3fed4b88a4823b91c1593bac68.zip | |
Diffstat (limited to 'src/cz/crcs/ectester/common/cli/TreeParser.java')
| -rw-r--r-- | src/cz/crcs/ectester/common/cli/TreeParser.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/cz/crcs/ectester/common/cli/TreeParser.java b/src/cz/crcs/ectester/common/cli/TreeParser.java index 77cce30..f1a1980 100644 --- a/src/cz/crcs/ectester/common/cli/TreeParser.java +++ b/src/cz/crcs/ectester/common/cli/TreeParser.java @@ -86,6 +86,7 @@ public class TreeParser implements CommandLineParser { } } + int maxArgs = args.size(); long requiredArgs = args.stream().filter(Argument::isRequired).count(); String reqArgs = String.join(" ", args.stream().filter(Argument::isRequired).map(Argument::getName).collect(Collectors.toList())); @@ -99,6 +100,8 @@ public class TreeParser implements CommandLineParser { if (lastCli.getArgs().length < requiredArgs) { throw new MissingArgumentException("Not enough arguments: " + reqArgs); + } else if (lastCli.getArgs().length > maxArgs) { + throw new MissingArgumentException("Too many arguments."); } subTreeCli.setName(sub); @@ -106,6 +109,8 @@ public class TreeParser implements CommandLineParser { } else if (subCli != null) { if (subCli.getArgs().length < requiredArgs) { throw new MissingArgumentException("Not enough arguments: " + reqArgs); + } else if (subCli.getArgs().length > maxArgs) { + throw new MissingArgumentException("Too many arguments."); } TreeCommandLine subTreeCli = new TreeCommandLine(sub, subCli, null); @@ -113,7 +118,10 @@ public class TreeParser implements CommandLineParser { } else { if (cliArgs.length < requiredArgs) { throw new MissingArgumentException("Not enough arguments: " + reqArgs); + } else if (cliArgs.length > maxArgs) { + throw new MissingArgumentException("Too many arguments."); } + return new TreeCommandLine(cli, null); } } |
