)]}'
{"java/src/main/java/monasca/api/domain/model/measurement/Measurements.java":[{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"c10fa7bac0a4eb470ec77bccb8e64ee4f169a8ca","unresolved":false,"context_lines":[{"line_number":1,"context_line":"/*"},{"line_number":2,"context_line":" * Copyright (c) 2014 Hewlett-Packard Development Company, L.P."},{"line_number":3,"context_line":" * "},{"line_number":4,"context_line":" * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except"},{"line_number":5,"context_line":" * in compliance with the License. You may obtain a copy of the License at"}],"source_content_type":"text/x-java","patch_set":11,"id":"7a8ec9b2_ccbfd0f9","line":2,"range":{"start_line":2,"start_character":24,"end_line":2,"end_character":63},"updated":"2016-09-14 21:56:29.000000000","message":"copyright","commit_id":"026921edfa8e6aeaa00e734218d08ebfa88130bf"}],"java/src/main/java/monasca/api/infrastructure/persistence/influxdb/InfluxV9Utils.java":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"29e3f3d88040142d911fd9b065a9acc19f604c9c","unresolved":false,"context_lines":[{"line_number":90,"context_line":"  public String groupByPart(List\u003cString\u003e groupBy) {"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    if (!groupBy.isEmpty() \u0026\u0026 !groupBy.contains(\"*\"))"},{"line_number":93,"context_line":"      return \" group by \" + COMMA_JOINER.join(groupBy) + \u0027 \u0027;"},{"line_number":94,"context_line":"    return \"group by * \";"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"  }"}],"source_content_type":"text/x-java","patch_set":11,"id":"7a8ec9b2_8c25ecac","line":93,"updated":"2016-09-14 10:55:19.000000000","message":"Why adding character here ?","commit_id":"026921edfa8e6aeaa00e734218d08ebfa88130bf"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"65fc1fdb937668d234116dac16c8ace3fe7cf5d2","unresolved":false,"context_lines":[{"line_number":90,"context_line":"  public String groupByPart(List\u003cString\u003e groupBy) {"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    if (!groupBy.isEmpty() \u0026\u0026 !groupBy.contains(\"*\"))"},{"line_number":93,"context_line":"      return \" group by \" + COMMA_JOINER.join(groupBy) + \u0027 \u0027;"},{"line_number":94,"context_line":"    return \"group by * \";"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"  }"}],"source_content_type":"text/x-java","patch_set":11,"id":"7a8ec9b2_d0f857e8","line":93,"in_reply_to":"7a8ec9b2_8c25ecac","updated":"2016-09-14 15:00:22.000000000","message":"You mean adding the \u0027 \u0027 at the end? I just needed space at the end, no specific reason to use a char vs string.","commit_id":"026921edfa8e6aeaa00e734218d08ebfa88130bf"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"9a04287fcec58ecf5e4cea12017cd90e20b5eccc","unresolved":false,"context_lines":[{"line_number":90,"context_line":"  public String groupByPart(List\u003cString\u003e groupBy) {"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    if (!groupBy.isEmpty() \u0026\u0026 !groupBy.contains(\"*\"))"},{"line_number":93,"context_line":"      return \" group by \" + COMMA_JOINER.join(groupBy) + \u0027 \u0027;"},{"line_number":94,"context_line":"    return \"group by * \";"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"  }"}],"source_content_type":"text/x-java","patch_set":11,"id":"7a8ec9b2_4b91f8ef","line":93,"in_reply_to":"7a8ec9b2_d0f857e8","updated":"2016-09-14 15:20:06.000000000","message":"Yes, but I was referring to char as your choice, that looked kind of awkward first looking at this but that\u0027s not major issue if any, maybe just a code style only.","commit_id":"026921edfa8e6aeaa00e734218d08ebfa88130bf"}],"java/src/main/java/monasca/api/infrastructure/persistence/vertica/MeasurementVerticaRepoImpl.java":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"fc1954cfcf6df2aeca12f5b829e61f5cd5d534f5","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"import java.io.IOException;"},{"line_number":24,"context_line":"import java.sql.Timestamp;"},{"line_number":25,"context_line":"import java.util.*;"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"import javax.annotation.Nullable;"},{"line_number":28,"context_line":"import javax.inject.Inject;"}],"source_content_type":"text/x-java","patch_set":13,"id":"7a8ec9b2_0199017c","line":25,"range":{"start_line":25,"start_character":0,"end_line":25,"end_character":19},"updated":"2016-09-16 22:28:52.000000000","message":"Coding standards don\u0027t allow import *","commit_id":"3231900614681c22c5cc195de81fc9f7505e4bfc"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"11b1a35cb613d854bdc7445906be6de2547ca12d","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"import java.io.IOException;"},{"line_number":24,"context_line":"import java.sql.Timestamp;"},{"line_number":25,"context_line":"import java.util.*;"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"import javax.annotation.Nullable;"},{"line_number":28,"context_line":"import javax.inject.Inject;"}],"source_content_type":"text/x-java","patch_set":13,"id":"7a8ec9b2_229cea68","line":25,"range":{"start_line":25,"start_character":0,"end_line":25,"end_character":19},"in_reply_to":"7a8ec9b2_0199017c","updated":"2016-09-19 21:43:47.000000000","message":"Done","commit_id":"3231900614681c22c5cc195de81fc9f7505e4bfc"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"fc1954cfcf6df2aeca12f5b829e61f5cd5d534f5","unresolved":false,"context_lines":[{"line_number":93,"context_line":"      if (groupBy.isEmpty() \u0026\u0026 !Boolean.TRUE.equals(mergeMetricsFlag)) {"},{"line_number":94,"context_line":"        MetricQueries.checkForMultipleDefinitions(h, tenantId, name, dimensions);"},{"line_number":95,"context_line":"      }"},{"line_number":96,"context_line":" "},{"line_number":97,"context_line":"      StringBuilder endtimeAndOffsetSql \u003d new StringBuilder();"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"      if (endTime !\u003d null) {"}],"source_content_type":"text/x-java","patch_set":13,"id":"7a8ec9b2_419f895e","line":96,"range":{"start_line":96,"start_character":0,"end_line":96,"end_character":1},"updated":"2016-09-16 22:28:52.000000000","message":"Remove this trailing blank as long as you are in this file","commit_id":"3231900614681c22c5cc195de81fc9f7505e4bfc"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"11b1a35cb613d854bdc7445906be6de2547ca12d","unresolved":false,"context_lines":[{"line_number":93,"context_line":"      if (groupBy.isEmpty() \u0026\u0026 !Boolean.TRUE.equals(mergeMetricsFlag)) {"},{"line_number":94,"context_line":"        MetricQueries.checkForMultipleDefinitions(h, tenantId, name, dimensions);"},{"line_number":95,"context_line":"      }"},{"line_number":96,"context_line":" "},{"line_number":97,"context_line":"      StringBuilder endtimeAndOffsetSql \u003d new StringBuilder();"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"      if (endTime !\u003d null) {"}],"source_content_type":"text/x-java","patch_set":13,"id":"7a8ec9b2_42873612","line":96,"range":{"start_line":96,"start_character":0,"end_line":96,"end_character":1},"in_reply_to":"7a8ec9b2_419f895e","updated":"2016-09-19 21:43:47.000000000","message":"Done","commit_id":"3231900614681c22c5cc195de81fc9f7505e4bfc"}],"java/src/main/java/monasca/api/infrastructure/persistence/vertica/MetricQueries.java":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"fc1954cfcf6df2aeca12f5b829e61f5cd5d534f5","unresolved":false,"context_lines":[{"line_number":18,"context_line":"import com.google.common.base.Strings;"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"import java.sql.Timestamp;"},{"line_number":21,"context_line":"import java.util.*;"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"import org.joda.time.DateTime;"},{"line_number":24,"context_line":"import org.skife.jdbi.v2.Handle;"}],"source_content_type":"text/x-java","patch_set":13,"id":"7a8ec9b2_01a741aa","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":19},"updated":"2016-09-16 22:28:52.000000000","message":"Expland","commit_id":"3231900614681c22c5cc195de81fc9f7505e4bfc"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"11b1a35cb613d854bdc7445906be6de2547ca12d","unresolved":false,"context_lines":[{"line_number":18,"context_line":"import com.google.common.base.Strings;"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"import java.sql.Timestamp;"},{"line_number":21,"context_line":"import java.util.*;"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"import org.joda.time.DateTime;"},{"line_number":24,"context_line":"import org.skife.jdbi.v2.Handle;"}],"source_content_type":"text/x-java","patch_set":13,"id":"7a8ec9b2_a2863a11","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":19},"in_reply_to":"7a8ec9b2_01a741aa","updated":"2016-09-19 21:43:47.000000000","message":"Done","commit_id":"3231900614681c22c5cc195de81fc9f7505e4bfc"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"fc1954cfcf6df2aeca12f5b829e61f5cd5d534f5","unresolved":false,"context_lines":[{"line_number":292,"context_line":"  }"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"  static String buildGroupByConcatString(List\u003cString\u003e groupBy) {"},{"line_number":295,"context_line":"    if (groupBy.isEmpty() || \"*\".equals(groupBy.get(0)))"},{"line_number":296,"context_line":"      return \"\";"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"    String select \u003d \"(\";"}],"source_content_type":"text/x-java","patch_set":13,"id":"7a8ec9b2_61bf25aa","line":295,"range":{"start_line":295,"start_character":7,"end_line":295,"end_character":56},"updated":"2016-09-16 22:28:52.000000000","message":"This is a different expression than you use other places. Maybe pull this out into an utility method?","commit_id":"3231900614681c22c5cc195de81fc9f7505e4bfc"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"11b1a35cb613d854bdc7445906be6de2547ca12d","unresolved":false,"context_lines":[{"line_number":292,"context_line":"  }"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"  static String buildGroupByConcatString(List\u003cString\u003e groupBy) {"},{"line_number":295,"context_line":"    if (groupBy.isEmpty() || \"*\".equals(groupBy.get(0)))"},{"line_number":296,"context_line":"      return \"\";"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"    String select \u003d \"(\";"}],"source_content_type":"text/x-java","patch_set":13,"id":"7a8ec9b2_e278422e","line":295,"range":{"start_line":295,"start_character":7,"end_line":295,"end_character":56},"in_reply_to":"7a8ec9b2_61bf25aa","updated":"2016-09-19 21:43:47.000000000","message":"Done, assuming the name is alright","commit_id":"3231900614681c22c5cc195de81fc9f7505e4bfc"}],"monasca_tempest_tests/tests/api/test_measurements.py":[{"author":{"_account_id":18179,"name":"Kaiyan Sheng","email":"kaiyan.sheng@hpe.com","username":"kaiyan-sheng"},"change_message_id":"81d506bd6afa0445904e0ead951ae5f9c3fcba56","unresolved":false,"context_lines":[{"line_number":274,"context_line":"            self.assertEqual([u\u0027key2\u0027], measurements[\u0027dimensions\u0027].keys())"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"    @test.attr(type\u003d\"gate\")"},{"line_number":277,"context_line":"    def test_list_measurements_with_group_by_multiple(self):"},{"line_number":278,"context_line":"        query_parms \u003d \u0027?name\u003d\u0027 + str(self._names_list[1]) + \\"},{"line_number":279,"context_line":"                      \u0027\u0026group_by\u003dkey2,key3\u0027 + \\"},{"line_number":280,"context_line":"                      \u0027\u0026start_time\u003d\u0027 + str(self._start_time) + \\"}],"source_content_type":"text/x-python","patch_set":13,"id":"7a8ec9b2_db48a18d","line":277,"range":{"start_line":277,"start_character":0,"end_line":277,"end_character":60},"updated":"2016-09-19 17:37:40.000000000","message":"Can you add tempest tests for group_by with offset limit please?","commit_id":"3231900614681c22c5cc195de81fc9f7505e4bfc"},{"author":{"_account_id":18286,"name":"Shinya Kawabata","email":"s-kawabata@wx.jp.nec.com","username":"kawabata"},"change_message_id":"0a4fc4247a5ba71e3e3d6ba515135ec2681f182b","unresolved":false,"context_lines":[{"line_number":276,"context_line":"    @test.attr(type\u003d\"gate\")"},{"line_number":277,"context_line":"    def test_list_measurements_with_group_by_multiple(self):"},{"line_number":278,"context_line":"        query_parms \u003d \u0027?name\u003d\u0027 + str(self._names_list[1]) + \\"},{"line_number":279,"context_line":"                      \u0027\u0026group_by\u003dkey2,key3\u0027 + \\"},{"line_number":280,"context_line":"                      \u0027\u0026start_time\u003d\u0027 + str(self._start_time) + \\"},{"line_number":281,"context_line":"                      \u0027\u0026end_time\u003d\u0027 + str(self._end_time)"},{"line_number":282,"context_line":"        resp, response_body \u003d self.monasca_client.list_measurements("}],"source_content_type":"text/x-python","patch_set":20,"id":"fa6399be_450e5be6","line":279,"range":{"start_line":279,"start_character":33,"end_line":279,"end_character":42},"updated":"2016-10-18 01:36:41.000000000","message":"I think it should be URL encoded because it includes comma.","commit_id":"61e2f8b0d304776cb68b1cb0638fb9ac52842cdb"}]}
