)]}'
{"java/src/main/java/monasca/api/domain/model/measurement/Measurements.java":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"a9ce4c9b51c3d7cfe0fd5a0bbd0735925803ef68","unresolved":false,"context_lines":[{"line_number":52,"context_line":"  }"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"  @Override"},{"line_number":55,"context_line":"  public boolean equals(Object obj) {"},{"line_number":56,"context_line":"    if (this \u003d\u003d obj)"},{"line_number":57,"context_line":"      return true;"},{"line_number":58,"context_line":"    if (obj \u003d\u003d null)"}],"source_content_type":"text/x-java","patch_set":6,"id":"3aaa91ec_dec33837","line":55,"range":{"start_line":55,"start_character":17,"end_line":55,"end_character":23},"updated":"2016-06-27 21:45:17.000000000","message":"Since columns are now mutable by subclasses, columns needs to be added to equals() and hashcode() unless those are going to be handled in the subclass equals() and hashcode()","commit_id":"0fc63eb956f8bd1e56330ed529c2b8af1b542f9b"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"4766158363a42f0bbf684f472b2f45807a542acd","unresolved":false,"context_lines":[{"line_number":52,"context_line":"  }"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"  @Override"},{"line_number":55,"context_line":"  public boolean equals(Object obj) {"},{"line_number":56,"context_line":"    if (this \u003d\u003d obj)"},{"line_number":57,"context_line":"      return true;"},{"line_number":58,"context_line":"    if (obj \u003d\u003d null)"}],"source_content_type":"text/x-java","patch_set":6,"id":"3aaa91ec_c4b649f8","line":55,"range":{"start_line":55,"start_character":17,"end_line":55,"end_character":23},"in_reply_to":"3aaa91ec_dec33837","updated":"2016-06-29 21:00:16.000000000","message":"Done","commit_id":"0fc63eb956f8bd1e56330ed529c2b8af1b542f9b"}],"java/src/main/java/monasca/api/domain/model/statistic/StatisticRepo.java":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"a9ce4c9b51c3d7cfe0fd5a0bbd0735925803ef68","unresolved":false,"context_lines":[{"line_number":30,"context_line":"  /**"},{"line_number":31,"context_line":"   * Finds statistics for the given criteria."},{"line_number":32,"context_line":"   */"},{"line_number":33,"context_line":"  List\u003cMeasurements\u003e find(String tenantId, String name, Map\u003cString, String\u003e dimensions,"},{"line_number":34,"context_line":"                        DateTime startTime, @Nullable DateTime endTime, List\u003cString\u003e statistics,"},{"line_number":35,"context_line":"                        int period, String offset, int limit, Boolean mergeMetricsFlag,"},{"line_number":36,"context_line":"                        String groupBy)"}],"source_content_type":"text/x-java","patch_set":6,"id":"3aaa91ec_be510cdb","line":33,"range":{"start_line":33,"start_character":7,"end_line":33,"end_character":19},"updated":"2016-06-27 21:45:17.000000000","message":"I don\u0027t like the change to Measurements since it really is a Statistics being returned here. You can use Statistics if you make some changes to other code to use List\u003c? extends Measurements\u003e for some methods like Links.paginateMeasurements()","commit_id":"0fc63eb956f8bd1e56330ed529c2b8af1b542f9b"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"4766158363a42f0bbf684f472b2f45807a542acd","unresolved":false,"context_lines":[{"line_number":30,"context_line":"  /**"},{"line_number":31,"context_line":"   * Finds statistics for the given criteria."},{"line_number":32,"context_line":"   */"},{"line_number":33,"context_line":"  List\u003cMeasurements\u003e find(String tenantId, String name, Map\u003cString, String\u003e dimensions,"},{"line_number":34,"context_line":"                        DateTime startTime, @Nullable DateTime endTime, List\u003cString\u003e statistics,"},{"line_number":35,"context_line":"                        int period, String offset, int limit, Boolean mergeMetricsFlag,"},{"line_number":36,"context_line":"                        String groupBy)"}],"source_content_type":"text/x-java","patch_set":6,"id":"3aaa91ec_ff494e32","line":33,"range":{"start_line":33,"start_character":7,"end_line":33,"end_character":19},"in_reply_to":"3aaa91ec_be510cdb","updated":"2016-06-29 21:00:16.000000000","message":"Agreed, done.","commit_id":"0fc63eb956f8bd1e56330ed529c2b8af1b542f9b"}],"java/src/main/java/monasca/api/domain/model/statistic/Statistics.java":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"a9ce4c9b51c3d7cfe0fd5a0bbd0735925803ef68","unresolved":false,"context_lines":[{"line_number":27,"context_line":"public class Statistics extends Measurements {"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"  public Statistics() {"},{"line_number":30,"context_line":"    this.measurements \u003d new ArrayList\u003c\u003e();"},{"line_number":31,"context_line":"  }"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"  public Statistics(String name, Map\u003cString, String\u003e dimensions, List\u003cString\u003e columns) {"}],"source_content_type":"text/x-java","patch_set":6,"id":"3aaa91ec_7e1cc413","line":30,"range":{"start_line":30,"start_character":4,"end_line":30,"end_character":42},"updated":"2016-06-27 21:45:17.000000000","message":"This should just be super();","commit_id":"0fc63eb956f8bd1e56330ed529c2b8af1b542f9b"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"4766158363a42f0bbf684f472b2f45807a542acd","unresolved":false,"context_lines":[{"line_number":27,"context_line":"public class Statistics extends Measurements {"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"  public Statistics() {"},{"line_number":30,"context_line":"    this.measurements \u003d new ArrayList\u003c\u003e();"},{"line_number":31,"context_line":"  }"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"  public Statistics(String name, Map\u003cString, String\u003e dimensions, List\u003cString\u003e columns) {"}],"source_content_type":"text/x-java","patch_set":6,"id":"3aaa91ec_e45545c2","line":30,"range":{"start_line":30,"start_character":4,"end_line":30,"end_character":42},"in_reply_to":"3aaa91ec_7e1cc413","updated":"2016-06-29 21:00:16.000000000","message":"Done","commit_id":"0fc63eb956f8bd1e56330ed529c2b8af1b542f9b"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"a9ce4c9b51c3d7cfe0fd5a0bbd0735925803ef68","unresolved":false,"context_lines":[{"line_number":31,"context_line":"  }"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"  public Statistics(String name, Map\u003cString, String\u003e dimensions, List\u003cString\u003e columns) {"},{"line_number":34,"context_line":"    this.name \u003d name;"},{"line_number":35,"context_line":"    this.dimensions \u003d dimensions;"},{"line_number":36,"context_line":"    this.columns \u003d columns;"},{"line_number":37,"context_line":"    this.measurements \u003d new ArrayList\u003c\u003e();"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"  }"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-java","patch_set":6,"id":"3aaa91ec_5eb3c80a","line":37,"range":{"start_line":34,"start_character":0,"end_line":37,"end_character":42},"updated":"2016-06-27 21:45:17.000000000","message":"This should just be:\n\n    super(name, dimensions);\n    this.columns \u003d columns;\n\nUnless there is a reason it should be an ArrayList\u003c\u003e vs a LinkedList in Measurements","commit_id":"0fc63eb956f8bd1e56330ed529c2b8af1b542f9b"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"4766158363a42f0bbf684f472b2f45807a542acd","unresolved":false,"context_lines":[{"line_number":31,"context_line":"  }"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"  public Statistics(String name, Map\u003cString, String\u003e dimensions, List\u003cString\u003e columns) {"},{"line_number":34,"context_line":"    this.name \u003d name;"},{"line_number":35,"context_line":"    this.dimensions \u003d dimensions;"},{"line_number":36,"context_line":"    this.columns \u003d columns;"},{"line_number":37,"context_line":"    this.measurements \u003d new ArrayList\u003c\u003e();"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"  }"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-java","patch_set":6,"id":"3aaa91ec_c45ac9f1","line":37,"range":{"start_line":34,"start_character":0,"end_line":37,"end_character":42},"in_reply_to":"3aaa91ec_5eb3c80a","updated":"2016-06-29 21:00:16.000000000","message":"Done","commit_id":"0fc63eb956f8bd1e56330ed529c2b8af1b542f9b"}],"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":"a9ce4c9b51c3d7cfe0fd5a0bbd0735925803ef68","unresolved":false,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"      if (offset !\u003d null \u0026\u0026 !offset.isEmpty()) {"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        if (\"*\".equals(groupBy)) {"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"          sb.append(\" and (TO_HEX(mes.definition_dimensions_id) \u003e :offset_id \""},{"line_number":112,"context_line":"                    + \"or (TO_HEX(mes.definition_dimensions_id) \u003d :offset_id and mes.time_stamp \u003e :offset_timestamp)) \");"}],"source_content_type":"text/x-java","patch_set":6,"id":"3aaa91ec_3eecfc8e","line":109,"range":{"start_line":109,"start_character":7,"end_line":109,"end_character":34},"updated":"2016-06-27 21:45:17.000000000","message":"Shouldn\u0027t there still be a check for Boolean.TRUE.equals(mergeMetricsFlag) here? The previous code output the double value offset for mergeMetricsFlag. Is that not needed anymore?","commit_id":"0fc63eb956f8bd1e56330ed529c2b8af1b542f9b"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"4766158363a42f0bbf684f472b2f45807a542acd","unresolved":false,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"      if (offset !\u003d null \u0026\u0026 !offset.isEmpty()) {"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        if (\"*\".equals(groupBy)) {"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"          sb.append(\" and (TO_HEX(mes.definition_dimensions_id) \u003e :offset_id \""},{"line_number":112,"context_line":"                    + \"or (TO_HEX(mes.definition_dimensions_id) \u003d :offset_id and mes.time_stamp \u003e :offset_timestamp)) \");"}],"source_content_type":"text/x-java","patch_set":6,"id":"3aaa91ec_847a8186","line":109,"range":{"start_line":109,"start_character":7,"end_line":109,"end_character":34},"in_reply_to":"3aaa91ec_3eecfc8e","updated":"2016-06-29 21:00:16.000000000","message":"It was decided that group_by overrides merge. If group_by is set then offset needs to be split, but in all other cases, we only need the timestamp.","commit_id":"0fc63eb956f8bd1e56330ed529c2b8af1b542f9b"}],"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":"a9ce4c9b51c3d7cfe0fd5a0bbd0735925803ef68","unresolved":false,"context_lines":[{"line_number":23,"context_line":"import java.util.List;"},{"line_number":24,"context_line":"import java.util.Map;"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"import org.apache.commons.codec.binary.Hex;"},{"line_number":27,"context_line":"import org.joda.time.DateTime;"},{"line_number":28,"context_line":"import org.skife.jdbi.v2.Handle;"},{"line_number":29,"context_line":"import org.skife.jdbi.v2.Query;"}],"source_content_type":"text/x-java","patch_set":6,"id":"3aaa91ec_fb15669b","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":43},"updated":"2016-06-27 21:45:17.000000000","message":"This import is not used","commit_id":"0fc63eb956f8bd1e56330ed529c2b8af1b542f9b"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"4766158363a42f0bbf684f472b2f45807a542acd","unresolved":false,"context_lines":[{"line_number":23,"context_line":"import java.util.List;"},{"line_number":24,"context_line":"import java.util.Map;"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"import org.apache.commons.codec.binary.Hex;"},{"line_number":27,"context_line":"import org.joda.time.DateTime;"},{"line_number":28,"context_line":"import org.skife.jdbi.v2.Handle;"},{"line_number":29,"context_line":"import org.skife.jdbi.v2.Query;"}],"source_content_type":"text/x-java","patch_set":6,"id":"3aaa91ec_64b7953a","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":43},"in_reply_to":"3aaa91ec_fb15669b","updated":"2016-06-29 21:00:16.000000000","message":"Done","commit_id":"0fc63eb956f8bd1e56330ed529c2b8af1b542f9b"}],"java/src/main/java/monasca/api/resource/Links.java":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"a9ce4c9b51c3d7cfe0fd5a0bbd0735925803ef68","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"import com.google.common.base.Preconditions;"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"import org.apache.zookeeper.data.Stat;"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"import monasca.api.ApiConfig;"},{"line_number":29,"context_line":"import monasca.api.domain.model.alarm.AlarmCount;"}],"source_content_type":"text/x-java","patch_set":6,"id":"3aaa91ec_c05c437f","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":38},"updated":"2016-06-27 21:45:17.000000000","message":"remove this import","commit_id":"0fc63eb956f8bd1e56330ed529c2b8af1b542f9b"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"4766158363a42f0bbf684f472b2f45807a542acd","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"import com.google.common.base.Preconditions;"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"import org.apache.zookeeper.data.Stat;"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"import monasca.api.ApiConfig;"},{"line_number":29,"context_line":"import monasca.api.domain.model.alarm.AlarmCount;"}],"source_content_type":"text/x-java","patch_set":6,"id":"3aaa91ec_8488c172","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":38},"in_reply_to":"3aaa91ec_c05c437f","updated":"2016-06-29 21:00:16.000000000","message":"Done","commit_id":"0fc63eb956f8bd1e56330ed529c2b8af1b542f9b"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"a9ce4c9b51c3d7cfe0fd5a0bbd0735925803ef68","unresolved":false,"context_lines":[{"line_number":29,"context_line":"import monasca.api.domain.model.alarm.AlarmCount;"},{"line_number":30,"context_line":"import monasca.api.domain.model.common.Paged;"},{"line_number":31,"context_line":"import monasca.api.domain.model.measurement.Measurements;"},{"line_number":32,"context_line":"import monasca.api.domain.model.statistic.Statistics;"},{"line_number":33,"context_line":"import monasca.common.model.domain.common.AbstractEntity;"},{"line_number":34,"context_line":"import monasca.api.domain.model.common.Link;"},{"line_number":35,"context_line":"import monasca.api.domain.model.common.Linked;"}],"source_content_type":"text/x-java","patch_set":6,"id":"3aaa91ec_c0d3a3d3","line":32,"range":{"start_line":32,"start_character":0,"end_line":32,"end_character":53},"updated":"2016-06-27 21:45:17.000000000","message":"This import is not needed anymore","commit_id":"0fc63eb956f8bd1e56330ed529c2b8af1b542f9b"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"4766158363a42f0bbf684f472b2f45807a542acd","unresolved":false,"context_lines":[{"line_number":29,"context_line":"import monasca.api.domain.model.alarm.AlarmCount;"},{"line_number":30,"context_line":"import monasca.api.domain.model.common.Paged;"},{"line_number":31,"context_line":"import monasca.api.domain.model.measurement.Measurements;"},{"line_number":32,"context_line":"import monasca.api.domain.model.statistic.Statistics;"},{"line_number":33,"context_line":"import monasca.common.model.domain.common.AbstractEntity;"},{"line_number":34,"context_line":"import monasca.api.domain.model.common.Link;"},{"line_number":35,"context_line":"import monasca.api.domain.model.common.Linked;"}],"source_content_type":"text/x-java","patch_set":6,"id":"3aaa91ec_e479c583","line":32,"range":{"start_line":32,"start_character":0,"end_line":32,"end_character":53},"in_reply_to":"3aaa91ec_c0d3a3d3","updated":"2016-06-29 21:00:16.000000000","message":"Done","commit_id":"0fc63eb956f8bd1e56330ed529c2b8af1b542f9b"}]}
