)]}'
{"java/src/main/java/monasca/api/infrastructure/persistence/mysql/NotificationMethodMySqlRepoImpl.java":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"13accb75710b7dc595e884387df0abd0985781e6","unresolved":false,"context_lines":[{"line_number":49,"context_line":"  @Override"},{"line_number":50,"context_line":"  public NotificationMethod create(String tenantId, String name, NotificationMethodType type,"},{"line_number":51,"context_line":"      String address) {"},{"line_number":52,"context_line":"    if (exists(tenantId, name, type, address)!\u003dnull)"},{"line_number":53,"context_line":"      throw new EntityExistsException(\"Notification method %s \\\"%s\\\" %s \\\"%s\\\" already exists.\","},{"line_number":54,"context_line":"          tenantId, name, type, address);"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-java","patch_set":1,"id":"9a80dd14_da5896fc","line":52,"updated":"2015-03-12 17:12:00.000000000","message":"Please fix the formatting of this line","commit_id":"2b2dd7d5f7e278a265a4660e3d0ead1550c64f0f"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"13accb75710b7dc595e884387df0abd0985781e6","unresolved":false,"context_lines":[{"line_number":91,"context_line":"              \"select id from notification_method where tenant_id \u003d :tenantId and name \u003d :name and type \u003d :type and address \u003d :address\")"},{"line_number":92,"context_line":"          .bind(\"tenantId\", tenantId).bind(\"name\", name).bind(\"type\", type.toString())"},{"line_number":93,"context_line":"          .bind(\"address\", address).first();"},{"line_number":94,"context_line":"        if (map !\u003d null) {"},{"line_number":95,"context_line":"            if (map.values().size() !\u003d 0) {"},{"line_number":96,"context_line":"                return map.get(\"id\").toString();"},{"line_number":97,"context_line":"            } else {"}],"source_content_type":"text/x-java","patch_set":1,"id":"9a80dd14_fa12ba07","line":94,"updated":"2015-03-12 17:12:00.000000000","message":"This would be better written as if (map !\u003d null \u0026\u0026 !map.isEmpty()) {","commit_id":"2b2dd7d5f7e278a265a4660e3d0ead1550c64f0f"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"59cfbacdf72718a47cd4fdf9c92cc02695d3ba09","unresolved":false,"context_lines":[{"line_number":90,"context_line":"          .createQuery("},{"line_number":91,"context_line":"              \"select id from notification_method where tenant_id \u003d :tenantId and name \u003d :name\")"},{"line_number":92,"context_line":"          .bind(\"tenantId\", tenantId).bind(\"name\", name).first();"},{"line_number":93,"context_line":"        if (map !\u003d null \u0026\u0026 !map.isEmpty()) {"},{"line_number":94,"context_line":"                return map.get(\"id\").toString();"},{"line_number":95,"context_line":"        } else {"},{"line_number":96,"context_line":"            return null;"}],"source_content_type":"text/x-java","patch_set":2,"id":"9a80dd14_f8ac42ef","line":93,"updated":"2015-03-13 19:31:03.000000000","message":"Fix the formatting in this whole section","commit_id":"65da4ee14913fe7d79bcc5a2b9ec5e987022e4d1"},{"author":{"_account_id":12512,"name":"Deklan Dieterly","email":"deklan.dieterly@hpe.com","username":"deklan"},"change_message_id":"1ca0cb63f1efe3a943730dbfbab892a84c6efc62","unresolved":false,"context_lines":[{"line_number":50,"context_line":"  public NotificationMethod create(String tenantId, String name, NotificationMethodType type,"},{"line_number":51,"context_line":"      String address) {"},{"line_number":52,"context_line":"    if (getNotificationIdForTenantIdAndName(tenantId, name)!\u003dnull)"},{"line_number":53,"context_line":"      throw new EntityExistsException(\"Notification method %s \\\"%s\\\" already exists.\", tenantId, name);"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    try (Handle h \u003d db.open()) {"},{"line_number":56,"context_line":"      String id \u003d UUID.randomUUID().toString();"}],"source_content_type":"text/x-java","patch_set":3,"id":"9a80dd14_7468e321","line":53,"updated":"2015-03-17 16:51:59.000000000","message":"this needs to be in the same transaction as the create. if you separate them into 2 transactions, then there is no gaurantee that duplicates will not get introduced.","commit_id":"8b59ba44f353617d0f68f394ed8ddb52f7112c42"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"0343bc0de5d180fbcb42923d0d7facfb308c9a0c","unresolved":false,"context_lines":[{"line_number":89,"context_line":"    }"},{"line_number":90,"context_line":"  }"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"  public String getNotificationIdForTenantIdAndName(String tenantId, String name) {"},{"line_number":93,"context_line":"    try (Handle h \u003d db.open()) {"},{"line_number":94,"context_line":"      Map\u003cString, Object\u003e map \u003d h"},{"line_number":95,"context_line":"          .createQuery("}],"source_content_type":"text/x-java","patch_set":8,"id":"1a6ced46_dc7e2de4","line":92,"updated":"2015-03-23 15:53:05.000000000","message":"This should be private","commit_id":"f227511e3932784bdc1e2d996870bc612cc1216e"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"0343bc0de5d180fbcb42923d0d7facfb308c9a0c","unresolved":false,"context_lines":[{"line_number":90,"context_line":"  }"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"  public String getNotificationIdForTenantIdAndName(String tenantId, String name) {"},{"line_number":93,"context_line":"    try (Handle h \u003d db.open()) {"},{"line_number":94,"context_line":"      Map\u003cString, Object\u003e map \u003d h"},{"line_number":95,"context_line":"          .createQuery("},{"line_number":96,"context_line":"              \"select id from notification_method where tenant_id \u003d :tenantId and name \u003d :name\")"}],"source_content_type":"text/x-java","patch_set":8,"id":"1a6ced46_3c54a153","line":93,"updated":"2015-03-23 15:53:05.000000000","message":"Both places this is called from already have a Handle so it should just be passed in rather than allocating a new one","commit_id":"f227511e3932784bdc1e2d996870bc612cc1216e"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"930bbbb4190babeede92eac0915d9059a4434728","unresolved":false,"context_lines":[{"line_number":94,"context_line":"          .createQuery("},{"line_number":95,"context_line":"              \"select id from notification_method where tenant_id \u003d :tenantId and name \u003d :name\")"},{"line_number":96,"context_line":"          .bind(\"tenantId\", tenantId).bind(\"name\", name).first();"},{"line_number":97,"context_line":"      if (map !\u003d null \u0026\u0026 !map.isEmpty()) {"},{"line_number":98,"context_line":"        return map.get(\"id\").toString();"},{"line_number":99,"context_line":"      }"},{"line_number":100,"context_line":"      else {"}],"source_content_type":"text/x-java","patch_set":9,"id":"1a6ced46_bc685ebb","line":97,"updated":"2015-03-24 15:39:07.000000000","message":"This section is over indented","commit_id":"aec783f3c55ecb9acb78be48f58f83cc1f7a5f0a"}],"java/src/test/java/monasca/api/infrastructure/persistence/mysql/NotificationMethodMySqlRepositoryImplTest.java":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"13accb75710b7dc595e884387df0abd0985781e6","unresolved":false,"context_lines":[{"line_number":111,"context_line":"    } catch (EntityNotFoundException expected) {"},{"line_number":112,"context_line":"    }"},{"line_number":113,"context_line":"  }"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"  public void shouldUpdateDuplicateWithSameValues() {"},{"line_number":116,"context_line":"      repo.update(\"444\", \"123\", \"Foo\", NotificationMethodType.EMAIL, \"abc\");"},{"line_number":117,"context_line":"      NotificationMethod nm \u003d repo.findById(\"444\", \"123\");"}],"source_content_type":"text/x-java","patch_set":1,"id":"9a80dd14_bad68225","line":114,"updated":"2015-03-12 17:12:00.000000000","message":"Where is the test that trying to change the name to an existing one throws EntityNotFoundException?","commit_id":"2b2dd7d5f7e278a265a4660e3d0ead1550c64f0f"}]}
