This is an automated email from the ASF dual-hosted git repository. jensdeppe pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/develop by this push: new ed575a1 GEODE-5011: Require all ResultModel sections to be explicitly named (#1944) ed575a1 is described below commit ed575a149a28736f048c2a7e82e7c70474613415 Author: Jens Deppe <jde...@pivotal.io> AuthorDate: Tue May 15 10:42:12 2018 -0700 GEODE-5011: Require all ResultModel sections to be explicitly named (#1944) - Remove the auto-indexed naming inherited from the previous implementation. - Remove section named "error" - When using createError, the section will just be named "info", however the state will be set to ERROR. --- .../jdbc/internal/cli/ListConnectionCommand.java | 4 +- .../jdbc/internal/cli/ListMappingCommand.java | 4 +- .../cli/commands/AlterAsyncEventQueueCommand.java | 3 +- .../cli/commands/DescribeConfigCommand.java | 30 ++++--- .../cli/commands/DescribeJndiBindingCommand.java | 4 +- .../internal/cli/commands/ExportConfigCommand.java | 2 +- .../internal/cli/commands/ListMembersCommand.java | 5 +- .../internal/cli/commands/QueryInterceptor.java | 6 +- .../internal/cli/domain/DataCommandResult.java | 17 ++-- .../internal/cli/remote/CommandExecutor.java | 2 +- .../internal/cli/result/model/ResultModel.java | 93 +++++++++++++++++----- .../sanctioned-geode-core-serializables.txt | 2 +- .../cli/commands/GemfireDataCommandsDUnitTest.java | 9 ++- .../cli/commands/GetCommandIntegrationTest.java | 25 +++--- .../cli/commands/ListMembersCommandDUnitTest.java | 3 +- .../cli/commands/ListMembersCommandTest.java | 9 ++- .../cli/commands/LocateEntryDUnitTest.java | 9 ++- .../cli/commands/PutCommandIntegrationTest.java | 13 +-- .../cli/commands/QueryCommandIntegrationTest.java | 13 +-- .../DataCommandFunctionWithPDXJUnitTest.java | 2 +- .../model/LegacyVsResultModelComparisonTest.java | 6 +- .../commands/DescribeClientCommandDUnitTest.java | 2 +- 22 files changed, 178 insertions(+), 85 deletions(-) diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/ListConnectionCommand.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/ListConnectionCommand.java index ddcdd89..a1d5345 100644 --- a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/ListConnectionCommand.java +++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/ListConnectionCommand.java @@ -37,6 +37,7 @@ import org.apache.geode.security.ResourcePermission; @Experimental public class ListConnectionCommand extends GfshCommand { + public static final String JDBC_CONNECTIONS_SECTION = "jdbc-connections"; static final String LIST_JDBC_CONNECTION = "list jdbc-connections"; static final String LIST_JDBC_CONNECTION__HELP = EXPERIMENTAL + "Display jdbc connections for all members."; @@ -82,7 +83,8 @@ public class ListConnectionCommand extends GfshCommand { // output ResultModel resultModel = new ResultModel(); - boolean connectionsExist = fillTabularResultData(connections, resultModel.addTable()); + boolean connectionsExist = + fillTabularResultData(connections, resultModel.addTable(JDBC_CONNECTIONS_SECTION)); if (connectionsExist) { resultModel.setHeader(EXPERIMENTAL); return resultModel; diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/ListMappingCommand.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/ListMappingCommand.java index c37236d..64900c9 100644 --- a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/ListMappingCommand.java +++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/ListMappingCommand.java @@ -37,6 +37,7 @@ import org.apache.geode.security.ResourcePermission; @Experimental public class ListMappingCommand extends GfshCommand { + public static final String JDBC_MAPPINGS_SECTION = "jdbc-mappings"; static final String LIST_MAPPING = "list jdbc-mappings"; static final String LIST_MAPPING__HELP = EXPERIMENTAL + "Display jdbc mappings for all members."; @@ -82,7 +83,8 @@ public class ListMappingCommand extends GfshCommand { // output ResultModel resultModel = new ResultModel(); - boolean mappingsExist = fillTabularResultData(mappings, resultModel.addTable()); + boolean mappingsExist = + fillTabularResultData(mappings, resultModel.addTable(JDBC_MAPPINGS_SECTION)); if (mappingsExist) { resultModel.setHeader(EXPERIMENTAL); return resultModel; diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/AlterAsyncEventQueueCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/AlterAsyncEventQueueCommand.java index 9999d26..505200f 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/AlterAsyncEventQueueCommand.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/AlterAsyncEventQueueCommand.java @@ -52,6 +52,7 @@ import org.apache.geode.security.ResourcePermission; */ public class AlterAsyncEventQueueCommand extends InternalGfshCommand { + public static final String GROUP_STATUS_SECTION = "group-status"; static final String COMMAND_NAME = "alter async-event-queue"; static final String ID = "id"; static final String BATCH_SIZE = "batch-size"; @@ -98,7 +99,7 @@ public class AlterAsyncEventQueueCommand extends InternalGfshCommand { } ResultModel result = new ResultModel(); - TabularResultModel tableData = result.addTable(); + TabularResultModel tableData = result.addTable(GROUP_STATUS_SECTION); boolean xmlUpdated = false; try { Region<String, Configuration> configRegion = service.getConfigurationRegion(); diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeConfigCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeConfigCommand.java index fe024ae..74ba46c 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeConfigCommand.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeConfigCommand.java @@ -39,6 +39,14 @@ import org.apache.geode.management.internal.security.ResourceOperation; import org.apache.geode.security.ResourcePermission; public class DescribeConfigCommand extends InternalGfshCommand { + public static final String API_PROPERTIES_SECTION = "api-properties"; + public static final String RUNTIME_PROPERTIES_SECTION = "runtime-properties"; + public static final String FILE_PROPERTIES_SECTION = "file-properties"; + public static final String DEFAULT_PROPERTIES_SECTION = "default-properties"; + public static final String CACHE_ATTRIBUTES_SECTION = "cache-attributes"; + public static final String CACHESERVER_ATTRIBUTES_SECTION = "cacheserver-attributes"; + public static final String JVM_ARGS_SECTION = "jvm-args"; + private final GetMemberConfigInformationFunction getMemberConfigFunction = new GetMemberConfigInformationFunction(); @@ -73,7 +81,7 @@ public class DescribeConfigCommand extends InternalGfshCommand { .setHeader(CliStrings.format(CliStrings.DESCRIBE_CONFIG__HEADER__TEXT, memberNameOrId)); List<String> jvmArgsList = memberConfigInfo.getJvmInputArguments(); - TabularResultModel jvmInputArgs = result.addTable(); + TabularResultModel jvmInputArgs = result.addTable(JVM_ARGS_SECTION); for (String jvmArg : jvmArgsList) { // This redaction should be redundant, since jvmArgs should have already been redacted in @@ -81,22 +89,25 @@ public class DescribeConfigCommand extends InternalGfshCommand { jvmInputArgs.accumulate("JVM command line arguments", ArgumentRedactor.redact(jvmArg)); } - addSection(result, memberConfigInfo.getGfePropsSetUsingApi(), + addSection(API_PROPERTIES_SECTION, result, memberConfigInfo.getGfePropsSetUsingApi(), "GemFire properties defined using the API"); - addSection(result, memberConfigInfo.getGfePropsRuntime(), + addSection(RUNTIME_PROPERTIES_SECTION, result, memberConfigInfo.getGfePropsRuntime(), "GemFire properties defined at the runtime"); - addSection(result, memberConfigInfo.getGfePropsSetFromFile(), + addSection(FILE_PROPERTIES_SECTION, result, memberConfigInfo.getGfePropsSetFromFile(), "GemFire properties defined with the property file"); - addSection(result, memberConfigInfo.getGfePropsSetWithDefaults(), + addSection(DEFAULT_PROPERTIES_SECTION, result, + memberConfigInfo.getGfePropsSetWithDefaults(), "GemFire properties using default values"); - addSection(result, memberConfigInfo.getCacheAttributes(), "Cache attributes"); + addSection(CACHE_ATTRIBUTES_SECTION, result, memberConfigInfo.getCacheAttributes(), + "Cache attributes"); List<Map<String, String>> cacheServerAttributesList = memberConfigInfo.getCacheServerAttributes(); if (cacheServerAttributesList != null && !cacheServerAttributesList.isEmpty()) { for (Map<String, String> cacheServerAttributes : cacheServerAttributesList) { - addSection(result, cacheServerAttributes, "Cache-server attributes"); + addSection(CACHESERVER_ATTRIBUTES_SECTION, result, cacheServerAttributes, + "Cache-server attributes"); } } } @@ -110,9 +121,10 @@ public class DescribeConfigCommand extends InternalGfshCommand { return result; } - private void addSection(ResultModel model, Map<String, String> attrMap, String headerText) { + private void addSection(String namedSection, ResultModel model, Map<String, String> attrMap, + String headerText) { if (attrMap != null && !attrMap.isEmpty()) { - DataResultModel dataSection = model.addData(); + DataResultModel dataSection = model.addData(namedSection); dataSection.setHeader(headerText); Set<String> attributes = new TreeSet<>(attrMap.keySet()); diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeJndiBindingCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeJndiBindingCommand.java index 08175cb..7ebfff7 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeJndiBindingCommand.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeJndiBindingCommand.java @@ -34,8 +34,8 @@ import org.apache.geode.management.internal.security.ResourceOperation; import org.apache.geode.security.ResourcePermission; public class DescribeJndiBindingCommand extends InternalGfshCommand { + public static final String JNDI_PROPERTIES_SECTION = "jndi-properties"; private static final Logger logger = LogService.getLogger(); - static final String DESCRIBE_JNDI_BINDING = "describe jndi-binding"; private static final String DESCRIBE_JNDIBINDING__HELP = "Describe the configuration of the given jndi binding."; @@ -49,7 +49,7 @@ public class DescribeJndiBindingCommand extends InternalGfshCommand { help = "Name of the binding to describe") String bindingName) { ResultModel crm = new ResultModel(); - TabularResultModel tabularData = crm.addTable(); + TabularResultModel tabularData = crm.addTable(JNDI_PROPERTIES_SECTION); InternalConfigurationPersistenceService ccService = (InternalConfigurationPersistenceService) getConfigurationPersistenceService(); diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ExportConfigCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ExportConfigCommand.java index bb82b3c..090e299 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ExportConfigCommand.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ExportConfigCommand.java @@ -69,7 +69,7 @@ public class ExportConfigCommand extends InternalGfshCommand { help = CliStrings.EXPORT_CONFIG__DIR__HELP) String dir) { ResultModel crm = new ResultModel(); - InfoResultModel infoData = crm.addInfo(); + InfoResultModel infoData = crm.addInfo(ResultModel.INFO_SECTION); Set<DistributedMember> targetMembers = findMembers(group, member); if (targetMembers.isEmpty()) { diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListMembersCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListMembersCommand.java index a779189..c32f105 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListMembersCommand.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListMembersCommand.java @@ -33,6 +33,9 @@ import org.apache.geode.management.internal.security.ResourceOperation; import org.apache.geode.security.ResourcePermission; public class ListMembersCommand extends InternalGfshCommand { + + public static final String MEMBERS_SECTION = "members"; + @CliCommand(value = {CliStrings.LIST_MEMBER}, help = CliStrings.LIST_MEMBER__HELP) @CliMetaData(relatedTopic = CliStrings.TOPIC_GEODE_SERVER) @ResourceOperation(resource = ResourcePermission.Resource.CLUSTER, @@ -50,7 +53,7 @@ public class ListMembersCommand extends InternalGfshCommand { return crm; } - TabularResultModel resultData = crm.addTable(); + TabularResultModel resultData = crm.addTable(MEMBERS_SECTION); final DistributedMember coordinatorMember = getCoordinator(); for (DistributedMember member : memberSet) { resultData.accumulate("Name", member.getName()); diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/QueryInterceptor.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/QueryInterceptor.java index 8b5940e..092c008 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/QueryInterceptor.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/QueryInterceptor.java @@ -27,6 +27,7 @@ import org.springframework.shell.event.ParseResult; import org.apache.geode.management.internal.cli.AbstractCliAroundInterceptor; import org.apache.geode.management.internal.cli.GfshParseResult; +import org.apache.geode.management.internal.cli.domain.DataCommandResult; import org.apache.geode.management.internal.cli.result.CommandResult; import org.apache.geode.management.internal.cli.result.ModelCommandResult; import org.apache.geode.management.internal.cli.result.model.DataResultModel; @@ -57,7 +58,8 @@ public class QueryInterceptor extends AbstractCliAroundInterceptor { } ResultModel model = ((ModelCommandResult) result).getResultData(); - Map<String, String> sectionResultData = model.getDataSection("0").getContent(); + Map<String, String> sectionResultData = + model.getDataSection(DataCommandResult.DATA_INFO_SECTION).getContent(); String limit = sectionResultData.get("Limit"); String resultString = sectionResultData.get("Result"); @@ -75,7 +77,7 @@ public class QueryInterceptor extends AbstractCliAroundInterceptor { } ResultModel newModel = new ResultModel(); - DataResultModel data = newModel.addData(); + DataResultModel data = newModel.addData(DataCommandResult.DATA_INFO_SECTION); data.addData("Result", resultString); if (StringUtils.isNotBlank(limit)) { diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/domain/DataCommandResult.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/domain/DataCommandResult.java index b23d0ea..3f9f533 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/domain/DataCommandResult.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/domain/DataCommandResult.java @@ -43,9 +43,13 @@ import org.apache.geode.pdx.PdxInstance; * Domain object used for Data Commands Functions */ public class DataCommandResult implements Serializable { - private static Logger logger = LogManager.getLogger(); - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 2601227194108110936L; + + public static Logger logger = LogManager.getLogger(); + public static final String DATA_INFO_SECTION = "data-info"; + public static final String QUERY_SECTION = "query"; + public static final String LOCATION_SECTION = "location"; private String command; private Object putResult; private Object getResult; @@ -376,7 +380,7 @@ public class DataCommandResult implements Serializable { } ResultModel result = new ResultModel(); - DataResultModel data = result.addData(); + DataResultModel data = result.addData(DATA_INFO_SECTION); if (errorString != null) { data.addData("Message", errorString); @@ -416,7 +420,7 @@ public class DataCommandResult implements Serializable { data.addData("Key", inputKey); if (locateEntryLocations != null) { - TabularResultModel locationTable = result.addTable(); + TabularResultModel locationTable = result.addTable(LOCATION_SECTION); int totalLocations = 0; @@ -494,9 +498,9 @@ public class DataCommandResult implements Serializable { */ public ResultModel toSelectCommandResult() { ResultModel result = new ResultModel(); + DataResultModel data = result.addData(DATA_INFO_SECTION); if (!operationCompletedSuccessfully) { result.setStatus(Result.Status.ERROR); - DataResultModel data = result.addData(); data.addData(RESULT_FLAG, operationCompletedSuccessfully); if (errorString != null) { data.addData("Message", errorString); @@ -505,8 +509,7 @@ public class DataCommandResult implements Serializable { } return result; } else { - DataResultModel data = result.addData(); - TabularResultModel table = result.addTable(); + TabularResultModel table = result.addTable(DataCommandResult.QUERY_SECTION); data.addData(RESULT_FLAG, operationCompletedSuccessfully); if (infoString != null) { data.addData("Message", infoString); diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/remote/CommandExecutor.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/remote/CommandExecutor.java index 65642f0..e4e2f5e 100755 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/remote/CommandExecutor.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/remote/CommandExecutor.java @@ -113,7 +113,7 @@ public class CommandExecutor { } // if command result is ok, we will need to see if we need to update cluster configuration - InfoResultModel infoResultModel = resultModel.addInfo(); + InfoResultModel infoResultModel = resultModel.addInfo(ResultModel.INFO_SECTION); ConfigurationPersistenceService ccService = gfshCommand.getConfigurationPersistenceService(); if (ccService == null) { infoResultModel.addLine( diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/result/model/ResultModel.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/result/model/ResultModel.java index 7097958..1529d79 100644 --- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/result/model/ResultModel.java +++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/result/model/ResultModel.java @@ -35,28 +35,45 @@ import org.apache.geode.management.internal.cli.functions.CliFunctionResult; /** * This class is the primary container for results returned from a {@link GfshCommand}. * <br/> - * The following different types of 'models' can be added to an instance of {@code ResultModel}. - * <ol> + * The following different types of 'models' (or sections in the older terminology) can be added to + * an instance of {@code ResultModel}. + * <ul> * <li>{@code InfoResultModel}</li> * This model holds multiple lines of text. * <li>{@code TabularResultModel}</li> * This model holds a table of named columns and associated row values. * <li>{@code DataResultModel}</li> * This model holds a map of key/value pairs - * </ol> + * </ul> * The order in which models are added is maintained and will be presented to the user in the same * order. * <br/> * Errors should just be added as {@code InfoResultModel}s and then the status should be set - * appropriately to indicate an error. + * appropriately to indicate an error. Once a {@code ResultModel}s status has been set to ERROR, it + * cannot be reset to OK. + * <br/> + * Each added section should be given a descriptive name. This name will eventually become part of + * the API when the JSON results are displayable via gfsh. So pick carefully :). + * <br/> + * A few common and generic names are already defined: + * <ul> + * <li>{@code INFO_SECTION}</li> + * Used for sections created by the {@code addInfo()} and {@code createInfo} methods. + * <li>{@code ERROR_SECTION}</li> + * Used for sections created by the {@code createError()} method. + * <li>{@code MEMBER_STATUS_SECTION}</li> + * Used for sections created by the various {@code createMemberStatusResult()} methods. + * </ul> * */ public class ResultModel { + public static final String INFO_SECTION = "info"; + public static final String MEMBER_STATUS_SECTION = "member-status"; + private String header; private String footer; private Map<String, AbstractResultModel> sections = new LinkedHashMap<>(); - private int sectionCount = 0; private Result.Status status = Result.Status.OK; private Object configObject; private Map<String, FileResultModel> files = new LinkedHashMap<>(); @@ -83,6 +100,10 @@ public class ResultModel { return status == Result.Status.OK; } + /** + * Set the status of this {@code ResultModel}. Effectively, the only option is to set it to + * ERROR. Once the state is set to ERROR it cannot be unset again. + */ public void setStatus(Result.Status status) { if (this.status == Result.Status.ERROR && status != this.status) { throw new IllegalStateException("Can't change the error state of the result."); @@ -136,11 +157,24 @@ public class ResultModel { files.put(fileName, fileModel); } + /** + * Overloaded method to create an {@code InfoResultModel} section called "info". + */ public InfoResultModel addInfo() { - return addInfo(Integer.toString(sectionCount++)); + return addInfo(INFO_SECTION); } public InfoResultModel addInfo(String namedSection) { + Object model = sections.get(namedSection); + if (model != null) { + if (model instanceof InfoResultModel) { + return (InfoResultModel) model; + } else { + throw new IllegalStateException(String.format( + "Section requested is %s, not InfoResultModel", model.getClass().getSimpleName())); + } + } + InfoResultModel section = new InfoResultModel(); sections.put(namedSection, section); @@ -153,11 +187,17 @@ public class ResultModel { .map(InfoResultModel.class::cast).collect(Collectors.toList()); } - public TabularResultModel addTable() { - return addTable(Integer.toString(sectionCount++)); - } - public TabularResultModel addTable(String namedSection) { + Object model = sections.get(namedSection); + if (model != null) { + if (model instanceof TabularResultModel) { + return (TabularResultModel) model; + } else { + throw new IllegalStateException(String.format( + "Section requested is %s, not TabularResultModel", model.getClass().getSimpleName())); + } + } + TabularResultModel section = new TabularResultModel(); sections.put(namedSection, section); @@ -174,11 +214,17 @@ public class ResultModel { return (TabularResultModel) sections.get(name); } - public DataResultModel addData() { - return addData(Integer.toString(sectionCount++)); - } - public DataResultModel addData(String namedSection) { + Object model = sections.get(namedSection); + if (model != null) { + if (model instanceof DataResultModel) { + return (DataResultModel) model; + } else { + throw new IllegalStateException(String.format( + "Section requested is %s, not DataResultModel", model.getClass().getSimpleName())); + } + } + DataResultModel section = new DataResultModel(); sections.put(namedSection, section); @@ -211,7 +257,6 @@ public class ResultModel { return toJson(); } - // ******************************************** // static convenience methods // ******************************************** @@ -220,16 +265,22 @@ public class ResultModel { return createError("Error processing command: " + message); } + /** + * Helper method to create an {@code InfoResultModel} named "info". This method will also set + * the status to ERROR. + */ public static ResultModel createError(String message) { - ResultModel result = new ResultModel(); - result.addInfo().addLine(message); + ResultModel result = createInfo(message); result.setStatus(Result.Status.ERROR); return result; } + /** + * Helper method to create an {@code InfoResultModel} named "info". + */ public static ResultModel createInfo(String message) { ResultModel result = new ResultModel(); - result.addInfo().addLine(message); + result.addInfo(INFO_SECTION).addLine(message); result.setStatus(Result.Status.OK); return result; } @@ -238,11 +289,15 @@ public class ResultModel { return createMemberStatusResult(functionResults, null, null); } + /** + * Helper method to create an {@code TabularResultModel} named "member-status". Typically used + * to tabulate the status from calls to a number of members. + */ public static ResultModel createMemberStatusResult(List<CliFunctionResult> functionResults, String header, String footer) { ResultModel result = new ResultModel(); boolean atLeastOneSuccess = false; - TabularResultModel tabularResultModel = result.addTable(); + TabularResultModel tabularResultModel = result.addTable(MEMBER_STATUS_SECTION); tabularResultModel.setHeader(header); tabularResultModel.setFooter(footer); tabularResultModel.setColumnHeader("Member", "Status"); diff --git a/geode-core/src/main/resources/org/apache/geode/internal/sanctioned-geode-core-serializables.txt b/geode-core/src/main/resources/org/apache/geode/internal/sanctioned-geode-core-serializables.txt index 7a2e627..2ffc4ea 100644 --- a/geode-core/src/main/resources/org/apache/geode/internal/sanctioned-geode-core-serializables.txt +++ b/geode-core/src/main/resources/org/apache/geode/internal/sanctioned-geode-core-serializables.txt @@ -490,7 +490,7 @@ org/apache/geode/management/internal/cli/domain/AsyncEventQueueDetails,true,1,ba org/apache/geode/management/internal/cli/domain/CacheServerInfo,true,1,bindAddress:java/lang/String,isRunning:boolean,port:int org/apache/geode/management/internal/cli/domain/ClassName,true,1,className:java/lang/String,initProperties:java/util/Properties org/apache/geode/management/internal/cli/domain/DataCommandRequest,false,command:java/lang/String,key:java/lang/String,keyClass:java/lang/String,loadOnCacheMiss:boolean,principal:java/lang/Object,putIfAbsent:boolean,query:java/lang/String,recursive:boolean,regionName:java/lang/String,removeAllKeys:java/lang/String,value:java/lang/String,valueClass:java/lang/String -org/apache/geode/management/internal/cli/domain/DataCommandResult,true,1,command:java/lang/String,error:java/lang/Throwable,errorString:java/lang/String,getResult:java/lang/Object,hasResultForAggregation:boolean,infoString:java/lang/String,inputKey:java/lang/Object,inputQuery:java/lang/Object,inputValue:java/lang/Object,keyClass:java/lang/String,limit:int,locateEntryLocations:java/util/List,locateEntryResult:org/apache/geode/management/internal/cli/domain/DataCommandResult$KeyInfo,operat [...] +org/apache/geode/management/internal/cli/domain/DataCommandResult,true,2601227194108110936,command:java/lang/String,error:java/lang/Throwable,errorString:java/lang/String,getResult:java/lang/Object,hasResultForAggregation:boolean,infoString:java/lang/String,inputKey:java/lang/Object,inputQuery:java/lang/Object,inputValue:java/lang/Object,keyClass:java/lang/String,limit:int,locateEntryLocations:java/util/List,locateEntryResult:org/apache/geode/management/internal/cli/domain/DataCommandRes [...] org/apache/geode/management/internal/cli/domain/DataCommandResult$KeyInfo,false,host:java/lang/String,locations:java/util/ArrayList,memberId:java/lang/String,memberName:java/lang/String,pid:int org/apache/geode/management/internal/cli/domain/DataCommandResult$SelectResultRow,true,1,columnValues:java/util/Map,type:int org/apache/geode/management/internal/cli/domain/DiskStoreDetails,false,allowForceCompaction:java/lang/Boolean,asyncEventQueueDetailsSet:java/util/Set,autoCompact:java/lang/Boolean,cacheServerDetailsSet:java/util/Set,compactionThreshold:java/lang/Integer,diskDirDetailsSet:java/util/Set,diskUsageCriticalPercentage:java/lang/Float,diskUsageWarningPercentage:java/lang/Float,gatewayDetailsSet:java/util/Set,id:java/util/UUID,maxOplogSize:java/lang/Long,memberId:java/lang/String,memberName:java [...] diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/GemfireDataCommandsDUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/GemfireDataCommandsDUnitTest.java index 240252d..5df743c 100644 --- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/GemfireDataCommandsDUnitTest.java +++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/GemfireDataCommandsDUnitTest.java @@ -64,6 +64,7 @@ import org.apache.geode.management.cli.Result; import org.apache.geode.management.internal.cli.CliUtil; import org.apache.geode.management.internal.cli.HeadlessGfsh; import org.apache.geode.management.internal.cli.domain.DataCommandRequest; +import org.apache.geode.management.internal.cli.domain.DataCommandResult; import org.apache.geode.management.internal.cli.dto.Value1; import org.apache.geode.management.internal.cli.dto.Value2; import org.apache.geode.management.internal.cli.result.CommandResult; @@ -752,7 +753,7 @@ public class GemfireDataCommandsDUnitTest extends CliCommandTestBase { private void validateResult(CommandResult cmdResult, Boolean expected) { if (ResultData.TYPE_MODEL.equals(cmdResult.getType())) { ResultModel rd = (ResultModel) cmdResult.getResultData(); - DataResultModel result = rd.getDataSection("0"); + DataResultModel result = rd.getDataSection(DataCommandResult.DATA_INFO_SECTION); assertThat(result.getContent().get("Result")).isEqualTo(expected.toString()); } else fail("Expected CompositeResult Returned Result Type " + cmdResult.getType()); @@ -762,12 +763,14 @@ public class GemfireDataCommandsDUnitTest extends CliCommandTestBase { Integer expectedRows, String[] cols) { if (ResultData.TYPE_MODEL.equals(cmdResult.getType())) { ResultModel rd = (ResultModel) cmdResult.getResultData(); - Map<String, String> data = rd.getDataSection("0").getContent(); + Map<String, String> data = + rd.getDataSection(DataCommandResult.DATA_INFO_SECTION).getContent(); assertThat(data.get("Result")).isEqualTo(expectedFlag.toString()); if (expectedFlag && expectedRows != -1) { assertThat(data.get("Rows")).isEqualTo(expectedRows.toString()); if (expectedRows > 0 && cols != null) { - Map<String, List<String>> table = rd.getTableSection("1").getContent(); + Map<String, List<String>> table = + rd.getTableSection(DataCommandResult.QUERY_SECTION).getContent(); assertThat(table.keySet()).contains(cols); } } diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/GetCommandIntegrationTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/GetCommandIntegrationTest.java index 83a86bc..dfba38b 100644 --- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/GetCommandIntegrationTest.java +++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/GetCommandIntegrationTest.java @@ -38,6 +38,7 @@ import org.apache.geode.cache.RegionFactory; import org.apache.geode.cache.RegionShortcut; import org.apache.geode.internal.cache.InternalCache; import org.apache.geode.management.cli.Result; +import org.apache.geode.management.internal.cli.domain.DataCommandResult; import org.apache.geode.management.internal.cli.result.CommandResult; import org.apache.geode.pdx.PdxInstance; import org.apache.geode.pdx.PdxInstanceFactory; @@ -117,20 +118,20 @@ public class GetCommandIntegrationTest { CommandResult result = gfsh.executeCommand("get --region=Users --key=jonbloom"); assertThat(result.getStatus()).isEqualTo(Result.Status.OK); - Map<String, String> data = result.getMapFromSection("0"); + Map<String, String> data = result.getMapFromSection(DataCommandResult.DATA_INFO_SECTION); assertThat(data.get("Result")).isEqualTo("true"); result = gfsh.executeCommand("get --region=Users --key=jondoe --load-on-cache-miss=false"); assertThat(result.getStatus()).isEqualTo(Result.Status.OK); - data = result.getMapFromSection("0"); + data = result.getMapFromSection(DataCommandResult.DATA_INFO_SECTION); assertThat(data.get("Result")).isEqualTo("false"); assertThat(data.get("Message")).isEqualTo("Key is not present in the region"); result = gfsh.executeCommand("get --region=Users --key=jondoe"); assertThat(result.getStatus()).isEqualTo(Result.Status.OK); - data = result.getMapFromSection("0"); + data = result.getMapFromSection(DataCommandResult.DATA_INFO_SECTION); assertThat(data.get("Result")).isEqualTo("true"); assertThat(data.get("Value Class")).isEqualTo(User.class.getCanonicalName()); @@ -138,7 +139,7 @@ public class GetCommandIntegrationTest { result = gfsh.executeCommand("get --region=Users --key=missingUser --load-on-cache-miss"); assertThat(result.getStatus()).isEqualTo(Result.Status.OK); - data = result.getMapFromSection("0"); + data = result.getMapFromSection(DataCommandResult.DATA_INFO_SECTION); assertThat(data.get("Result")).isEqualTo("false"); assertThat(data.get("Value")).isEqualTo("null"); } @@ -148,20 +149,20 @@ public class GetCommandIntegrationTest { CommandResult result = gfsh.executeCommand("get --region=UsersPdx --key=jonbloom"); assertThat(result.getStatus()).isEqualTo(Result.Status.OK); - Map<String, String> data = result.getMapFromSection("0"); + Map<String, String> data = result.getMapFromSection(DataCommandResult.DATA_INFO_SECTION); assertThat(data.get("Result")).isEqualTo("true"); result = gfsh.executeCommand("get --region=UsersPdx --key=jondoe --load-on-cache-miss=false"); assertThat(result.getStatus()).isEqualTo(Result.Status.OK); - data = result.getMapFromSection("0"); + data = result.getMapFromSection(DataCommandResult.DATA_INFO_SECTION); assertThat(data.get("Result")).isEqualTo("false"); assertThat(data.get("Message")).isEqualTo("Key is not present in the region"); result = gfsh.executeCommand("get --region=UsersPdx --key=jondoe"); assertThat(result.getStatus()).isEqualTo(Result.Status.OK); - data = result.getMapFromSection("0"); + data = result.getMapFromSection(DataCommandResult.DATA_INFO_SECTION); assertThat(data.get("Result")).isEqualTo("true"); assertThat(data.get("Value Class")).isEqualTo(PdxInstanceImpl.class.getCanonicalName()); @@ -169,7 +170,7 @@ public class GetCommandIntegrationTest { result = gfsh.executeCommand("get --region=UsersPdx --key=missingUser --load-on-cache-miss"); assertThat(result.getStatus()).isEqualTo(Result.Status.OK); - data = result.getMapFromSection("0"); + data = result.getMapFromSection(DataCommandResult.DATA_INFO_SECTION); assertThat(data.get("Result")).isEqualTo("false"); assertThat(data.get("Value")).isEqualTo("null"); } @@ -179,7 +180,7 @@ public class GetCommandIntegrationTest { CommandResult result = gfsh.executeCommand("get --region=UsersString --key=jonbloom"); assertThat(result.getStatus()).isEqualTo(Result.Status.OK); - Map<String, String> data = result.getMapFromSection("0"); + Map<String, String> data = result.getMapFromSection(DataCommandResult.DATA_INFO_SECTION); assertThat(data.get("Result")).isEqualTo("true"); assertThat(data.get("Value")).isEqualTo("\"6a6f6e626c6f6f6d\""); @@ -187,7 +188,7 @@ public class GetCommandIntegrationTest { gfsh.executeCommand("get --region=UsersString --key=jondoe --load-on-cache-miss=false"); assertThat(result.getStatus()).isEqualTo(Result.Status.OK); - data = result.getMapFromSection("0"); + data = result.getMapFromSection(DataCommandResult.DATA_INFO_SECTION); assertThat(data.get("Result")).isEqualTo("false"); assertThat(data.get("Message")).isEqualTo("Key is not present in the region"); assertThat(data.get("Value")).isEqualTo("null"); @@ -195,7 +196,7 @@ public class GetCommandIntegrationTest { result = gfsh.executeCommand("get --region=UsersString --key=jondoe"); assertThat(result.getStatus()).isEqualTo(Result.Status.OK); - data = result.getMapFromSection("0"); + data = result.getMapFromSection(DataCommandResult.DATA_INFO_SECTION); assertThat(data.get("Result")).isEqualTo("true"); assertThat(data.get("Value Class")).isEqualTo(String.class.getName()); assertThat(data.get("Value")).isEqualTo("\"6a6f6e646f65\""); @@ -204,7 +205,7 @@ public class GetCommandIntegrationTest { result = gfsh.executeCommand("get --region=UsersString --key=missingUser --load-on-cache-miss"); assertThat(result.getStatus()).isEqualTo(Result.Status.OK); - data = result.getMapFromSection("0"); + data = result.getMapFromSection(DataCommandResult.DATA_INFO_SECTION); assertThat(data.get("Result")).isEqualTo("false"); assertThat(data.get("Value")).isEqualTo("null"); } diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ListMembersCommandDUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ListMembersCommandDUnitTest.java index 91c9b2d..abfc2fa 100644 --- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ListMembersCommandDUnitTest.java +++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ListMembersCommandDUnitTest.java @@ -68,7 +68,8 @@ public class ListMembersCommandDUnitTest { assertThat(result.getStatus()).isEqualTo(Result.Status.OK); - Map<String, List<String>> table = result.getMapFromTableContent("0"); + Map<String, List<String>> table = + result.getMapFromTableContent(ListMembersCommand.MEMBERS_SECTION); assertThat(table.get("Name").size()).isEqualTo(4); assertThat(table.get("Name")).contains("locator-0", "server-1", "server-2", "server-3"); diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ListMembersCommandTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ListMembersCommandTest.java index 39cbb69..58fc605 100644 --- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ListMembersCommandTest.java +++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ListMembersCommandTest.java @@ -79,7 +79,8 @@ public class ListMembersCommandTest { members.add(member1); CommandResult result = gfsh.executeCommandWithInstance(command, "list members"); - Map<String, List<String>> table = result.getMapFromTableContent("0"); + Map<String, List<String>> table = + result.getMapFromTableContent(ListMembersCommand.MEMBERS_SECTION); assertThat(table.get("Name")).contains("name"); assertThat(table.get("Id")).contains("id [Coordinator]"); @@ -91,7 +92,8 @@ public class ListMembersCommandTest { doReturn(null).when(command).getCoordinator(); CommandResult result = gfsh.executeCommandWithInstance(command, "list members"); - Map<String, List<String>> table = result.getMapFromTableContent("0"); + Map<String, List<String>> table = + result.getMapFromTableContent(ListMembersCommand.MEMBERS_SECTION); assertThat(table.get("Name")).contains("name"); assertThat(table.get("Id")).contains("id"); @@ -103,7 +105,8 @@ public class ListMembersCommandTest { members.add(member2); CommandResult result = gfsh.executeCommandWithInstance(command, "list members"); - Map<String, List<String>> table = result.getMapFromTableContent("0"); + Map<String, List<String>> table = + result.getMapFromTableContent(ListMembersCommand.MEMBERS_SECTION); assertThat(table.get("Name")).contains("name", "name2"); assertThat(table.get("Id")).contains("id [Coordinator]", "id2"); diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/LocateEntryDUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/LocateEntryDUnitTest.java index 97511fe..3feccde 100644 --- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/LocateEntryDUnitTest.java +++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/LocateEntryDUnitTest.java @@ -27,6 +27,7 @@ import org.junit.experimental.categories.Category; import org.apache.geode.distributed.ConfigurationProperties; import org.apache.geode.management.cli.Result; +import org.apache.geode.management.internal.cli.domain.DataCommandResult; import org.apache.geode.management.internal.cli.dto.Key; import org.apache.geode.management.internal.cli.dto.Value; import org.apache.geode.management.internal.cli.result.CommandResult; @@ -83,7 +84,7 @@ public class LocateEntryDUnitTest { CommandResult result = gfsh.executeCommand("locate entry --region=regionA --key=key"); assertThat(result.getStatus()).isEqualTo(Result.Status.OK); - Map<String, String> data = result.getMapFromSection("0"); + Map<String, String> data = result.getMapFromSection(DataCommandResult.DATA_INFO_SECTION); assertThat(data.get("Locations Found")).isEqualTo("1"); } @@ -92,7 +93,7 @@ public class LocateEntryDUnitTest { CommandResult result = gfsh.executeCommand("locate entry --region=regionB --key=key"); assertThat(result.getStatus()).isEqualTo(Result.Status.OK); - Map<String, String> data = result.getMapFromSection("0"); + Map<String, String> data = result.getMapFromSection(DataCommandResult.DATA_INFO_SECTION); assertThat(data.get("Locations Found")).isEqualTo("2"); } @@ -102,7 +103,7 @@ public class LocateEntryDUnitTest { gfsh.executeCommand("locate entry --region=regionB --key=key --recursive=true"); assertThat(result.getStatus()).isEqualTo(Result.Status.OK); - Map<String, String> data = result.getMapFromSection("0"); + Map<String, String> data = result.getMapFromSection(DataCommandResult.DATA_INFO_SECTION); assertThat(data.get("Locations Found")).isEqualTo("4"); } @@ -117,7 +118,7 @@ public class LocateEntryDUnitTest { + Key.class.getCanonicalName() + " --value-class=" + Value.class.getCanonicalName()); assertThat(result.getStatus()).isEqualTo(Result.Status.OK); - Map<String, String> data = result.getMapFromSection("0"); + Map<String, String> data = result.getMapFromSection(DataCommandResult.DATA_INFO_SECTION); assertThat(data.get("Locations Found")).isEqualTo("1"); } } diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/PutCommandIntegrationTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/PutCommandIntegrationTest.java index c618f4f..34261ed 100644 --- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/PutCommandIntegrationTest.java +++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/PutCommandIntegrationTest.java @@ -27,6 +27,7 @@ import org.junit.rules.RuleChain; import org.apache.geode.cache.RegionShortcut; import org.apache.geode.management.cli.Result; +import org.apache.geode.management.internal.cli.domain.DataCommandResult; import org.apache.geode.management.internal.cli.dto.Car; import org.apache.geode.management.internal.cli.dto.Key; import org.apache.geode.management.internal.cli.dto.Key1; @@ -115,7 +116,7 @@ public class PutCommandIntegrationTest { CommandResult result = gfsh.executeCommand("put --region=/testRegion --key=key1 --value=value1"); assertThat(result.getStatus()).isEqualTo(Result.Status.OK); - Map<String, String> data = result.getMapFromSection("0"); + Map<String, String> data = result.getMapFromSection(DataCommandResult.DATA_INFO_SECTION); assertThat(data.get("Result")).isEqualTo("true"); // if unspecified then override @@ -141,7 +142,7 @@ public class PutCommandIntegrationTest { "put --region=testRegion --key=('key':'1') --value=('value':'1') " + "--key-class=" + Key.class.getCanonicalName() + " --value-class=" + Value.class.getCanonicalName()); assertThat(result.getStatus()).isEqualTo(Result.Status.OK); - Map<String, String> data = result.getMapFromSection("0"); + Map<String, String> data = result.getMapFromSection(DataCommandResult.DATA_INFO_SECTION); assertThat(data.get("Result")).isEqualTo("true"); } @@ -151,7 +152,7 @@ public class PutCommandIntegrationTest { "put --region=testRegion --key={\"key\":\"1\"} --value={\"value\":\"1\"} " + "--key-class=" + Key.class.getCanonicalName() + " --value-class=" + Value.class.getCanonicalName()); assertThat(result.getStatus()).isEqualTo(Result.Status.OK); - Map<String, String> data = result.getMapFromSection("0"); + Map<String, String> data = result.getMapFromSection(DataCommandResult.DATA_INFO_SECTION); assertThat(data.get("Result")).isEqualTo("true"); } @@ -178,7 +179,7 @@ public class PutCommandIntegrationTest { CommandResult result = gfsh.executeCommand(command); assertThat(result.getStatus()).isEqualTo(Result.Status.OK); - Map<String, String> data = result.getMapFromSection("0"); + Map<String, String> data = result.getMapFromSection(DataCommandResult.DATA_INFO_SECTION); assertThat(data.get("Result")).isEqualTo("true"); // put the car json @@ -193,7 +194,7 @@ public class PutCommandIntegrationTest { result = gfsh.executeCommand(command); assertThat(result.getStatus()).isEqualTo(Result.Status.OK); - data = result.getMapFromSection("0"); + data = result.getMapFromSection(DataCommandResult.DATA_INFO_SECTION); assertThat(data.get("Result")).isEqualTo("true"); // put with json with single character field @@ -202,7 +203,7 @@ public class PutCommandIntegrationTest { result = gfsh.executeCommand(command); assertThat(result.getStatus()).isEqualTo(Result.Status.OK); - data = result.getMapFromSection("0"); + data = result.getMapFromSection(DataCommandResult.DATA_INFO_SECTION); assertThat(data.get("Result")).isEqualTo("true"); } } diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/QueryCommandIntegrationTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/QueryCommandIntegrationTest.java index dae707b..fc0b08b 100644 --- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/QueryCommandIntegrationTest.java +++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/QueryCommandIntegrationTest.java @@ -37,6 +37,7 @@ import org.apache.geode.cache.Cache; import org.apache.geode.cache.Region; import org.apache.geode.cache.RegionShortcut; import org.apache.geode.management.cli.Result; +import org.apache.geode.management.internal.cli.domain.DataCommandResult; import org.apache.geode.management.internal.cli.result.CommandResult; import org.apache.geode.management.internal.cli.shell.Gfsh; import org.apache.geode.test.junit.categories.GfshTest; @@ -200,7 +201,7 @@ public class QueryCommandIntegrationTest { gfsh.executeAndAssertThat("set variable --name=QUERY_LIMIT --value=10").statusIsSuccess(); CommandResult result = gfsh.executeCommand( "query --query='select c.name, c.address from ${DATA_REGION} c limit ${QUERY_LIMIT}'"); - Map<String, String> data = result.getMapFromSection("0"); + Map<String, String> data = result.getMapFromSection(DataCommandResult.DATA_INFO_SECTION); assertThat(data.get("Rows")).isEqualTo("10"); } @@ -216,7 +217,7 @@ public class QueryCommandIntegrationTest { public void invalidQueryGivesDescriptiveErrorMessage() { CommandResult result = gfsh.executeCommand("query --query='this is not a valid query'"); - Map<String, String> data = result.getMapFromSection("0"); + Map<String, String> data = result.getMapFromSection(DataCommandResult.DATA_INFO_SECTION); assertThat(data.get("Result")).isEqualTo("false"); assertThat(data.get("Message")) .startsWith("Query is invalid due to error : <Syntax error in query:"); @@ -233,7 +234,8 @@ public class QueryCommandIntegrationTest { CommandResult result = gfsh.executeCommand("query --query='select c.unknown from /complexRegion c limit 10'"); - Map<String, List<String>> table = result.getMapFromTableContent("1"); + Map<String, List<String>> table = + result.getMapFromTableContent(DataCommandResult.QUERY_SECTION); assertThat(table.get("Value").size()).isEqualTo(10); assertThat(table.get("Value").get(0)).isEqualTo("UNDEFINED"); } @@ -243,10 +245,11 @@ public class QueryCommandIntegrationTest { CommandResult result = gfsh.executeCommand( "query --query=\"(select c.address from /complexRegion c where c.name = 'name1' limit 1).size\""); - Map<String, String> data = result.getMapFromSection("0"); + Map<String, String> data = result.getMapFromSection(DataCommandResult.DATA_INFO_SECTION); assertThat(data.get("Rows")).isEqualTo("1"); - Map<String, List<String>> table = result.getMapFromTableContent("1"); + Map<String, List<String>> table = + result.getMapFromTableContent(DataCommandResult.QUERY_SECTION); assertThat(table.get("Result")).contains("1"); } diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/functions/DataCommandFunctionWithPDXJUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/functions/DataCommandFunctionWithPDXJUnitTest.java index 66e962e..6cca659 100644 --- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/functions/DataCommandFunctionWithPDXJUnitTest.java +++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/functions/DataCommandFunctionWithPDXJUnitTest.java @@ -136,7 +136,7 @@ public class DataCommandFunctionWithPDXJUnitTest { request.setQuery(query); DataCommandResult result = new DataCommandFunction().select(request, cache); ResultModel m = result.toSelectCommandResult(); - return m.getTableSection("1"); + return m.getTableSection(DataCommandResult.QUERY_SECTION); } private void assertThatRowIsBuiltCorrectly(Map<String, List<String>> table, int rowNum, diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/result/model/LegacyVsResultModelComparisonTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/result/model/LegacyVsResultModelComparisonTest.java index 054474d..c806df4 100644 --- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/result/model/LegacyVsResultModelComparisonTest.java +++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/result/model/LegacyVsResultModelComparisonTest.java @@ -54,7 +54,7 @@ public class LegacyVsResultModelComparisonTest { // Create the new model results ResultModel newCrm = new ResultModel(); - TabularResultModel modelTable = newCrm.addTable(); + TabularResultModel modelTable = newCrm.addTable("0"); modelTable.setHeader("Heads"); modelTable.accumulate("Name", "server1"); modelTable.accumulate("Name", "server2"); @@ -112,13 +112,13 @@ public class LegacyVsResultModelComparisonTest { newCrm.setHeader("Heads"); newCrm.setFooter("Tails"); - TabularResultModel newTable1 = newCrm.addTable(); + TabularResultModel newTable1 = newCrm.addTable("0"); newTable1.setHeader("section-0 table-1 header"); newTable1.accumulate("Parameter", "param1"); newTable1.accumulate("Value", "value1"); newTable1.setFooter("section-0 table-1 footer"); - DataResultModel newSection1 = newCrm.addData(); + DataResultModel newSection1 = newCrm.addData("1"); newSection1.setHeader("section 0 header"); newSection1.addData("param-1", "value-1"); newSection1.addData("param-3", "value-3"); diff --git a/geode-cq/src/test/java/org/apache/geode/management/internal/cli/commands/DescribeClientCommandDUnitTest.java b/geode-cq/src/test/java/org/apache/geode/management/internal/cli/commands/DescribeClientCommandDUnitTest.java index c3835a3..e6088f9 100644 --- a/geode-cq/src/test/java/org/apache/geode/management/internal/cli/commands/DescribeClientCommandDUnitTest.java +++ b/geode-cq/src/test/java/org/apache/geode/management/internal/cli/commands/DescribeClientCommandDUnitTest.java @@ -123,7 +123,7 @@ public class DescribeClientCommandDUnitTest { private void validateResults(boolean subscriptionEnabled) { CommandResult result = gfsh.executeCommand("list members"); // list is always locator-0, server-1, server-2 - String server1 = result.getTableColumnValues("0", "Id").get(1); + String server1 = result.getTableColumnValues("members", "Id").get(1); result = gfsh.executeCommand("list clients"); String clientId = result.getColumnFromTableContent(CliStrings.LIST_CLIENT_COLUMN_Clients, -- To stop receiving notification emails like this one, please contact jensde...@apache.org.