- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个 json 数据:
{"took":2,"timed_out":false,"_shards":{"total":5,"successful":5,"skipped":0,"failed":0},"hits":{"total":48,"max_score":null,"hits":[{"_index":"tests_report","_type":"summary","_id":"NNNjom4Bp2jL58IyS58A","_score":null,"_source":{"test_name":"CurrentPageTest","start_timestamp":"2019-11-25T11:33:00.585Z","end_timestamp":"2019-11-25T11:47:23.132Z","duration_sec":862,"status":"FAILURE","jira_test_id":62056,"jira_test_key":"AT-202","job_build_number":"10394","indeni_version":"0.0.0.develop","os_version":"NONE","jenkins_node":"py3_172.16.5.205","test_created":"2019-01-20T14:09:21.964Z","indeni_server":"172.16.0.134","doc_index_timestamp":"2019-11-25T11:47:24.481Z","test_case":"Pre-Post Config","first_failure":"java.lang.NullPointerException","link_issue":"FRONT-2889, AT-515"},"sort":[1574682444481]},{"_index":"tests_report","_type":"summary","_id":"oNONn24Bp2jL58IyYZ6N","_score":null,"_source":{"test_name":"EnvSetupTest","start_timestamp":"2019-11-24T22:30:48.924Z","end_timestamp":"2019-11-24T22:34:32.173Z","duration_sec":223,"status":"FAILURE","jira_test_id":61376,"jira_test_key":"AT-126","job_build_number":"10384","indeni_version":"0.0.0.develop","os_version":"NONE","jenkins_node":"py3_172.16.5.205","test_created":"2018-11-30T14:37:00.092Z","indeni_server":"172.16.7.218","doc_index_timestamp":"2019-11-24T22:34:32.254Z","test_case":"Pre-Post Config","first_failure":"java.lang.AssertionError: down services: [knowledge-catalog] expected [UP] but found [DOWN]"},"sort":[1574634872254]},{"_index":"tests_report","_type":"summary","_id":"kdOMn24Bp2jL58IyiJ4p","_score":null,"_source":{"test_name":"EnvSetupTest","start_timestamp":"2019-11-24T22:30:57.309Z","end_timestamp":"2019-11-24T22:33:36.428Z","duration_sec":159,"status":"FAILURE","jira_test_id":61376,"jira_test_key":"AT-126","job_build_number":"10385","indeni_version":"0.0.0.develop","os_version":"NONE","jenkins_node":"py3_172.16.0.55","test_created":"2018-11-30T14:37:00.092Z","indeni_server":"172.16.0.233","doc_index_timestamp":"2019-11-24T22:33:36.507Z","test_case":"Pre-Post Config","first_failure":"java.lang.AssertionError: down services: [backup] expected [UP] but found [DOWN]"},"sort":[1574634816507]},{"_index":"tests_report","_type":"summary","_id":"jdNGn24Bp2jL58Iykp7F","_score":null,"_source":{"test_name":"InsightVerificationTest","start_timestamp":"2019-11-24T20:56:47.832Z","end_timestamp":"2019-11-24T21:17:09.861Z","duration_sec":1222,"status":"FAILURE","jira_test_id":62357,"jira_test_key":"AT-229","job_build_number":"120","indeni_version":"7.0.2.3","os_version":"NONE","jenkins_node":"py3_172.16.2.120","test_created":"2019-02-12T06:02:15.456Z","indeni_server":"10.10.10.90","doc_index_timestamp":"2019-11-24T21:17:10.339Z","test_case":"verifying files content uploaded successfully to RDS","first_failure":"java.lang.AssertionError: RDS does not contain all data came from the CSV files expected [true] but found [false]"},"sort":[1574630230339]},{"_index":"tests_report","_type":"summary","_id":"i9M9n24Bp2jL58Iyz541","_score":null,"_source":{"test_name":"CurrentPageTest","start_timestamp":"2019-11-24T20:56:47.817Z","end_timestamp":"2019-11-24T21:07:35.406Z","duration_sec":647,"status":"FAILURE","jira_test_id":62056,"jira_test_key":"AT-202","job_build_number":"120","indeni_version":"7.0.2.3","os_version":"NONE","jenkins_node":"py3_172.16.2.120","test_created":"2019-01-20T14:09:21.964Z","indeni_server":"10.10.10.90","doc_index_timestamp":"2019-11-24T21:07:36.161Z","test_case":"filter alerts by labels","first_failure":"org.openqa.selenium.ElementClickInterceptedException: failed to click on bth locator=[By.cssSelector: [qa-id='qa-filter-labels-reset']]\nBuild info: version: '3.12.0', revision: '7c6e0b3', time: '2018-05-08T14:04:26.12Z'\nSystem info: host: 'ip-172-16-2-120', ip: '172.16.2.120', os.name: 'Linux', os.a","link_issue":"FRONT-2889, AT-515"},"sort":[1574629656161]},{"_index":"tests_report","_type":"summary","_id":"htM5n24Bp2jL58Iyq56U","_score":null,"_source":{"test_name":"AutomationServiceTest","start_timestamp":"2019-11-24T20:56:47.823Z","end_timestamp":"2019-11-24T21:03:04.553Z","duration_sec":376,"status":"FAILURE","jira_test_id":64877,"jira_test_key":"AT-520","job_build_number":"120","indeni_version":"7.0.2.3","os_version":"NONE","jenkins_node":"py3_172.16.2.120","test_created":"2019-07-18T09:37:52.212Z","indeni_server":"10.10.10.90","doc_index_timestamp":"2019-11-24T21:03:04.885Z","test_case":"alerts remediation steps appear in UI","first_failure":"org.openqa.selenium.TimeoutException: Expected condition failed: waiting for element to be clickable: By.cssSelector: div[qa-id='qa-more-info-btn'] (tried for 20 second(s) with 500 milliseconds interval)","link_issue":"IS-4652, FRONT-2889, IS-4768"},"sort":[1574629384885]},{"_index":"tests_report","_type":"summary","_id":"cNNEnm4Bp2jL58IyWJ5R","_score":null,"_source":{"test_name":"EnvSetupTest","start_timestamp":"2019-11-24T16:31:33.234Z","end_timestamp":"2019-11-24T16:35:08.304Z","duration_sec":215,"status":"FAILURE","jira_test_id":61376,"jira_test_key":"AT-126","job_build_number":"10378","indeni_version":"0.0.0.develop","os_version":"NONE","jenkins_node":"py3_172.16.5.205","test_created":"2018-11-30T14:37:00.092Z","indeni_server":"172.16.5.2","doc_index_timestamp":"2019-11-24T16:35:08.386Z","test_case":"Pre-Post Config","first_failure":"java.lang.AssertionError: down services: [knowledge-catalog] expected [UP] but found [DOWN]"},"sort":[1574613308386]},{"_index":"tests_report","_type":"summary","_id":"YdNDnm4Bp2jL58IykZ7u","_score":null,"_source":{"test_name":"EnvSetupTest","start_timestamp":"2019-11-24T16:31:38.150Z","end_timestamp":"2019-11-24T16:34:17.676Z","duration_sec":159,"status":"FAILURE","jira_test_id":61376,"jira_test_key":"AT-126","job_build_number":"10379","indeni_version":"0.0.0.develop","os_version":"NONE","jenkins_node":"py3_172.16.0.55","test_created":"2018-11-30T14:37:00.092Z","indeni_server":"172.16.6.147","doc_index_timestamp":"2019-11-24T16:34:17.753Z","test_case":"Pre-Post Config","first_failure":"java.lang.AssertionError: down services: [backup] expected [UP] but found [DOWN]"},"sort":[1574613257753]},{"_index":"tests_report","_type":"summary","_id":"TNP8nG4Bp2jL58IyAJ6h","_score":null,"_source":{"test_name":"EnvSetupTest","start_timestamp":"2019-11-24T10:30:49.285Z","end_timestamp":"2019-11-24T10:36:30.131Z","duration_sec":340,"status":"FAILURE","jira_test_id":61376,"jira_test_key":"AT-126","job_build_number":"10355","indeni_version":"0.0.0.develop","os_version":"NONE","jenkins_node":"py3_172.16.5.205","test_created":"2018-11-30T14:37:00.092Z","indeni_server":"172.16.5.124","doc_index_timestamp":"2019-11-24T10:36:30.225Z","test_case":"Pre-Post Config","first_failure":"java.lang.NullPointerException"},"sort":[1574591790225]},{"_index":"tests_report","_type":"summary","_id":"PdP5nG4Bp2jL58IySJ4k","_score":null,"_source":{"test_name":"EnvSetupTest","start_timestamp":"2019-11-24T10:30:54.274Z","end_timestamp":"2019-11-24T10:33:31.810Z","duration_sec":157,"status":"FAILURE","jira_test_id":61376,"jira_test_key":"AT-126","job_build_number":"10356","indeni_version":"0.0.0.develop","os_version":"NONE","jenkins_node":"py3_172.16.0.55","test_created":"2018-11-30T14:37:00.092Z","indeni_server":"172.16.1.120","doc_index_timestamp":"2019-11-24T10:33:31.892Z","test_case":"Pre-Post Config","first_failure":"java.lang.AssertionError: down services: [backup] expected [UP] but found [DOWN]"},"sort":[1574591611892]},{"_index":"tests_report","_type":"summary","_id":"x9Nnmm4Bp2jL58IyTJ1G","_score":null,"_source":{"test_name":"EnvSetupTest","start_timestamp":"2019-11-23T22:31:37.577Z","end_timestamp":"2019-11-23T22:34:50.297Z","duration_sec":192,"status":"FAILURE","jira_test_id":61376,"jira_test_key":"AT-126","job_build_number":"10346","indeni_version":"0.0.0.develop","os_version":"NONE","jenkins_node":"py3_172.16.5.205","test_created":"2018-11-30T14:37:00.092Z","indeni_server":"172.16.6.241","doc_index_timestamp":"2019-11-23T22:34:50.365Z","test_case":"Pre-Post Config","first_failure":"java.lang.AssertionError: expected to find [Not running\nStarting indeni-knowledge-catalog] inside [Stopped]"},"sort":[1574548490365]},{"_index":"tests_report","_type":"summary","_id":"uNNmmm4Bp2jL58Iy850C","_score":null,"_source":{"test_name":"EnvSetupTest","start_timestamp":"2019-11-23T22:31:41.168Z","end_timestamp":"2019-11-23T22:34:27.306Z","duration_sec":166,"status":"FAILURE","jira_test_id":61376,"jira_test_key":"AT-126","job_build_number":"10347","indeni_version":"0.0.0.develop","os_version":"NONE","jenkins_node":"py3_172.16.0.55","test_created":"2018-11-30T14:37:00.092Z","indeni_server":"172.16.4.62","doc_index_timestamp":"2019-11-23T22:34:27.390Z","test_case":"Pre-Post Config","first_failure":"java.lang.AssertionError: service didn't running expected [true] but found [false]"},"sort":[1574548467390]},{"_index":"tests_report","_type":"summary","_id":"ttMhmm4Bp2jL58IyOJ2Q","_score":null,"_source":{"test_name":"InsightVerificationTest","start_timestamp":"2019-11-23T20:57:46.808Z","end_timestamp":"2019-11-23T21:18:16.458Z","duration_sec":1229,"status":"FAILURE","jira_test_id":62357,"jira_test_key":"AT-229","job_build_number":"119","indeni_version":"7.0.2.3","os_version":"NONE","jenkins_node":"py3_172.16.2.120","test_created":"2019-02-12T06:02:15.456Z","indeni_server":"10.10.10.90","doc_index_timestamp":"2019-11-23T21:18:16.950Z","test_case":"verifying files content uploaded successfully to RDS","first_failure":"java.lang.AssertionError: RDS does not contain all data came from the CSV files expected [true] but found [false]"},"sort":[1574543896950]},{"_index":"tests_report","_type":"summary","_id":"stMXmm4Bp2jL58Iyg51W","_score":null,"_source":{"test_name":"CurrentPageTest","start_timestamp":"2019-11-23T20:57:46.805Z","end_timestamp":"2019-11-23T21:07:39.472Z","duration_sec":592,"status":"FAILURE","jira_test_id":62056,"jira_test_key":"AT-202","job_build_number":"119","indeni_version":"7.0.2.3","os_version":"NONE","jenkins_node":"py3_172.16.2.120","test_created":"2019-01-20T14:09:21.964Z","indeni_server":"10.10.10.90","doc_index_timestamp":"2019-11-23T21:07:40.185Z","test_case":"filter alerts by labels","first_failure":"org.openqa.selenium.ElementClickInterceptedException: failed to click on bth locator=[By.cssSelector: [qa-id='qa-filter-labels-reset']]\nBuild info: version: '3.12.0', revision: '7c6e0b3', time: '2018-05-08T14:04:26.12Z'\nSystem info: host: 'ip-172-16-2-120', ip: '172.16.2.120', os.name: 'Linux', os.a","link_issue":"FRONT-2889, AT-515"},"sort":[1574543260185]},{"_index":"tests_report","_type":"summary","_id":"l9MdmW4Bp2jL58IyKJ3J","_score":null,"_source":{"test_name":"EnvSetupTest","start_timestamp":"2019-11-23T16:31:00.266Z","end_timestamp":"2019-11-23T16:34:14.262Z","duration_sec":193,"status":"FAILURE","jira_test_id":61376,"jira_test_key":"AT-126","job_build_number":"10343","indeni_version":"0.0.0.develop","os_version":"NONE","jenkins_node":"py3_172.16.0.55","test_created":"2018-11-30T14:37:00.092Z","indeni_server":"172.16.0.162","doc_index_timestamp":"2019-11-23T16:34:14.351Z","test_case":"Pre-Post Config","first_failure":"java.lang.AssertionError: service didn't running expected [true] but found [false]"},"sort":[1574526854351]},{"_index":"tests_report","_type":"summary","_id":"iNMcmW4Bp2jL58Iy9J3o","_score":null,"_source":{"test_name":"EnvSetupTest","start_timestamp":"2019-11-23T16:30:55.881Z","end_timestamp":"2019-11-23T16:34:01.029Z","duration_sec":185,"status":"FAILURE","jira_test_id":61376,"jira_test_key":"AT-126","job_build_number":"10342","indeni_version":"0.0.0.develop","os_version":"NONE","jenkins_node":"py3_172.16.5.205","test_created":"2018-11-30T14:37:00.092Z","indeni_server":"172.16.5.146","doc_index_timestamp":"2019-11-23T16:34:01.125Z","test_case":"Pre-Post Config","first_failure":"java.lang.AssertionError: expected to find [Not running\nStarting indeni-knowledge-catalog] inside [Stopped]"},"sort":[1574526841125]},{"_index":"tests_report","_type":"summary","_id":"c9PTl24Bp2jL58IyUJ2R","_score":null,"_source":{"test_name":"EnvSetupTest","start_timestamp":"2019-11-23T10:30:39.361Z","end_timestamp":"2019-11-23T10:33:57.580Z","duration_sec":198,"status":"FAILURE","jira_test_id":61376,"jira_test_key":"AT-126","job_build_number":"10341","indeni_version":"0.0.0.develop","os_version":"NONE","jenkins_node":"py3_172.16.0.55","test_created":"2018-11-30T14:37:00.092Z","indeni_server":"172.16.5.199","doc_index_timestamp":"2019-11-23T10:33:57.655Z","test_case":"Pre-Post Config","first_failure":"java.lang.AssertionError: service didn't running expected [true] but found [false]"},"sort":[1574505237655]},{"_index":"tests_report","_type":"summary","_id":"ZNPTl24Bp2jL58IyGJ1g","_score":null,"_source":{"test_name":"EnvSetupTest","start_timestamp":"2019-11-23T10:30:37.655Z","end_timestamp":"2019-11-23T10:33:43.000Z","duration_sec":185,"status":"FAILURE","jira_test_id":61376,"jira_test_key":"AT-126","job_build_number":"10340","indeni_version":"0.0.0.develop","os_version":"NONE","jenkins_node":"py3_172.16.5.205","test_created":"2018-11-30T14:37:00.092Z","indeni_server":"172.16.3.200","doc_index_timestamp":"2019-11-23T10:33:43.077Z","test_case":"Pre-Post Config","first_failure":"java.lang.AssertionError: expected to find [Not running\nStarting indeni-knowledge-catalog] inside [Stopped]"},"sort":[1574505223077]},{"_index":"tests_report","_type":"summary","_id":"7tM_lW4Bp2jL58Iy7Zy1","_score":null,"_source":{"test_name":"EnvSetupTest","start_timestamp":"2019-11-22T22:30:39.317Z","end_timestamp":"2019-11-22T22:33:44.104Z","duration_sec":184,"status":"FAILURE","jira_test_id":61376,"jira_test_key":"AT-126","job_build_number":"10335","indeni_version":"0.0.0.develop","os_version":"NONE","jenkins_node":"py3_172.16.5.205","test_created":"2018-11-30T14:37:00.092Z","indeni_server":"172.16.0.90","doc_index_timestamp":"2019-11-22T22:33:44.186Z","test_case":"Pre-Post Config","first_failure":"java.lang.AssertionError: expected to find [Not running\nStarting indeni-knowledge-catalog] inside [Stopped]"},"sort":[1574462024186]},{"_index":"tests_report","_type":"summary","_id":"39M_lW4Bp2jL58IyvZxy","_score":null,"_source":{"test_name":"EnvSetupTest","start_timestamp":"2019-11-22T22:30:38.308Z","end_timestamp":"2019-11-22T22:33:31.566Z","duration_sec":173,"status":"FAILURE","jira_test_id":61376,"jira_test_key":"AT-126","job_build_number":"10336","indeni_version":"0.0.0.develop","os_version":"NONE","jenkins_node":"py3_172.16.0.55","test_created":"2018-11-30T14:37:00.092Z","indeni_server":"172.16.7.12","doc_index_timestamp":"2019-11-22T22:33:31.643Z","test_case":"Pre-Post Config","first_failure":"java.lang.AssertionError: service didn't running expected [true] but found [false]"},"sort":[1574462011643]},{"_index":"tests_report","_type":"summary","_id":"3NP7lG4Bp2jL58IyxZy7","_score":null,"_source":{"test_name":"InsightVerificationTest","start_timestamp":"2019-11-22T20:59:56.448Z","end_timestamp":"2019-11-22T21:19:15.878Z","duration_sec":1159,"status":"FAILURE","jira_test_id":62357,"jira_test_key":"AT-229","job_build_number":"118","indeni_version":"7.0.2.3","os_version":"NONE","jenkins_node":"py3_172.16.2.120","test_created":"2019-02-12T06:02:15.456Z","indeni_server":"10.10.10.90","doc_index_timestamp":"2019-11-22T21:19:16.283Z","test_case":"verifying files content uploaded successfully to RDS","first_failure":"java.lang.AssertionError: RDS does not contain all data came from the CSV files expected [true] but found [false]"},"sort":[1574457556283]},{"_index":"tests_report","_type":"summary","_id":"vtP2k24Bp2jL58IygZzu","_score":null,"_source":{"test_name":"EnvSetupTest","start_timestamp":"2019-11-22T16:30:48.264Z","end_timestamp":"2019-11-22T16:33:55.039Z","duration_sec":186,"status":"FAILURE","jira_test_id":61376,"jira_test_key":"AT-126","job_build_number":"10333","indeni_version":"0.0.0.develop","os_version":"NONE","jenkins_node":"py3_172.16.5.205","test_created":"2018-11-30T14:37:00.092Z","indeni_server":"172.16.3.124","doc_index_timestamp":"2019-11-22T16:33:55.119Z","test_case":"Pre-Post Config","first_failure":"java.lang.AssertionError: Service =[knowledge-catalog] is not running expected [true] but found [false]"},"sort":[1574440435119]},{"_index":"tests_report","_type":"summary","_id":"r9P2k24Bp2jL58Iyb5wW","_score":null,"_source":{"test_name":"EnvSetupTest","start_timestamp":"2019-11-22T16:30:53.593Z","end_timestamp":"2019-11-22T16:33:50.157Z","duration_sec":176,"status":"FAILURE","jira_test_id":61376,"jira_test_key":"AT-126","job_build_number":"10334","indeni_version":"0.0.0.develop","os_version":"NONE","jenkins_node":"py3_172.16.0.55","test_created":"2018-11-30T14:37:00.092Z","indeni_server":"172.16.2.211","doc_index_timestamp":"2019-11-22T16:33:50.224Z","test_case":"Pre-Post Config","first_failure":"java.lang.AssertionError: service didn't running expected [true] but found [false]"},"sort":[1574440430224]},{"_index":"tests_report","_type":"summary","_id":"mtOtkm4Bp2jL58IyX5xn","_score":null,"_source":{"test_name":"EnvSetupTest","start_timestamp":"2019-11-22T10:31:20.679Z","end_timestamp":"2019-11-22T10:34:24.686Z","duration_sec":184,"status":"FAILURE","jira_test_id":61376,"jira_test_key":"AT-126","job_build_number":"10330","indeni_version":"0.0.0.develop","os_version":"NONE","jenkins_node":"py3_172.16.0.55","test_created":"2018-11-30T14:37:00.092Z","indeni_server":"172.16.1.79","doc_index_timestamp":"2019-11-22T10:34:24.768Z","test_case":"Pre-Post Config","first_failure":"java.lang.AssertionError: service didn't running expected [true] but found [false]"},"sort":[1574418864768]},{"_index":"tests_report","_type":"summary","_id":"i9Orkm4Bp2jL58IyrZwI","_score":null,"_source":{"test_name":"EnvSetupTest","start_timestamp":"2019-11-22T10:31:15.793Z","end_timestamp":"2019-11-22T10:32:33.524Z","duration_sec":77,"status":"FAILURE","jira_test_id":61376,"jira_test_key":"AT-126","job_build_number":"10329","indeni_version":"0.0.0.develop","os_version":"NONE","jenkins_node":"py3_172.16.5.205","test_created":"2018-11-30T14:37:00.092Z","indeni_server":"172.16.7.98","doc_index_timestamp":"2019-11-22T10:32:33.610Z","test_case":"Pre-Post Config","first_failure":"java.lang.AssertionError: expected to find [Not running\nStarting indeni-knowledge-catalog] inside [Stopped]"},"sort":[1574418753610]}]}}
现在我想做的是迭代 JSON 数据并将其存储到 HashMap 中,其中键是“indeni_version”(例如 0.0.0.develop,可能是 7.0.2.3 或任何其他版本)。这是我对 HashMap -> private static HashMap<String, List<ReportGenreratorFields>> reportGeneratorMapper = new HashMap<>();
的实现
其中 ReportGeneratorFields
类如下所示:
package com.indeni.automation;
public class ReportGenreratorFields {
private String testname;
private String jenkinsBuildNumber;
private String jiraLinkedIssue;
public String getTestname() {
return testname;
}
public String getJenkinsBuildNumber() {
return jenkinsBuildNumber;
}
public String getJiraLinkedIssue() {
return jiraLinkedIssue;
}
public void setTestname(String testname) {
this.testname = testname;
}
public void setJenkinsBuildNumber(String jenkinsBuildNumber) {
this.jenkinsBuildNumber = jenkinsBuildNumber;
}
public void setJiraLinkedIssue(String jiraLinkedIssue) {
this.jiraLinkedIssue = jiraLinkedIssue;
}
}
它将包含 HashMap 的值,现在当我动态 poopulate HashMap 时,我注意到我确实填充了 JSON 数据中存在的键的确切数量,但每次遇到“indeni_version”时我都会覆盖该值已经插入到我的 HashMap 中,这不好,因为我想将值添加到现有的键中。
这是我尝试过的:
public class ReportGenerator {
private static HashMap<String, List<ReportGenreratorFields>> reportGeneratorMapper = new HashMap<>();
private static ReportGenreratorFields reportGenreratorFields = new ReportGenreratorFields();
private static List<ReportGenreratorFields> reportGeneratorFieldsList;
public static void main(String[] args) throws Exception {
try (ElasticSearchClient client = new ElasticSearchClient()) {
SearchResponse sr = client.dailyReport();
SearchHit[] results = sr.getHits().getHits();
for (SearchHit hit : results) {
reportGeneratorFieldsList = new ArrayList<>();
reportGenreratorFields.setTestname(source.get("test_name").toString());
reportGenreratorFields.setJenkinsBuildNumber(source.get("job_build_number").toString());
if (source.get("link_issue") != null) {
reportGenreratorFields.setJiraLinkedIssue(source.get("link_issue").toString());
} else {
reportGenreratorFields.setJiraLinkedIssue("new_bug");
}
reportGeneratorFieldsList.add(reportGenreratorFields);
reportGeneratorMapper.put(source.get("indeni_version").toString(), reportGeneratorFieldsList);
}catch(IOException e){
LOG.error("failed to fetch documents from elastic search cluster", e);
}
}
}
我忘了提到,获取 json 数据是从这一行开始的: ojit_代码SearchResponse sr = client.dailyReport();
只是 json 数据中的一个项目。
最佳答案
使用此更新的代码:
public class ReportGenerator {
private static HashMap<String, List<ReportGenreratorFields>> reportGeneratorMapper = new HashMap<>();
public static void main(String[] args) throws Exception {
try (ElasticSearchClient client = new ElasticSearchClient()) {
SearchResponse sr = client.dailyReport();
SearchHit[] results = sr.getHits().getHits();
for (SearchHit hit : results) {
ReportGenreratorFields reportGenreratorFields = new ReportGenreratorFields();
reportGenreratorFields.setTestname(source.get("test_name").toString());
reportGenreratorFields.setJenkinsBuildNumber(source.get("job_build_number").toString());
if (source.get("link_issue") != null) {
reportGenreratorFields.setJiraLinkedIssue(source.get("link_issue").toString());
} else {
reportGenreratorFields.setJiraLinkedIssue("new_bug");
}
String indeniVer = source.get("indeni_version").toString();
//map contains that indeniVer then add to existing list
if (reportGeneratorMapper.containsKey(indeniVer)) {
List<ReportGenreratorFields> reportGeneratorFieldsList = reportGeneratorMapper.get(indeniVer);
reportGeneratorFieldsList.add(reportGenreratorFields);
reportGeneratorMapper.put(indeniVer, reportGeneratorFieldsList);
} else { //map does not contain that indeniVer
List<ReportGenreratorFields> reportGeneratorFieldsList = new ArrayList<>();
reportGeneratorFieldsList.add(reportGenreratorFields);
reportGeneratorMapper.put(indeniVer, reportGeneratorFieldsList);
}
}
} catch (IOException e) {
LOG.error("failed to fetch documents from elastic search cluster", e);
}
}
}
关于java - 使用 Java 将项目添加到 HashMap 中的现有键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59033880/
我创建了一个用户可以添加测试的字段。这一切运行顺利我只希望当用户点击(添加另一个测试)然后上一个(添加另一个测试)删除并且这个显示在新字段中。 所有运行良好的唯一问题是点击(添加另一个字段)之前添加另
String[] option = {"Adlawan", "Angeles", "Arreza", "Benenoso", "Bermas", "Brebant
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我正在努力将 jQuery 滚动功能添加到 nav-tab (Bootstrap 3)。我希望用户能够选择他们想要的选项卡,并在选项卡内容中有一个可以平滑滚动到 anchor 的链接。这是我的代码,可
我正在尝试在用户登录后再添加 2 个 ui 选项卡。首先,我尝试做一个之后。 $('#slideshow').tabs('remove', '4'); $("#slideshow ul li:last
我有一个包含选择元素的表单,我想通过选择添加和删除其中一些元素。这是html代码(这里也有jsfiddle http://jsfiddle.net/txhajy2w/):
正在写这个: view.backgroundColor = UIColor.white.withAlphaComponent(0.9) 等同于: view.backgroundColor = UICo
好的,如果其中有任何信息,我想将这些列添加到一起。所以说我有 账户 1 2 3 . 有 4 个帐户空间,但只有 3 个帐户。我如何创建 java 脚本来添加它。 最佳答案 Live Example H
我想知道是否有一种有效的预制算法来确定一组数字的和/差是否可以等于不同的数字。示例: 5、8、10、2,使用 + 或 - 等于 9。5 - 8 = -3 + 10 = 7 + 2 = 9 如果有一个预
我似乎有一个卡住的 git repo。它卡在所有基本的添加、提交命令上,git push 返回所有内容为最新的。 从其他帖子我已经完成了 git gc 和 git fsck/ 我认为基本的调试步骤是
我的 Oracle SQL 查询如下- Q1- select hca.account_number, hca.attribute3, SUM(rcl.extended_amou
我正在阅读 http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingG
我正在尝试添加一个“加载更多”按钮并限制下面的结果,这样投资组合页面中就不会同时加载 1000 个内容,如下所示:http://typesetdesign.com/portfolio/ 我对 PHP
我遇到这个问题,我添加了 8 个文本框,它工作正常,但是当我添加更多文本框(如 16 个文本框)时,它不会添加最后一个文本框。有人遇到过这个问题吗?提前致谢。 Live Link: JAVASCRIP
add/remove clone first row default not delete 添加/删除克隆第一行默认不删除&并获取正确的SrNo(例如:添加3行并在看到问题后删除SrNo.2)
我编码this ,但删除按钮不起作用。我在控制台中没有任何错误.. var counter = 0; var dataList = document.getElementById('materi
我有一个类似数组的对象: [1:数组[10]、2:数组[2]、3:数组[2]、4:数组[2]、5:数组[3]、6:数组[1]] 我正在尝试删除前两个元素,执行一些操作,然后将它们再次插入到同一位置。
使用的 Delphi 版本:2007 你好, 我有一个 Tecord 数组 TInfo = Record Name : String; Price : Integer; end; var Info
我使用了基本的 gridster 代码,然后我声明了通过按钮添加和删除小部件的函数它工作正常但是当我将调整大小功能添加到上面的代码中时,它都不起作用(我的意思是调整大小,添加和删除小部件) 我的js代
title 323 323 323 title 323 323 323 title 323 323 323 JS $(document).keydown(function(e){
我是一名优秀的程序员,十分优秀!