- if (!command.getSupportedOutputTypes().contains(outputType)) {
- throw new UserErrorException("Command doesn't support output type " + outputType.toString());
+ var outputTypeInput = ns.<OutputType>get("output");
+ var outputType = outputTypeInput == null
+ ? command.getSupportedOutputTypes().stream().findFirst().orElse(null)
+ : outputTypeInput;
+ var outputWriter = outputType == null
+ ? null
+ : outputType == OutputType.JSON ? new JsonWriterImpl(System.out) : new PlainTextWriterImpl(System.out);
+
+ if (outputWriter != null && !command.getSupportedOutputTypes().contains(outputType)) {
+ throw new UserErrorException("Command doesn't support output type " + outputType);