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); } }
/** * Creates a {@link TabularResultData} object to start building result that should be shown in a * Tabular Format. * * @return TabularResultData instance */ public static TabularResultData createTabularResultData() { return new TabularResultData(); }
@Test public void hasHeaderAndFooter() { String headerFooter = "header and footer"; data.setHeader(headerFooter); data.setFooter(headerFooter); assertThat(data.getGfJsonObject().getString("header")).isEqualTo(headerFooter); assertThat(data.getGfJsonObject().getString("footer")).isEqualTo(headerFooter); }
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 canRetrieveAllValues() { data.accumulate("col1", "value1"); data.accumulate("col1", "value2"); data.accumulate("col1", "value3"); assertThat(data.retrieveAllValues("col1")).containsExactly("value1", "value2", "value3"); }
StringBuilder resultStr = new StringBuilder(); resultStr.append(newLine); table1.accumulate("Rebalanced Stats", CliStrings.REBALANCE__MSG__TOTALBUCKETCREATEBYTES); table1.accumulate("Value", rstlist.get(0)); resultStr.append(CliStrings.REBALANCE__MSG__TOTALBUCKETCREATEBYTES).append(" = ") .append(rstlist.get(0)).append(newLine); table1.accumulate("Rebalanced Stats", CliStrings.REBALANCE__MSG__TOTALBUCKETCREATETIM); table1.accumulate("Value", rstlist.get(1)); resultStr.append(CliStrings.REBALANCE__MSG__TOTALBUCKETCREATETIM).append(" = ") .append(rstlist.get(1)).append(newLine); table1.accumulate("Rebalanced Stats", CliStrings.REBALANCE__MSG__TOTALBUCKETCREATESCOMPLETED); table1.accumulate("Value", rstlist.get(2)); resultStr.append(CliStrings.REBALANCE__MSG__TOTALBUCKETCREATESCOMPLETED).append(" = ") .append(rstlist.get(2)).append(newLine); table1.accumulate("Rebalanced Stats", CliStrings.REBALANCE__MSG__TOTALBUCKETTRANSFERBYTES); table1.accumulate("Value", rstlist.get(3)); resultStr.append(CliStrings.REBALANCE__MSG__TOTALBUCKETTRANSFERBYTES).append(" = ") .append(rstlist.get(3)).append(newLine); table1.accumulate("Rebalanced Stats", CliStrings.REBALANCE__MSG__TOTALBUCKETTRANSFERTIME); table1.accumulate("Value", rstlist.get(4)); resultStr.append(CliStrings.REBALANCE__MSG__TOTALBUCKETTRANSFERTIME).append(" = ") .append(rstlist.get(4)).append(newLine); table1.accumulate("Rebalanced Stats", CliStrings.REBALANCE__MSG__TOTALBUCKETTRANSFERSCOMPLETED); table1.accumulate("Value", rstlist.get(5));
@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"); }
tabularData.accumulate("Member", result.getMemberIdOrName()); tabularData.accumulate("JAR", ""); tabularData.accumulate("JAR Location", "ERROR: " + result.getThrowable().getClass().getName() + ": " + result.getThrowable().getMessage()); accumulatedData = true; tabularData.setStatus(Result.Status.ERROR); } else { String[] strings = (String[]) result.getSerializables(); for (int i = 0; i < strings.length; i += 2) { tabularData.accumulate("Member", result.getMemberIdOrName()); tabularData.accumulate("JAR", strings[i]); tabularData.accumulate("JAR Location", strings[i + 1]); accumulatedData = true;
resultData.accumulate("Rebalanced Stats", CliStrings.REBALANCE__MSG__TOTALBUCKETCREATEBYTES); resultData.accumulate("Value", results.getTotalBucketCreateBytes()); resultStr.append(CliStrings.REBALANCE__MSG__TOTALBUCKETCREATEBYTES).append(" = ") .append(results.getTotalBucketCreateBytes()).append(newLine); resultData.accumulate("Rebalanced Stats", CliStrings.REBALANCE__MSG__TOTALBUCKETCREATETIM); resultData.accumulate("Value", results.getTotalBucketCreateTime()); resultStr.append(CliStrings.REBALANCE__MSG__TOTALBUCKETCREATETIM).append(" = ") .append(results.getTotalBucketCreateTime()).append(newLine); resultData.accumulate("Rebalanced Stats", CliStrings.REBALANCE__MSG__TOTALBUCKETCREATESCOMPLETED); resultData.accumulate("Value", results.getTotalBucketCreatesCompleted()); resultStr.append(CliStrings.REBALANCE__MSG__TOTALBUCKETCREATESCOMPLETED).append(" = ") .append(results.getTotalBucketCreatesCompleted()).append(newLine); resultData.accumulate("Rebalanced Stats", CliStrings.REBALANCE__MSG__TOTALBUCKETTRANSFERBYTES); resultData.accumulate("Value", results.getTotalBucketTransferBytes()); resultStr.append(CliStrings.REBALANCE__MSG__TOTALBUCKETTRANSFERBYTES).append(" = ") .append(results.getTotalBucketTransferBytes()).append(newLine); resultData.accumulate("Rebalanced Stats", CliStrings.REBALANCE__MSG__TOTALBUCKETTRANSFERTIME); resultData.accumulate("Value", results.getTotalBucketTransferTime()); resultStr.append(CliStrings.REBALANCE__MSG__TOTALBUCKETTRANSFERTIME).append(" = ") .append(results.getTotalBucketTransferTime()).append(newLine); resultData.accumulate("Rebalanced Stats", CliStrings.REBALANCE__MSG__TOTALBUCKETTRANSFERSCOMPLETED);
tabularData.accumulate("Member", result.getMemberIdOrName()); tabularData.accumulate("Un-Deployed JAR", ""); tabularData.accumulate("Un-Deployed JAR Location", "ERROR: " + result.getThrowable().getClass().getName() + ": " + result.getThrowable().getMessage()); accumulatedData = true; tabularData.setStatus(Result.Status.ERROR); } else { String[] strings = (String[]) result.getSerializables(); for (int i = 0; i < strings.length; i += 2) { tabularData.accumulate("Member", result.getMemberIdOrName()); tabularData.accumulate("Un-Deployed JAR", strings[i]); tabularData.accumulate("Un-Deployed From JAR Location", strings[i + 1]); accumulatedData = true; if (tabularData.getStatus().equals(Result.Status.OK)) { persistClusterConfiguration(result, () -> ((InternalConfigurationPersistenceService) getConfigurationPersistenceService())
@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); } }
@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\"]"); }
private void verifyDestroyIndexCommandResult(CommandResult result, List<CliFunctionResult> cliFunctionResults, String expectedStatus) { assertThat(result.getStatus()).isEqualTo(Status.OK); if (result.getType().equals(TYPE_TABULAR)) { TabularResultData data = (TabularResultData) result.getResultData(); List<String> members = data.retrieveAllValues("Member"); assertThat(cliFunctionResults.size()).isEqualTo(members.size()); // Verify each member for (int i = 0; i < members.size(); i++) { assertThat(members.get(i)).isEqualTo("member" + i); } // Verify each status List<String> status = data.retrieveAllValues("Status"); for (String statu : status) { assertThat(statu).isEqualTo(expectedStatus); } } else { // Info result. Verify next lines are equal. assertThat(result.nextLine()).isEqualTo(expectedStatus); } }
@Test public void emptyTabularResultData() { assertThat(data.getGfJsonObject().getString("content")).isEqualTo("{}"); assertThat(data.getType()).isEqualTo(ResultData.TYPE_TABULAR); }
public TabularResultData addTable(String keyToAccess) { TabularResultData tabularResultData = ResultBuilder.createTabularResultData(); GfJsonObject tableData = tabularResultData.getGfJsonObject(); try { sectionGfJsonObject.putAsJSONObject(generateTableKey(keyToAccess), tableData); } catch (GfJsonException e) { throw new ResultDataException(e.getMessage()); } tablesCount++; return tabularResultData; }
@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)); }
if (!gatewaySenderBeans.isEmpty()) { TabularResultData gatewaySenderData = crd.addSection(CliStrings.SECTION_GATEWAY_SENDER) .addTable(CliStrings.TABLE_GATEWAY_SENDER).setHeader(CliStrings.HEADER_GATEWAY_SENDER); for (Map.Entry<String, Map<String, GatewaySenderMXBean>> entry : gatewaySenderBeans .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()); TabularResultData gatewayReceiverData = crd.addSection(CliStrings.SECTION_GATEWAY_RECEIVER) .addTable(CliStrings.TABLE_GATEWAY_RECEIVER) .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, "");
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 testSearchIndex() throws Exception { final ResultCollector mockResultCollector = mock(ResultCollector.class, "ResultCollector"); final LuceneIndexCommands commands = spy(createIndexCommands(this.mockCache, null)); final List<Set<LuceneSearchResults>> queryResultsList = new ArrayList<>(); HashSet<LuceneSearchResults> queryResults = new HashSet<>(); queryResults.add(createQueryResults("A", "Result1", Float.valueOf("1.3"))); queryResults.add(createQueryResults("B", "Result1", Float.valueOf("1.2"))); queryResults.add(createQueryResults("C", "Result1", Float.valueOf("1.1"))); queryResultsList.add(queryResults); doReturn(mockResultCollector).when(commands).executeSearch(any(LuceneQueryInfo.class)); doReturn(queryResultsList).when(mockResultCollector).getResult(); CommandResult result = (CommandResult) commands.searchIndex("index", "region", "Result1", "field1", -1, false); TabularResultData data = (TabularResultData) result.getResultData(); assertThat(data.retrieveAllValues("key")).isEqualTo(Arrays.asList("A", "B", "C")); assertThat(data.retrieveAllValues("value")) .isEqualTo(Arrays.asList("Result1", "Result1", "Result1")); assertThat(data.retrieveAllValues("score")).isEqualTo(Arrays.asList("1.3", "1.2", "1.1")); }