/** * Creates error Result with given error code & message * <p/> * Note: To build your own error result, use {@link #createErrorResultData()} to build * {@link ErrorResultData} & then use {@link #buildResult(ResultData)} * * @param errorCode error code should be one of ResultBuilder.ERRORCODE_** * @param message message for the error */ private static CommandResult createErrorResult(int errorCode, String message) { ErrorResultData errorResultData = new ErrorResultData(); errorResultData.setErrorCode(errorCode); errorResultData.addLine(message); return buildResult(errorResultData); }
@Test public void emptyError() { ErrorResultData result = new ErrorResultData(); assertThat(result.getGfJsonObject().getString("content")).isEqualTo("{}"); assertThat(result.getStatus()).isEqualTo(Result.Status.ERROR); assertThat(result.getType()).isEqualTo("error"); }
@Test public void withHeaderAndFooter() { ErrorResultData result = new ErrorResultData(); String headerFooter = "it was a dark and stormy night"; result.setHeader(headerFooter); result.setFooter(headerFooter); assertThat(result.getGfJsonObject().getString("header")).isEqualTo(headerFooter); assertThat(result.getGfJsonObject().getString("footer")).isEqualTo(headerFooter); } }
ResultBuilder.createErrorResultData().setErrorCode(ResultBuilder.ERRORCODE_DEFAULT) .addLine(CliStrings.HISTORY__MSG__FILE_DOES_NOT_EXISTS); return ResultBuilder.buildResult(errorResultData); ResultBuilder.createErrorResultData().setErrorCode(ResultBuilder.ERRORCODE_DEFAULT) .addLine(CliStrings.HISTORY__MSG__FILE_SHOULD_NOT_BE_DIRECTORY); return ResultBuilder.buildResult(errorResultData); ResultBuilder.createErrorResultData().setErrorCode(ResultBuilder.ERRORCODE_DEFAULT) .addLine(CliStrings.HISTORY__MSG__FILE_CANNOT_BE_WRITTEN); return ResultBuilder.buildResult(errorResultData); .setErrorCode(ResultBuilder.ERRORCODE_DEFAULT).addLine("exception in closing file"); return ResultBuilder.buildResult(errorResultData);
ErrorResultData errorResultData = new ErrorResultData(); errorResultData .addLine("Can not detect result type, unknown result data format for: " + resultData); wrapperResultData = errorResultData;
@Test public void errorWithMultipleMessages() { ErrorResultData result = new ErrorResultData("This is an error"); result.addLine("This is another error"); assertThat(result.getGfJsonObject().getJSONObject("content").getString("message")) .isEqualTo("[\"This is an error\",\"This is another error\"]"); }
@Test public void errorWithErrorCode() { ErrorResultData result = new ErrorResultData("This is an error"); result.setErrorCode(77); assertThat(result.getGfJsonObject().getJSONObject("content").getString("message")) .isEqualTo("[\"This is an error\"]"); assertThat(result.getGfJsonObject().getJSONObject("content").getString("errorCode")) .isEqualTo("77"); }
@Test public void errorResultDataStructure() { ErrorResultData result = ResultBuilder.createErrorResultData(); result.addLine("line 1"); result.addLine("line 2"); result.setHeader("Heads"); result.setFooter("Tails"); CommandResult cmdResult = ResultBuilder.buildResult(result); assertThat(cmdResult.getHeader()).isEqualTo("Heads"); assertThat(cmdResult.getListFromContent("message")).contains("line 1", "line 2"); assertThat(cmdResult.getFooter()).isEqualTo("Tails"); assertThat(cmdResult.getValueFromContent("message")).isNotEmpty(); assertThat(cmdResult.getStatus()).isEqualTo(Result.Status.ERROR); }
@Test public void errorWithMessage() { ErrorResultData result = new ErrorResultData("This is an error"); assertThat(result.getGfJsonObject().getJSONObject("content").getString("message")) .isEqualTo("[\"This is an error\"]"); }
@CliCommand(value = {CliStrings.SET_VARIABLE}, help = CliStrings.SET_VARIABLE__HELP) @CliMetaData(shellOnly = true, relatedTopic = {CliStrings.TOPIC_GFSH}) public Result setVariable( @CliOption(key = CliStrings.SET_VARIABLE__VAR, mandatory = true, help = CliStrings.SET_VARIABLE__VAR__HELP) String var, @CliOption(key = CliStrings.SET_VARIABLE__VALUE, mandatory = true, help = CliStrings.SET_VARIABLE__VALUE__HELP) String value) { Result result; try { getGfsh().setEnvProperty(var, String.valueOf(value)); result = ResultBuilder.createInfoResult("Value for variable " + var + " is now: " + value + "."); } catch (IllegalArgumentException e) { ErrorResultData errorResultData = ResultBuilder.createErrorResultData(); errorResultData.addLine(e.getMessage()); result = ResultBuilder.buildResult(errorResultData); } return result; } }
/** * Creates a {@link ErrorResultData} object to start building result for an error. * * @return ErrorResultData instance */ public static ErrorResultData createErrorResultData() { return new ErrorResultData(); }
int errorCode = ((ErrorResultData) result.getResultData()).getErrorCode(); assertThat(((ErrorResultData) result.getResultData()).getErrorCode()) .describedAs(other.getCommand()).isEqualTo(ResultBuilder.ERRORCODE_UNAUTHORIZED);
cache.getLogger().error("executeUnregister execution is null"); ErrorResultData errorResultData = ResultBuilder.createErrorResultData().setErrorCode(ResultBuilder.ERRORCODE_DEFAULT) .addLine(CliStrings.DESTROY_FUNCTION__MSG__CANNOT_EXECUTE); return (ResultBuilder.buildResult(errorResultData)); } catch (FunctionException ex) { ErrorResultData errorResultData = ResultBuilder.createErrorResultData() .setErrorCode(ResultBuilder.ERRORCODE_DEFAULT).addLine(ex.getMessage()); return (ResultBuilder.buildResult(errorResultData));
resultData = new InfoResultData(data); } else if (ResultData.TYPE_ERROR.equals(contentType)) { resultData = new ErrorResultData(data); } else if (ResultData.TYPE_COMPOSITE.equals(contentType)) { resultData = new CompositeResultData(data); } else { ErrorResultData errorResultData = new ErrorResultData(); errorResultData.addLine("Can not detect result type, unknown response format: " + json); resultData = errorResultData;
@Test public void legacyErrorComparison() { // Create the legacy results ErrorResultData legacyError = ResultBuilder.createErrorResultData(); legacyError.addLine("This is a bad line"); legacyError.addLine("This is another bad line"); Result legacyResult = ResultBuilder.buildResult(legacyError); String legacyString = CommandResponseBuilder.createCommandResponseJson("server1", (CommandResult) legacyResult); CommandResult legacyErrorResult = ResultBuilder.fromJson(legacyString); // Create the new model results ResultModel newCrm = ResultModel.createError("This is a bad line"); newCrm.getInfoSections().get(0).addLine("This is another bad line"); String newModelString = CommandResponseBuilder.createCommandResponseJson("server1", newCrm); CommandResult newErrorModelResult = ResultBuilder.fromJson(newModelString); assertThat(legacyErrorResult.getMessageFromContent()) .isEqualTo(newErrorModelResult.getErrorMessage()); assertThat(readCommandOutput(newErrorModelResult)) .isEqualTo(readCommandOutput(legacyErrorResult)); }
@CliCommand(value = {CliStrings.DESCRIBE_CONNECTION}, help = CliStrings.DESCRIBE_CONNECTION__HELP) @CliMetaData(shellOnly = true, relatedTopic = {CliStrings.TOPIC_GFSH, CliStrings.TOPIC_GEODE_JMX}) public Result describeConnection() { Result result; try { TabularResultData tabularResultData = ResultBuilder.createTabularResultData(); Gfsh gfshInstance = getGfsh(); if (gfshInstance.isConnectedAndReady()) { OperationInvoker operationInvoker = gfshInstance.getOperationInvoker(); // tabularResultData.accumulate("Monitored GemFire DS", operationInvoker.toString()); tabularResultData.accumulate("Connection Endpoints", operationInvoker.toString()); } else { tabularResultData.accumulate("Connection Endpoints", "Not connected"); } result = ResultBuilder.buildResult(tabularResultData); } catch (Exception e) { ErrorResultData errorResultData = ResultBuilder.createErrorResultData() .setErrorCode(ResultBuilder.ERRORCODE_DEFAULT).addLine(e.getMessage()); result = ResultBuilder.buildResult(errorResultData); } return result; } }
@CliCommand(value = {CliStrings.DEBUG}, help = CliStrings.DEBUG__HELP) @CliMetaData(shellOnly = true, relatedTopic = {CliStrings.TOPIC_GFSH, CliStrings.TOPIC_GEODE_DEBUG_UTIL}) public Result debug( @CliOption(key = CliStrings.DEBUG__STATE, unspecifiedDefaultValue = "OFF", mandatory = true, optionContext = "debug", help = CliStrings.DEBUG__STATE__HELP) String state) { Gfsh gfshInstance = Gfsh.getCurrentInstance(); if (gfshInstance != null) { // Handle state if (state.equalsIgnoreCase("ON")) { gfshInstance.setDebug(true); } else if (state.equalsIgnoreCase("OFF")) { gfshInstance.setDebug(false); } else { return ResultBuilder.createUserErrorResult( CliStrings.format(CliStrings.DEBUG__MSG_0_INVALID_STATE_VALUE, state)); } } else { ErrorResultData errorResultData = ResultBuilder.createErrorResultData().setErrorCode(ResultBuilder.ERRORCODE_DEFAULT) .addLine(CliStrings.ECHO__MSG__NO_GFSH_INSTANCE); return ResultBuilder.buildResult(errorResultData); } return ResultBuilder.createInfoResult(CliStrings.DEBUG__MSG_DEBUG_STATE_IS + state); } }
.setErrorCode(ResultBuilder.ERRORCODE_DEFAULT).addLine(e.getMessage()); return (ResultBuilder.buildResult(errorResultData));
.setErrorCode(ResultBuilder.ERRORCODE_DEFAULT).addLine(e.getMessage()); return ResultBuilder.buildResult(errorResultData);