/** * called by the OperationInvoker before the command is executed */ default Object preExecution(GfshParseResult parseResult) { return ResultBuilder.createInfoResult(""); }
@Override public Result preExecution(GfshParseResult parseResult) { // This hook is for testing purpose only. if (Boolean.getBoolean(CliStrings.IGNORE_INTERCEPTORS)) { return ResultBuilder.createInfoResult(CliStrings.SHUTDOWN__MSG__SHUTDOWN_ENTIRE_DS); } Response response = readYesNo(CliStrings.SHUTDOWN__MSG__WARN_USER, Response.YES); if (response == Response.NO) { return ResultBuilder .createShellClientAbortOperationResult(CliStrings.SHUTDOWN__MSG__ABORTING_SHUTDOWN); } else { return ResultBuilder.createInfoResult(CliStrings.SHUTDOWN__MSG__SHUTDOWN_ENTIRE_DS); } } }
private Result executeClearHistory() { Gfsh gfsh = Gfsh.getCurrentInstance(); gfsh.clearHistory(); return ResultBuilder.createInfoResult(CliStrings.HISTORY__MSG__CLEARED_HISTORY); } }
@Override public Result preExecution(GfshParseResult parseResult) { // validate log level String logLevel = parseResult.getParamValueAsString("loglevel"); if (StringUtils.isBlank(logLevel) || LogLevel.getLevel(logLevel) == null) { return ResultBuilder.createUserErrorResult("Invalid log level: " + logLevel); } return ResultBuilder.createInfoResult(""); } }
@Override public Result preExecution(GfshParseResult parseResult) { // validate log level String logLevel = parseResult.getParamValueAsString("log-level"); if (StringUtils.isNotBlank(logLevel) && (LogLevel.getLevel(logLevel) == null)) { return ResultBuilder.createUserErrorResult("Invalid log level: " + logLevel); } return ResultBuilder.createInfoResult(""); } }
@CliMetaData(shellOnly = false, interceptor = "org.apache.geode.management.internal.cli.shell.GfshExecutionStrategyTest$TestInterceptor") public Result interceptedCommand() { return ResultBuilder.createInfoResult(COMMAND4_SUCCESS); } }
@Override public Result preExecution(GfshParseResult parseResult) { parseResult.setUserInput(AFTER_INTERCEPTION_MESSAGE); return ResultBuilder.createInfoResult("Interceptor Result"); } }
@CliMetaData(shellOnly = false) public Result onlineCommand() { return ResultBuilder.createInfoResult(COMMAND2_SUCCESS); }
@CliMetaData(shellOnly = true) public Result offlineCommand() { return ResultBuilder.createInfoResult(COMMAND1_SUCCESS); }
@CliCommand(value = "test-command") public Result ping() { return ResultBuilder.createInfoResult("pong"); }
@CliCommand(value = {CliStrings.SLEEP}, help = CliStrings.SLEEP__HELP) @CliMetaData(shellOnly = true, relatedTopic = {CliStrings.TOPIC_GFSH}) public Result sleep(@CliOption(key = {CliStrings.SLEEP__TIME}, unspecifiedDefaultValue = "3", help = CliStrings.SLEEP__TIME__HELP) double time) { try { LogWrapper.getInstance(getCache()).fine("Sleeping for " + time + "seconds."); Thread.sleep(Math.round(time * 1000)); } catch (InterruptedException ignored) { } return ResultBuilder.createInfoResult(""); } }
@Test public void messageExistsForEmpty() throws Exception { CommandResult result = (CommandResult) ResultBuilder.createInfoResult(""); assertThat(result.getValueFromContent("message")).isEqualTo("[\"\"]"); }
@Test public void messageExistsForNull() throws Exception { CommandResult result = (CommandResult) ResultBuilder.createInfoResult(null); assertThat(result.getValueFromContent("message")).isEqualTo("[null]"); }
@CliCommand(value = CliStrings.HINT, help = CliStrings.HINT__HELP) @CliMetaData(shellOnly = true, relatedTopic = {CliStrings.TOPIC_GEODE_HELP}) public Result hint(@CliOption(key = {"", CliStrings.HINT__TOPICNAME}, optionContext = ConverterHint.HINT, help = CliStrings.HINT__TOPICNAME) String topicName) { return ResultBuilder.createInfoResult(commandManager.obtainHint(topicName)); } }
@CliCommand(value = CliStrings.HELP, help = CliStrings.HELP__HELP) @CliMetaData(shellOnly = true, relatedTopic = {CliStrings.TOPIC_GEODE_HELP}) public Result obtainHelp( @CliOption(key = {"", CliStrings.SH__COMMAND}, optionContext = ConverterHint.HELP, help = "Command name to provide help for") String buffer) { return ResultBuilder.createInfoResult(commandManager.obtainHelp(buffer)); }
@Test public void messageExistsForString() throws Exception { CommandResult result = (CommandResult) ResultBuilder.createInfoResult("test message"); assertThat(result.getValueFromContent("message")).isEqualTo("[\"test message\"]"); }
@CliCommand(value = {CliStrings.ECHO}, help = CliStrings.ECHO__HELP) @CliMetaData(shellOnly = true, relatedTopic = {CliStrings.TOPIC_GFSH}) public Result echo(@CliOption(key = {CliStrings.ECHO__STR, ""}, specifiedDefaultValue = "", mandatory = true, help = CliStrings.ECHO__STR__HELP) String stringToEcho) { Result result; if (stringToEcho.equals("$*")) { Gfsh gfshInstance = getGfsh(); Map<String, String> envMap = gfshInstance.getEnv(); Set<Map.Entry<String, String>> setEnvMap = envMap.entrySet(); TabularResultData resultData = buildResultForEcho(setEnvMap); result = ResultBuilder.buildResult(resultData); } else { result = ResultBuilder.createInfoResult(stringToEcho); } return result; }
@CliCommand(value = {CliStrings.VERSION}, help = CliStrings.VERSION__HELP) @CliMetaData(shellOnly = true, relatedTopic = {CliStrings.TOPIC_GFSH}) public Result version(@CliOption(key = {CliStrings.VERSION__FULL}, specifiedDefaultValue = "true", unspecifiedDefaultValue = "false", help = CliStrings.VERSION__FULL__HELP) boolean full) { Gfsh gfsh = Gfsh.getCurrentInstance(); return ResultBuilder.createInfoResult(gfsh.getVersion(full)); } }
@Test public void persistClusterConfiguration() throws Exception { when(command.getConfigurationPersistenceService()).thenReturn(null); Result result = ResultBuilder.createInfoResult("info"); Runnable runnable = mock(Runnable.class); command.persistClusterConfiguration(result, runnable); assertThat(result.failedToPersist()).isTrue(); when(command.getConfigurationPersistenceService()).thenReturn(clusterConfigurationService); command.persistClusterConfiguration(result, runnable); assertThat(result.failedToPersist()).isFalse(); }
@Override public Result preExecution(GfshParseResult parseResult) { Integer dispatcherThreads = (Integer) parseResult.getParamValue(CliStrings.CREATE_GATEWAYSENDER__DISPATCHERTHREADS); OrderPolicy orderPolicy = (OrderPolicy) parseResult.getParamValue(CliStrings.CREATE_GATEWAYSENDER__ORDERPOLICY); Boolean parallel = (Boolean) parseResult.getParamValue(CliStrings.CREATE_GATEWAYSENDER__PARALLEL); if (dispatcherThreads != null && dispatcherThreads > 1 && orderPolicy == null) { return ResultBuilder.createUserErrorResult( "Must specify --order-policy when --dispatcher-threads is larger than 1."); } if (parallel && orderPolicy == OrderPolicy.THREAD) { return ResultBuilder.createUserErrorResult( "Parallel Gateway Sender can not be created with THREAD OrderPolicy"); } return ResultBuilder.createInfoResult(""); } }