)]}'
{"devstack/post_test_hook.sh":[{"author":{"_account_id":19491,"name":"oiskam1@yandex.ru","email":"oiskam1@yandex.ru","username":"oiskam1"},"change_message_id":"95461f7b150198b892b7bdbfb08e8eecd29ca44d","unresolved":false,"context_lines":[{"line_number":15,"context_line":"# limitations under the License."},{"line_number":16,"context_line":"#"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"# (cd $BASE/new/tempest/; sudo virtualenv .venv)"},{"line_number":19,"context_line":"# source $BASE/new/tempest/.venv/bin/activate"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"# (cd $BASE/new/tempest/; sudo pip install -r requirements.txt -r test-requirements.txt)"}],"source_content_type":"text/x-sh","patch_set":4,"id":"9aed3d3a_5fa522b3","line":18,"updated":"2016-02-27 10:23:22.000000000","message":"Why did you comment out this tests? I think that better option is adding tempest-lib to test-requirments. This change is not tested by tempest now.","commit_id":"9dcc8acdb15049252798410a4c74335f1ee3080f"}],"java/src/main/java/monasca/api/app/validation/Validation.java":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"642d5fa8aaaca8cfe25a6df35a552f28a64dbbca","unresolved":false,"context_lines":[{"line_number":236,"context_line":"        if (field.size() \u003e 2) {"},{"line_number":237,"context_line":"          throw Exceptions.unprocessableEntity(String.format(\"Invalid sort_by format %s\", sortByField));"},{"line_number":238,"context_line":"        }"},{"line_number":239,"context_line":"        if (!allowed_sort_by.contains(field.get(0))) {"},{"line_number":240,"context_line":"          throw Exceptions.unprocessableEntity(String.format(\"Sort_by field %s must be one of %s\", field.get(0), allowed_sort_by));"},{"line_number":241,"context_line":"        }"},{"line_number":242,"context_line":"        if (field.size() \u003e 1 \u0026\u0026 !field.get(1).equals(\"desc\") \u0026\u0026 !field.get(1).equals(\"asc\")) {"}],"source_content_type":"text/x-java","patch_set":2,"id":"bae84128_000e06e5","line":239,"range":{"start_line":239,"start_character":8,"end_line":239,"end_character":54},"updated":"2016-02-24 17:37:05.000000000","message":"The other validation methods allow upper or lower case. For example, see use of VALID_STATISTICS and VALID_ALARM_STATE. I think it is inconsistent to only allow lower case on sortBy. It would be OK to change to lower case here, though.\n\nSame for asc and desc below","commit_id":"f3241d29d3da8b712787bc1fc5ae8686ac8657fd"}],"java/src/main/java/monasca/api/infrastructure/persistence/mysql/AlarmMySqlRepoImpl.java":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"d8bf9d94cb318b00c3e1da6f30fa156971f867c8","unresolved":false,"context_lines":[{"line_number":275,"context_line":"  private void replaceFieldName(List\u003cString\u003e list, String oldString, String newString) {"},{"line_number":276,"context_line":"    for (int i \u003d 0; i \u003c list.size(); i++) {"},{"line_number":277,"context_line":"      String listElement \u003d list.get(i);"},{"line_number":278,"context_line":"      String columnName \u003d Splitter.on(\u0027 \u0027).splitToList(listElement).get(0);"},{"line_number":279,"context_line":"      if (columnName.equalsIgnoreCase(oldString)) {"},{"line_number":280,"context_line":"        list.set(i, listElement.replace(oldString, newString));"},{"line_number":281,"context_line":"      }"}],"source_content_type":"text/x-java","patch_set":1,"id":"bae84128_60fd59b0","line":278,"range":{"start_line":278,"start_character":26,"end_line":278,"end_character":42},"updated":"2016-02-24 16:07:08.000000000","message":"You create a new one of these for every split. Seems to be better to just create one","commit_id":"43b01a53060de00e296d41cabc7c7a7330181bae"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"8ce4e3378aa0b18eb840d6d8affcb806887cb2a0","unresolved":false,"context_lines":[{"line_number":275,"context_line":"  private void replaceFieldName(List\u003cString\u003e list, String oldString, String newString) {"},{"line_number":276,"context_line":"    for (int i \u003d 0; i \u003c list.size(); i++) {"},{"line_number":277,"context_line":"      String listElement \u003d list.get(i);"},{"line_number":278,"context_line":"      String columnName \u003d Splitter.on(\u0027 \u0027).splitToList(listElement).get(0);"},{"line_number":279,"context_line":"      if (columnName.equalsIgnoreCase(oldString)) {"},{"line_number":280,"context_line":"        list.set(i, listElement.replace(oldString, newString));"},{"line_number":281,"context_line":"      }"}],"source_content_type":"text/x-java","patch_set":1,"id":"bae84128_d636ab4f","line":278,"range":{"start_line":278,"start_character":26,"end_line":278,"end_character":42},"in_reply_to":"bae84128_60fd59b0","updated":"2016-02-24 16:36:52.000000000","message":"Done","commit_id":"43b01a53060de00e296d41cabc7c7a7330181bae"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"d8bf9d94cb318b00c3e1da6f30fa156971f867c8","unresolved":false,"context_lines":[{"line_number":277,"context_line":"      String listElement \u003d list.get(i);"},{"line_number":278,"context_line":"      String columnName \u003d Splitter.on(\u0027 \u0027).splitToList(listElement).get(0);"},{"line_number":279,"context_line":"      if (columnName.equalsIgnoreCase(oldString)) {"},{"line_number":280,"context_line":"        list.set(i, listElement.replace(oldString, newString));"},{"line_number":281,"context_line":"      }"},{"line_number":282,"context_line":"    }"},{"line_number":283,"context_line":"  }"}],"source_content_type":"text/x-java","patch_set":1,"id":"bae84128_00572dca","line":280,"range":{"start_line":280,"start_character":32,"end_line":280,"end_character":39},"updated":"2016-02-24 16:07:08.000000000","message":"You do an equalsIgnoreCase but the replace only does case sensitive replace so I\u0027m not sure this works correctly for upper or mixed case.","commit_id":"43b01a53060de00e296d41cabc7c7a7330181bae"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"8ce4e3378aa0b18eb840d6d8affcb806887cb2a0","unresolved":false,"context_lines":[{"line_number":277,"context_line":"      String listElement \u003d list.get(i);"},{"line_number":278,"context_line":"      String columnName \u003d Splitter.on(\u0027 \u0027).splitToList(listElement).get(0);"},{"line_number":279,"context_line":"      if (columnName.equalsIgnoreCase(oldString)) {"},{"line_number":280,"context_line":"        list.set(i, listElement.replace(oldString, newString));"},{"line_number":281,"context_line":"      }"},{"line_number":282,"context_line":"    }"},{"line_number":283,"context_line":"  }"}],"source_content_type":"text/x-java","patch_set":1,"id":"bae84128_1624930a","line":280,"range":{"start_line":280,"start_character":32,"end_line":280,"end_character":39},"in_reply_to":"bae84128_00572dca","updated":"2016-02-24 16:36:52.000000000","message":"Looks like the validation will check for everything in lower case","commit_id":"43b01a53060de00e296d41cabc7c7a7330181bae"}]}
