)]}'
{"java/src/main/java/monasca/api/app/AlarmDefinitionService.java":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"1b7a83285fdd5bf61ce722c69d2c26c358add2df","unresolved":false,"context_lines":[{"line_number":286,"context_line":"                expression, matchBy, severity, alarmExpression, enabled,"},{"line_number":287,"context_line":"                alarmActions, okActions, undeterminedActions, subExpressions);"},{"line_number":288,"context_line":"        }"},{"line_number":289,"context_line":"        catch(EntityNotFoundException e) {"},{"line_number":290,"context_line":"          throw e;"},{"line_number":291,"context_line":"        }"},{"line_number":292,"context_line":""}],"source_content_type":"text/x-java","patch_set":4,"id":"1aca2d91_5479462e","line":289,"updated":"2015-05-08 04:03:44.000000000","message":"This does nothing","commit_id":"92aea3e2cab4efa2ef50714fec416c92ad7da7df"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"1b7a83285fdd5bf61ce722c69d2c26c358add2df","unresolved":false,"context_lines":[{"line_number":305,"context_line":"            List\u003cString\u003e matchBy, String severity,"},{"line_number":306,"context_line":"            AlarmExpression alarmExpression, Boolean enabled,"},{"line_number":307,"context_line":"            List\u003cString\u003e alarmActions, List\u003cString\u003e okActions,"},{"line_number":308,"context_line":"            List\u003cString\u003e undeterminedActions, SubExpressions subExpressions) {"},{"line_number":309,"context_line":"        try {"},{"line_number":310,"context_line":"            LOG.debug(\"Updating alarm definition {} for tenant {}\", name,"},{"line_number":311,"context_line":"                    tenantId);"}],"source_content_type":"text/x-java","patch_set":4,"id":"1aca2d91_1473ce4e","line":308,"updated":"2015-05-08 04:03:44.000000000","message":"Don\u0027t delete blank lines","commit_id":"92aea3e2cab4efa2ef50714fec416c92ad7da7df"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"9dc814d787043e4f74cfd3aa53357cfc32906210","unresolved":false,"context_lines":[{"line_number":317,"context_line":"                            subExpressions.newAlarmSubExpressions));"},{"line_number":318,"context_line":"            producer.send(new KeyedMessage\u003c\u003e(config.eventsTopic, String"},{"line_number":319,"context_line":"                    .valueOf(eventCount++), event));"},{"line_number":320,"context_line":"        }"},{"line_number":321,"context_line":"        catch (Exception e) {"},{"line_number":322,"context_line":"            throw Exceptions.uncheck(e,"},{"line_number":323,"context_line":"                    \"Error updating alarm definition for project / tenant %s\","}],"source_content_type":"text/x-java","patch_set":6,"id":"7ad8896b_97ce0eb3","line":320,"updated":"2015-05-11 17:17:46.000000000","message":"You aren\u0027t making any real changes to this file so don\u0027t reformat. Remove it from the change set","commit_id":"d9ffb5528dc1465de4d89ef9361d7c67996acbc7"}],"java/src/main/java/monasca/api/app/validation/AlarmValidation.java":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"9dc814d787043e4f74cfd3aa53357cfc32906210","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        if (action.length() \u003e 50)"},{"line_number":52,"context_line":"          throw Exceptions.unprocessableEntity(\"Alarm action %s must be 50 characters or less\","},{"line_number":53,"context_line":"              action);"},{"line_number":54,"context_line":"      if(checkForDuplicateAlarmActions(alarmActions))"},{"line_number":55,"context_line":"        throw Exceptions.unprocessableEntity(\"Alarm definition cannot have Duplicate notification methods\");"},{"line_number":56,"context_line":"    }"},{"line_number":57,"context_line":"    if (okActions !\u003d null)"}],"source_content_type":"text/x-java","patch_set":6,"id":"7ad8896b_d73b769b","line":54,"updated":"2015-05-11 17:17:46.000000000","message":"Follow the formatting guidelines","commit_id":"d9ffb5528dc1465de4d89ef9361d7c67996acbc7"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"9dc814d787043e4f74cfd3aa53357cfc32906210","unresolved":false,"context_lines":[{"line_number":52,"context_line":"          throw Exceptions.unprocessableEntity(\"Alarm action %s must be 50 characters or less\","},{"line_number":53,"context_line":"              action);"},{"line_number":54,"context_line":"      if(checkForDuplicateAlarmActions(alarmActions))"},{"line_number":55,"context_line":"        throw Exceptions.unprocessableEntity(\"Alarm definition cannot have Duplicate notification methods\");"},{"line_number":56,"context_line":"    }"},{"line_number":57,"context_line":"    if (okActions !\u003d null)"},{"line_number":58,"context_line":"      for (String action : okActions)"}],"source_content_type":"text/x-java","patch_set":6,"id":"7ad8896b_f72b1232","line":55,"updated":"2015-05-11 17:17:46.000000000","message":"This check needs to be made for okActions and undeterminedActions","commit_id":"d9ffb5528dc1465de4d89ef9361d7c67996acbc7"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"9dc814d787043e4f74cfd3aa53357cfc32906210","unresolved":false,"context_lines":[{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    return alarmExpression;"},{"line_number":121,"context_line":"  }"},{"line_number":122,"context_line":"  "},{"line_number":123,"context_line":"  /**"},{"line_number":124,"context_line":"   * Checks for duplicate alarm actions"},{"line_number":125,"context_line":"   */"}],"source_content_type":"text/x-java","patch_set":6,"id":"7ad8896b_b740ea08","line":122,"updated":"2015-05-11 17:17:46.000000000","message":"Remove trailing white space","commit_id":"d9ffb5528dc1465de4d89ef9361d7c67996acbc7"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"9dc814d787043e4f74cfd3aa53357cfc32906210","unresolved":false,"context_lines":[{"line_number":127,"context_line":"  private static boolean checkForDuplicateAlarmActions(List\u003cString\u003e alarmActions) {"},{"line_number":128,"context_line":"      @SuppressWarnings(\"rawtypes\")"},{"line_number":129,"context_line":"      Set inputSet \u003d new HashSet(alarmActions);"},{"line_number":130,"context_line":"      if(inputSet.size()\u003c alarmActions.size()){"},{"line_number":131,"context_line":"          return true;"},{"line_number":132,"context_line":"      }"},{"line_number":133,"context_line":"      return false;"}],"source_content_type":"text/x-java","patch_set":6,"id":"7ad8896b_5748a62d","line":130,"updated":"2015-05-11 17:17:46.000000000","message":"Formatting","commit_id":"d9ffb5528dc1465de4d89ef9361d7c67996acbc7"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"9e710ed5a4bbac77e08b83899165638d96a3993e","unresolved":false,"context_lines":[{"line_number":53,"context_line":"              action);"},{"line_number":54,"context_line":"      if (checkForDuplicateAlarmActions(alarmActions))"},{"line_number":55,"context_line":"        throw Exceptions"},{"line_number":56,"context_line":"            .unprocessableEntity(\"Alarm definition cannot have Duplicate notification methods\");"},{"line_number":57,"context_line":"    }"},{"line_number":58,"context_line":"    if (okActions !\u003d null)"},{"line_number":59,"context_line":"      for (String action : okActions) {"}],"source_content_type":"text/x-java","patch_set":7,"id":"7ad8896b_c2e612e8","line":56,"updated":"2015-05-11 18:04:31.000000000","message":"None of these Error messages for duplicate notification methods specifies which set of methods has the problem. Not how the check above tells you which one has too many.\n\nPut the {  and } on. Follow the formatting guidelines regardless of whether the person before you did","commit_id":"26a1f231cd741ca1da7e6abdfe74eea08675c59b"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"d51b32ef3849a465b50fcfd920a972621607ec02","unresolved":false,"context_lines":[{"line_number":133,"context_line":"   * Method checks for duplicate alarm actions"},{"line_number":134,"context_line":"   */"},{"line_number":135,"context_line":"  @SuppressWarnings(\"unchecked\")"},{"line_number":136,"context_line":"  private static boolean checkForDuplicateAlarmActions(List\u003cString\u003e alarmActions) {"},{"line_number":137,"context_line":"    @SuppressWarnings(\"rawtypes\")"},{"line_number":138,"context_line":"    Set inputSet \u003d new HashSet(alarmActions);"},{"line_number":139,"context_line":"    if (inputSet.size() \u003c alarmActions.size()) {"}],"source_content_type":"text/x-java","patch_set":7,"id":"7ad8896b_c2fdf26f","line":136,"updated":"2015-05-11 18:07:13.000000000","message":"Nit: Could rename this, since it is used for more than just alarm actions","commit_id":"26a1f231cd741ca1da7e6abdfe74eea08675c59b"}],"java/src/main/java/monasca/api/infrastructure/persistence/mysql/AlarmDefinitionMySqlRepoImpl.java":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"1b7a83285fdd5bf61ce722c69d2c26c358add2df","unresolved":false,"context_lines":[{"line_number":280,"context_line":"      List\u003cString\u003e okActions, List\u003cString\u003e undeterminedActions) {"},{"line_number":281,"context_line":"    Handle h \u003d db.open();"},{"line_number":282,"context_line":"    if(checkForDuplicateAlarmActions(alarmActions)){"},{"line_number":283,"context_line":"      throw new EntityNotFoundException(\"Alarm Definition cannot have duplicate Notification Methods\");"},{"line_number":284,"context_line":"    }"},{"line_number":285,"context_line":"    try {"},{"line_number":286,"context_line":"      h.begin();"}],"source_content_type":"text/x-java","patch_set":4,"id":"1aca2d91_b49ada61","line":283,"updated":"2015-05-08 04:03:44.000000000","message":"EntityNotFoundException is incorrect. This should also be done at the AlarmDefinitionResource level\n\nPlease learn the formatting guidelines and follow them when you move this","commit_id":"92aea3e2cab4efa2ef50714fec416c92ad7da7df"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"9dc814d787043e4f74cfd3aa53357cfc32906210","unresolved":false,"context_lines":[{"line_number":22,"context_line":"import java.sql.SQLException;"},{"line_number":23,"context_line":"import java.sql.ResultSet;"},{"line_number":24,"context_line":"import java.util.HashSet;"},{"line_number":25,"context_line":"import java.util.Set;"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"import javax.inject.Inject;"},{"line_number":28,"context_line":"import javax.inject.Named;"}],"source_content_type":"text/x-java","patch_set":6,"id":"7ad8896b_17521ede","line":25,"updated":"2015-05-11 17:17:46.000000000","message":"These two imports are unused. Remove them and this file from the change set","commit_id":"d9ffb5528dc1465de4d89ef9361d7c67996acbc7"}],"java/src/main/java/monasca/api/resource/AlarmDefinitionResource.java":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"9dc814d787043e4f74cfd3aa53357cfc32906210","unresolved":false,"context_lines":[{"line_number":13,"context_line":" */"},{"line_number":14,"context_line":"package monasca.api.resource;"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import com.google.common.base.Strings;"},{"line_number":17,"context_line":"import com.codahale.metrics.annotation.Timed;"},{"line_number":18,"context_line":"import com.fasterxml.jackson.databind.JsonMappingException;"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-java","patch_set":6,"id":"7ad8896b_b757cac9","line":16,"updated":"2015-05-11 17:17:46.000000000","message":"No real changes to this file either","commit_id":"d9ffb5528dc1465de4d89ef9361d7c67996acbc7"}]}
