private File getOutputFile(ParseResult parseResult) { return (File) parseResult.getArguments()[1]; }
@Override public GfshParseResult parse(String userInput) { String rawInput = convertToSimpleParserInput(userInput); // this tells the simpleParser not to interpret backslash as escaping character rawInput = rawInput.replace("\\", "\\\\"); // User SimpleParser to parse the input ParseResult result = super.parse(rawInput); if (result == null) { return null; } return new GfshParseResult(result.getMethod(), result.getInstance(), result.getArguments(), userInput); }
private Object invoke(ParseResult parseResult) { try { Method method = parseResult.getMethod(); ReflectionUtils.makeAccessible(method); return ReflectionUtils.invokeMethod(method, parseResult.getInstance(), parseResult.getArguments()); } catch (Throwable th) { logger.severe("Command failed " + th); return handleThrowable(th); } }
/** * This Code piece allows lens cli to be able to parse list arguments. It can already parse keyword args. * More details at https://github.com/spring-projects/spring-shell/issues/72 * @param parseResult * @return */ @Override public ParseResult beforeInvocation(ParseResult parseResult) { Object[] args = parseResult.getArguments(); if (args != null && Sets.newHashSet(args).size() == 1) { if (args[0] instanceof String) { String[] split = ((String) args[0]).split("\\s+"); Object[] newArgs = new String[args.length]; System.arraycopy(split, 0, newArgs, 0, split.length); parseResult = new ParseResult(parseResult.getMethod(), parseResult.getInstance(), newArgs); } } return parseResult; }
/** * This Code piece allows lens cli to be able to parse list arguments. It can already parse keyword args. * More details at https://github.com/spring-projects/spring-shell/issues/72 * @param parseResult * @return */ @Override public ParseResult beforeInvocation(ParseResult parseResult) { Object[] args = parseResult.getArguments(); if (args != null && Sets.newHashSet(args).size() == 1) { if (args[0] instanceof String) { String[] split = ((String) args[0]).split("\\s+"); Object[] newArgs = new String[args.length]; System.arraycopy(split, 0, newArgs, 0, split.length); parseResult = new ParseResult(parseResult.getMethod(), parseResult.getInstance(), newArgs); } } return parseResult; }
assertEquals("Check ParseResult method", parse.getMethod(), METHOD_command1); assertEquals("Check no. of method arguments", 5, parse.getArguments().length); assertEquals("Check argument1", "ARGUMENT1_VALUE", parse.getArguments()[0]); assertEquals("Check argument2", ARGUMENT2_UNSPECIFIED_DEFAULT_VALUE, parse.getArguments()[1]); assertEquals("Check option1 value", "somevalue", parse.getArguments()[2]); assertEquals("Check option2 value", null, parse.getArguments()[3]); assertEquals("Check option3 value", OPTION3_UNSPECIFIED_DEFAULT_VALUE, parse.getArguments()[4]); assertEquals("Check ParseResult method", parse.getMethod(), METHOD_command1); assertEquals("Check no. of method arguments", 5, parse.getArguments().length); assertEquals("Check argument1", "ARGUMENT1_VALUE", parse.getArguments()[0]); assertEquals("Check argument2", "ARGUMENT2_VALUE", parse.getArguments()[1]); assertEquals("Check option1 value", "option1value", parse.getArguments()[2]); assertEquals("Check option2 value", OPTION2_SPECIFIED_DEFAULT_VALUE, parse.getArguments()[3]); assertEquals("Check option3 value", OPTION3_UNSPECIFIED_DEFAULT_VALUE, parse.getArguments()[4]); assertEquals("Check ParseResult method", parse.getMethod(), METHOD_command1); assertEquals("Check no. of method arguments", 5, parse.getArguments().length); assertEquals("Check argument1", "ARGUMENT1_VALUE", parse.getArguments()[0]); assertEquals("Check argument2", "ARGUMENT2_VALUE", parse.getArguments()[1]); assertEquals("Check option1 value", "option1value", parse.getArguments()[2]); assertEquals("Check option2 value", "option2value", parse.getArguments()[3]);
public static Object execCLISteps(LogWrapper logWrapper, Gfsh shell, ParseResult parseResult) { CLIStep[] steps = (CLIStep[]) ReflectionUtils.invokeMethod(parseResult.getMethod(), parseResult.getInstance(), parseResult.getArguments()); if (steps != null) { boolean endStepReached = false;
result = ReflectionUtils.invokeMethod(parseResult.getMethod(), parseResult.getInstance(), parseResult.getArguments());
public static Object execCLISteps(LogWrapper logWrapper, Gfsh shell, ParseResult parseResult) { CLIStep[] steps = (CLIStep[]) ReflectionUtils.invokeMethod(parseResult.getMethod(), parseResult.getInstance(), parseResult.getArguments()); if (steps != null) { boolean endStepReached = false;
result = ReflectionUtils.invokeMethod(parseResult.getMethod(), parseResult.getInstance(), parseResult.getArguments());