private void toTabularResultData(TabularResultData table, String memberId, String heapSizeBefore, String heapSizeAfter, String timeTaken) { table.accumulate(CliStrings.GC__MSG__MEMBER_NAME, memberId); table.accumulate(CliStrings.GC__MSG__HEAP_SIZE_BEFORE_GC, heapSizeBefore); table.accumulate(CliStrings.GC__MSG__HEAP_SIZE_AFTER_GC, heapSizeAfter); table.accumulate(CliStrings.GC__MSG__TOTAL_TIME_IN_GC, timeTaken); } }
private void writeCommonAttributeToTable(TabularResultData table, String attributeType, String attributeName, String attributeValue) { final String blank = ""; if (attributeValue != null) { String[] attributeValues = attributeValue.split(","); boolean isFirstValue = true; for (String value : attributeValues) { if (isFirstValue) { isFirstValue = false; table.accumulate(CliStrings.DESCRIBE_REGION__ATTRIBUTE__TYPE, attributeType); table.accumulate(CliStrings.DESCRIBE_REGION__ATTRIBUTE__NAME, attributeName); table.accumulate(CliStrings.DESCRIBE_REGION__ATTRIBUTE__VALUE, value); } else { table.accumulate(CliStrings.DESCRIBE_REGION__ATTRIBUTE__TYPE, blank); table.accumulate(CliStrings.DESCRIBE_REGION__ATTRIBUTE__NAME, blank); table.accumulate(CliStrings.DESCRIBE_REGION__ATTRIBUTE__VALUE, value); } } } } }
private void writeAttributeToTable(TabularResultData table, String member, String attributeType, String attributeName, String attributeValue) { final String blank = ""; if (attributeValue != null) { // Tokenize the attributeValue String[] attributeValues = attributeValue.split(","); boolean isFirstValue = true; for (String value : attributeValues) { if (isFirstValue) { table.accumulate(CliStrings.DESCRIBE_REGION__MEMBER, member); table.accumulate(CliStrings.DESCRIBE_REGION__ATTRIBUTE__TYPE, attributeType); table.accumulate(CliStrings.DESCRIBE_REGION__ATTRIBUTE__NAME, attributeName); table.accumulate(CliStrings.DESCRIBE_REGION__ATTRIBUTE__VALUE, value); isFirstValue = false; } else { table.accumulate(CliStrings.DESCRIBE_REGION__MEMBER, blank); table.accumulate(CliStrings.DESCRIBE_REGION__ATTRIBUTE__TYPE, blank); table.accumulate(CliStrings.DESCRIBE_REGION__ATTRIBUTE__NAME, blank); table.accumulate(CliStrings.DESCRIBE_REGION__ATTRIBUTE__VALUE, value); } } } }
private TabularResultData buildResultForEcho(Set<Map.Entry<String, String>> propertyMap) { TabularResultData resultData = ResultBuilder.createTabularResultData(); for (Map.Entry<String, String> setEntry : propertyMap) { resultData.accumulate("Property", setEntry.getKey()); resultData.accumulate("Value", String.valueOf(setEntry.getValue())); } return resultData; } }
indexData.accumulate("Index Name", indexDetails.getIndexName()); indexData.accumulate("Region Path", indexDetails.getRegionPath()); indexData.accumulate("Server Name", indexDetails.getServerName()); indexData.accumulate("Indexed Fields", indexDetails.getSearchableFieldNamesString()); indexData.accumulate("Field Analyzer", indexDetails.getFieldAnalyzersString()); indexData.accumulate("Serializer", indexDetails.getSerializerString()); indexData.accumulate("Status", indexDetails.getStatus().toString()); if (luceneIndexStatus == LuceneIndexStatus.NOT_INITIALIZED || luceneIndexStatus == LuceneIndexStatus.INDEXING_IN_PROGRESS) { indexData.accumulate("Query Executions", "NA"); indexData.accumulate("Updates", "NA"); indexData.accumulate("Commits", "NA"); indexData.accumulate("Documents", "NA"); } else { indexData.accumulate("Query Executions", indexDetails.getIndexStats().get("queryExecutions")); indexData.accumulate("Updates", indexDetails.getIndexStats().get("updates")); indexData.accumulate("Commits", indexDetails.getIndexStats().get("commits")); indexData.accumulate("Documents", indexDetails.getIndexStats().get("documents"));
private Result getResults(int fromIndex, int toIndex, boolean keysonly) throws Exception { final TabularResultData data = ResultBuilder.createTabularResultData(); for (int i = fromIndex; i < toIndex; i++) { if (!searchResults.get(i).getExceptionFlag()) { data.accumulate("key", searchResults.get(i).getKey()); if (!keysonly) { data.accumulate("value", searchResults.get(i).getValue()); data.accumulate("score", searchResults.get(i).getScore()); } } else { throw new UserErrorException(searchResults.get(i).getExceptionMessage()); } } return ResultBuilder.buildResult(data); }
.entrySet()) { for (Map.Entry<String, GatewaySenderMXBean> memberToBean : entry.getValue().entrySet()) { gatewaySenderData.accumulate(CliStrings.RESULT_GATEWAY_SENDER_ID, entry.getKey()); gatewaySenderData.accumulate(CliStrings.RESULT_HOST_MEMBER, memberToBean.getKey()); gatewaySenderData.accumulate(CliStrings.RESULT_REMOTE_CLUSTER, memberToBean.getValue().getRemoteDSId()); gatewaySenderData.accumulate(CliStrings.RESULT_TYPE, memberToBean.getValue().isParallel() ? CliStrings.SENDER_PARALLEL : CliStrings.SENDER_SERIAL); gatewaySenderData.accumulate(CliStrings.RESULT_STATUS, memberToBean.getValue().isRunning() ? CliStrings.GATEWAY_RUNNING : CliStrings.GATEWAY_NOT_RUNNING); gatewaySenderData.accumulate(CliStrings.RESULT_QUEUED_EVENTS, memberToBean.getValue().getEventQueueSize()); gatewaySenderData.accumulate(CliStrings.RESULT_RECEIVER, memberToBean.getValue().getGatewayReceiver()); .setHeader(CliStrings.HEADER_GATEWAY_RECEIVER); for (Map.Entry<String, GatewayReceiverMXBean> entry : gatewayReceiverBeans.entrySet()) { gatewayReceiverData.accumulate(CliStrings.RESULT_HOST_MEMBER, entry.getKey()); gatewayReceiverData.accumulate(CliStrings.RESULT_PORT, entry.getValue().getPort()); gatewayReceiverData.accumulate(CliStrings.RESULT_SENDERS_COUNT, entry.getValue().getClientConnectionCount()); if (entry.getValue() == null || entry.getValue().getConnectedGatewaySenders() == null) { gatewayReceiverData.accumulate(CliStrings.RESULT_SENDER_CONNECTED, ""); } else { gatewayReceiverData.accumulate(CliStrings.RESULT_SENDER_CONNECTED, Arrays.stream(entry.getValue().getConnectedGatewaySenders()).collect(joining(", ")));
@Test public void canRetrieveAllValues() { data.accumulate("col1", "value1"); data.accumulate("col1", "value2"); data.accumulate("col1", "value3"); assertThat(data.retrieveAllValues("col1")).containsExactly("value1", "value2", "value3"); }
indexData.accumulate("Member Name", StringUtils.defaultString(indexDetails.getMemberName())); indexData.accumulate("Member ID", indexDetails.getMemberId()); indexData.accumulate("Region Path", indexDetails.getRegionPath()); indexData.accumulate("Name", indexDetails.getIndexName()); if (indexDetails.getIndexType() == null) { indexData.accumulate("Type", ""); } else { indexData.accumulate("Type", indexDetails.getIndexType().getName()); indexData.accumulate("Indexed Expression", indexDetails.getIndexedExpression()); indexData.accumulate("From Clause", indexDetails.getFromClause()); indexData.accumulate("Valid Index", indexDetails.getIsValid()); new IndexStatisticsDetailsAdapter(indexDetails.getIndexStatisticsDetails()); indexData.accumulate("Uses", adapter.getTotalUses()); indexData.accumulate("Updates", adapter.getNumberOfUpdates()); indexData.accumulate("Update Time", adapter.getTotalUpdateTime()); indexData.accumulate("Keys", adapter.getNumberOfKeys()); indexData.accumulate("Values", adapter.getNumberOfValues());
private Result getDestroyIndexResult(List<CliFunctionResult> cliFunctionResults, String indexName, String regionPath) { final TabularResultData tabularResult = ResultBuilder.createTabularResultData(); for (CliFunctionResult cliFunctionResult : cliFunctionResults) { tabularResult.accumulate("Member", cliFunctionResult.getMemberIdOrName()); if (cliFunctionResult.isSuccessful()) { tabularResult.accumulate("Status", indexName == null ? CliStrings.format( LuceneCliStrings.LUCENE_DESTROY_INDEX__MSG__SUCCESSFULLY_DESTROYED_INDEXES_FROM_REGION_0, new Object[] {regionPath}) : CliStrings.format( LuceneCliStrings.LUCENE_DESTROY_INDEX__MSG__SUCCESSFULLY_DESTROYED_INDEX_0_FROM_REGION_1, new Object[] {indexName, regionPath})); } else { tabularResult.accumulate("Status", cliFunctionResult.getMessage()); } } return ResultBuilder.buildResult(tabularResult); }
@Test public void rowColumnSize() { data.accumulate("key", "value1"); assertThat(data.rowSize("key")).isEqualTo(1); assertThat(data.columnSize()).isEqualTo(1); data.accumulate("key", "value2"); assertThat(data.rowSize("key")).isEqualTo(2); assertThat(data.columnSize()).isEqualTo(1); data.accumulate("key1", "value1"); assertThat(data.rowSize("key1")).isEqualTo(1); assertThat(data.columnSize()).isEqualTo(2); } }
private String getPage(final LuceneSearchResults[] expectedResults, int[] indexList) { final TabularResultData data = ResultBuilder.createTabularResultData(); for (int i : indexList) { data.accumulate("key", expectedResults[i].getKey()); data.accumulate("value", expectedResults[i].getValue()); data.accumulate("score", expectedResults[i].getScore()); } CommandResult commandResult = ResultBuilder.buildResult(data); StringBuilder buffer = new StringBuilder(); while (commandResult.hasNextLine()) { buffer.append(commandResult.nextLine()); } return buffer.toString(); }
public static CommandResult buildResult(List<CliFunctionResult> functionResults, String header, String footer) { TabularResultData tabularData = ResultBuilder.createTabularResultData(); boolean success = false; for (CliFunctionResult result : functionResults) { tabularData.accumulate("Member", result.getMemberIdOrName()); tabularData.accumulate("Status", result.getLegacyStatus()); // if one member returns back successful results, the command results in success if (result.isSuccessful()) { success = true; } } if (header != null) { tabularData.setHeader(header); } if (footer != null) { tabularData.setFooter(footer); } tabularData.setStatus(success ? Result.Status.OK : Result.Status.ERROR); return ResultBuilder.buildResult(tabularData); }
@Test public void tabularResultDataStructure() { TabularResultData result = ResultBuilder.createTabularResultData(); result.accumulate("column1", "value11"); result.accumulate("column1", "value12"); result.accumulate("column2", "value21"); result.accumulate("column2", "value22"); result.setHeader("Heads"); result.setFooter("Tails"); CommandResult cmdResult = ResultBuilder.buildResult(result); assertThat(cmdResult.getHeader()).isEqualTo("Heads"); assertThat(cmdResult.getFooter()).isEqualTo("Tails"); assertThat(cmdResult.getListFromContent("column1")).contains("value11", "value12"); assertThat(cmdResult.getListFromContent("column2")).contains("value21", "value22"); }
@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; } }
@Test public void canAccumulate() { data.accumulate("col1", "value1"); assertThat(data.getGfJsonObject().getJSONObject("content").getString("col1")) .isEqualTo("[\"value1\"]"); data.accumulate("col1", "value2"); assertThat(data.getGfJsonObject().getJSONObject("content").getString("col1")) .isEqualTo("[\"value1\",\"value2\"]"); data.accumulate("col2", "value3"); data.accumulate("col2", "value4"); assertThat(data.getGfJsonObject().getJSONObject("content").getString("col1")) .isEqualTo("[\"value1\",\"value2\"]"); assertThat(data.getGfJsonObject().getJSONObject("content").getString("col2")) .isEqualTo("[\"value3\",\"value4\"]"); }
for (CliFunctionResult functionResult : functionResults) { boolean success = functionResult.isSuccessful(); tabularResultData.accumulate("Member", functionResult.getMemberIdOrName()); if (success) { tabularResultData.accumulate("Status", functionResult.getMessage()); xmlEntity.set(functionResult.getXmlEntity()); } else { tabularResultData.accumulate("Status", errorPrefix + functionResult.getMessage()); tabularResultData.setStatus(Status.ERROR);
@Test public void withTableContainingData() { CompositeResultData result = new CompositeResultData(); CompositeResultData.SectionResultData section = result.addSection(); TabularResultData table = section.addTable(); table.accumulate("column1", 1); table.accumulate("column1", "abc"); table.accumulate("column1", 2); assertThat(result.getGfJsonObject().getJSONObject("content").getJSONObject("__sections__-0") .getJSONObject("__tables__-0").getJSONObject("content").getString("column1")) .isEqualTo("[1,\"abc\",2]"); }
@Test public void compositeResultDataStructure() { CompositeResultData result = ResultBuilder.createCompositeResultData(); result.setHeader("Heads"); result.setFooter("Tails"); // build up an example result.addSection().addData("section 0 key", "section 0 value"); result.addSection().addTable().accumulate("table 1 column", "table 1 value"); CommandResult cmdResult = ResultBuilder.buildResult(result); assertThat(cmdResult.getHeader()).isEqualTo("Heads"); assertThat(cmdResult.getFooter()).isEqualTo("Tails"); assertThat(cmdResult.getMapFromSection("0").get("section 0 key")).isEqualTo("section 0 value"); Map<String, List<String>> table = cmdResult.getMapFromTableContent("1", "0"); assertThat(table.get("table 1 column")).contains("table 1 value"); }
@Test public void legacyTableComparison() { // Create the legacy results TabularResultData legacyTable = ResultBuilder.createTabularResultData(); legacyTable.setHeader("Heads"); legacyTable.accumulate("Name", "server1"); legacyTable.accumulate("Name", "server2"); legacyTable.accumulate("Id", "member name for server1"); legacyTable.accumulate("Id", "member name for server2"); legacyTable.setFooter("Tails"); Result legacyResult = ResultBuilder.buildResult(legacyTable); String legacyString = CommandResponseBuilder.createCommandResponseJson("server1", (CommandResult) legacyResult); CommandResult clientLegacyResult = ResultBuilder.fromJson(legacyString); // Create the new model results ResultModel newCrm = new ResultModel(); TabularResultModel modelTable = newCrm.addTable("0"); modelTable.setHeader("Heads"); modelTable.accumulate("Name", "server1"); modelTable.accumulate("Name", "server2"); modelTable.accumulate("Id", "member name for server1"); modelTable.accumulate("Id", "member name for server2"); modelTable.setFooter("Tails"); String newModelString = CommandResponseBuilder.createCommandResponseJson("server1", newCrm); CommandResult clientNewModelResult = ResultBuilder.fromJson(newModelString); assertThat(clientNewModelResult.getTableColumnValues("0", "Name")) .isEqualTo(clientLegacyResult.getTableColumnValues("Name")); assertThat(readCommandOutput(clientNewModelResult)) .isEqualTo(readCommandOutput(clientLegacyResult)); }