)]}'
{"java/src/main/java/monasca/persister/configuration/CassandraConfiguration.java":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"e7fc55fec7755e1ba0361218ffd33b31c39b9b7e","unresolved":false,"context_lines":[{"line_number":29,"context_line":"  }"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"  @JsonProperty"},{"line_number":32,"context_line":"  String keyspace;"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"  public String getKeyspace() {"},{"line_number":35,"context_line":"    return keyspace;"}],"source_content_type":"text/x-java","patch_set":1,"id":"3ac371cc_6cc0967d","line":32,"updated":"2016-08-19 05:05:02.000000000","message":"Usually fields in classes of Java are placed in single place - on top of the class or at the bottom.","commit_id":"9706d311a05e9b9fca59f91a263e8af399602825"},{"author":{"_account_id":18286,"name":"Shinya Kawabata","email":"s-kawabata@wx.jp.nec.com","username":"kawabata"},"change_message_id":"ffd7577e1aa7a7428d595440d3083135aed0875b","unresolved":false,"context_lines":[{"line_number":29,"context_line":"  }"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"  @JsonProperty"},{"line_number":32,"context_line":"  String keyspace;"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"  public String getKeyspace() {"},{"line_number":35,"context_line":"    return keyspace;"}],"source_content_type":"text/x-java","patch_set":1,"id":"1ac06dbe_f28264ff","line":32,"in_reply_to":"3ac371cc_6cc0967d","updated":"2016-08-22 07:49:02.000000000","message":"Done","commit_id":"9706d311a05e9b9fca59f91a263e8af399602825"}],"java/src/main/java/monasca/persister/repository/cassandra/CassandraAlarmRepo.java":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"e7fc55fec7755e1ba0361218ffd33b31c39b9b7e","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"      logger.debug(\"[{}]: committing batch took {} ms\", id, endTime - startTime);"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"      this.batch \u003d new BatchStatement();"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"      return msgCnt;"},{"line_number":93,"context_line":""}],"source_content_type":"text/x-java","patch_set":1,"id":"3ac371cc_6ce37606","line":90,"updated":"2016-08-19 05:05:02.000000000","message":"There\u0027s no need to re-create new object each time you flush.\nThere\u0027s a convenient \n\n com.datastax.driver.core.BatchStatement#clear\n\nmethod that would most likely do the trick here.","commit_id":"9706d311a05e9b9fca59f91a263e8af399602825"},{"author":{"_account_id":18286,"name":"Shinya Kawabata","email":"s-kawabata@wx.jp.nec.com","username":"kawabata"},"change_message_id":"ffd7577e1aa7a7428d595440d3083135aed0875b","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"      logger.debug(\"[{}]: committing batch took {} ms\", id, endTime - startTime);"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"      this.batch \u003d new BatchStatement();"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"      return msgCnt;"},{"line_number":93,"context_line":""}],"source_content_type":"text/x-java","patch_set":1,"id":"1ac06dbe_7277943a","line":90,"in_reply_to":"3ac371cc_6ce37606","updated":"2016-08-22 07:49:02.000000000","message":"Done","commit_id":"9706d311a05e9b9fca59f91a263e8af399602825"}],"java/src/main/java/monasca/persister/repository/cassandra/CassandraRepo.java":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"e7fc55fec7755e1ba0361218ffd33b31c39b9b7e","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"public abstract class CassandraRepo\u003cT\u003e implements Repo\u003cT\u003e {"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"  private static final Logger logger \u003d LoggerFactory.getLogger(CassandraRepo.class);"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"  private final String clusterIpAddresses;"},{"line_number":39,"context_line":"  private final String keyspace;"}],"source_content_type":"text/x-java","patch_set":1,"id":"3ac371cc_2c2a1e2d","line":36,"updated":"2016-08-19 05:05:02.000000000","message":"I think that is better idea to have field\n\n protected BatchStatement batch\n\ndefined here and re-use it for classes that implements CassandraRepo.","commit_id":"9706d311a05e9b9fca59f91a263e8af399602825"},{"author":{"_account_id":18286,"name":"Shinya Kawabata","email":"s-kawabata@wx.jp.nec.com","username":"kawabata"},"change_message_id":"ffd7577e1aa7a7428d595440d3083135aed0875b","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"public abstract class CassandraRepo\u003cT\u003e implements Repo\u003cT\u003e {"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"  private static final Logger logger \u003d LoggerFactory.getLogger(CassandraRepo.class);"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"  private final String clusterIpAddresses;"},{"line_number":39,"context_line":"  private final String keyspace;"}],"source_content_type":"text/x-java","patch_set":1,"id":"1ac06dbe_d2b3e8e7","line":36,"in_reply_to":"3ac371cc_2c2a1e2d","updated":"2016-08-22 07:49:02.000000000","message":"Done","commit_id":"9706d311a05e9b9fca59f91a263e8af399602825"}],"java/src/main/java/monasca/persister/repository/cassandra/Measurement.java":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"3769aea03d3b82967550096f0fcf7c0cbe9debec","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"  private final ObjectMapper objectMapper \u003d new ObjectMapper();"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"  public final String tenantId;"},{"line_number":35,"context_line":"  public final String region;"},{"line_number":36,"context_line":"  public final byte[] metricHash;"},{"line_number":37,"context_line":"  public final Date timestamp;"}],"source_content_type":"text/x-java","patch_set":3,"id":"fa7ab95a_37651945","line":34,"updated":"2016-08-26 08:12:10.000000000","message":"From the code POV, it looks just bad that you have public fields defined here + you also define public getters.\n\nIn my opinion that should be fully encapsulated, so fields should be private or at least package default (if you really don\u0027t want to use setters in this package). \n\nHowever I am always trying to use private fields.\nBTW. The same comment applies to MetricMap","commit_id":"32673bc8424b2341acc67bd9af70bb26a59420cc"},{"author":{"_account_id":18286,"name":"Shinya Kawabata","email":"s-kawabata@wx.jp.nec.com","username":"kawabata"},"change_message_id":"f553962f8fe9f1f1651be1d059fc63d966904c33","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"  private final ObjectMapper objectMapper \u003d new ObjectMapper();"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"  public final String tenantId;"},{"line_number":35,"context_line":"  public final String region;"},{"line_number":36,"context_line":"  public final byte[] metricHash;"},{"line_number":37,"context_line":"  public final Date timestamp;"}],"source_content_type":"text/x-java","patch_set":3,"id":"fa7ab95a_460f49e1","line":34,"in_reply_to":"fa7ab95a_37651945","updated":"2016-08-26 09:16:35.000000000","message":"I unthinkingly wrote public fields.\nI always use private field and public or protected setter and getter.","commit_id":"32673bc8424b2341acc67bd9af70bb26a59420cc"}]}
