)]}'
{"docs/monasca-api-spec.md":[{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"77d7969b9f0955ad58d586d7fd8736aef2e19a0e","unresolved":false,"context_lines":[{"line_number":1967,"context_line":"* metric_name (string(255), optional) - Name of metric to filter by."},{"line_number":1968,"context_line":"* metric_dimensions ({string(255): string(255)}, optional) - Dimensions of metrics to filter by specified as a comma separated array of (key, value) pairs as `key1:value1,key1:value1, ...`"},{"line_number":1969,"context_line":"* state (string, optional) - State of alarm to filter by, either `OK`, `ALARM` or `UNDETERMINED`."},{"line_number":1970,"context_line":"* state_updated_at (string, optional) - ISO 8601 formatted timestamp to filter by, includes only alarms updated after the time specified"},{"line_number":1971,"context_line":""},{"line_number":1972,"context_line":"#### Request Body"},{"line_number":1973,"context_line":"None."}],"source_content_type":"text/x-markdown","patch_set":6,"id":"1a6ced46_443bfed0","line":1970,"updated":"2015-03-25 02:49:58.000000000","message":"As we discussed at the white-board, are we going with state_update_timestamp?","commit_id":"e87d6864fed1605a0bb08285d54c3692263af260"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"8f9bdc675126c023bf8326e4ff080b4a048966ab","unresolved":false,"context_lines":[{"line_number":1967,"context_line":"* metric_name (string(255), optional) - Name of metric to filter by."},{"line_number":1968,"context_line":"* metric_dimensions ({string(255): string(255)}, optional) - Dimensions of metrics to filter by specified as a comma separated array of (key, value) pairs as `key1:value1,key1:value1, ...`"},{"line_number":1969,"context_line":"* state (string, optional) - State of alarm to filter by, either `OK`, `ALARM` or `UNDETERMINED`."},{"line_number":1970,"context_line":"* state_updated_at (string, optional) - ISO 8601 formatted timestamp to filter by, includes only alarms updated after the time specified"},{"line_number":1971,"context_line":""},{"line_number":1972,"context_line":"#### Request Body"},{"line_number":1973,"context_line":"None."}],"source_content_type":"text/x-markdown","patch_set":6,"id":"1a6ced46_07d39f60","line":1970,"in_reply_to":"1a6ced46_443bfed0","updated":"2015-03-25 22:36:37.000000000","message":"Done","commit_id":"e87d6864fed1605a0bb08285d54c3692263af260"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"ec4d456800128c5af4a494076a4053a7c739cb43","unresolved":false,"context_lines":[{"line_number":1991,"context_line":"* id (string) - ID of alarm."},{"line_number":1992,"context_line":"* links ([link]) - Links to alarm."},{"line_number":1993,"context_line":"* alarm_definition_id (string) - Name of alarm."},{"line_number":1994,"context_line":"* metrics ({string, string(255): string(255)}) - The metrics associated with the alarm."},{"line_number":1995,"context_line":"* state (string) - State of alarm, either `OK`, `ALARM` or `UNDETERMINED`."},{"line_number":1996,"context_line":""},{"line_number":1997,"context_line":"#### Response Examples"}],"source_content_type":"text/x-markdown","patch_set":6,"id":"1a6ced46_95bac3df","line":1994,"updated":"2015-03-23 18:31:22.000000000","message":"Need to add state_updated_at here","commit_id":"e87d6864fed1605a0bb08285d54c3692263af260"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"8f9bdc675126c023bf8326e4ff080b4a048966ab","unresolved":false,"context_lines":[{"line_number":1991,"context_line":"* id (string) - ID of alarm."},{"line_number":1992,"context_line":"* links ([link]) - Links to alarm."},{"line_number":1993,"context_line":"* alarm_definition_id (string) - Name of alarm."},{"line_number":1994,"context_line":"* metrics ({string, string(255): string(255)}) - The metrics associated with the alarm."},{"line_number":1995,"context_line":"* state (string) - State of alarm, either `OK`, `ALARM` or `UNDETERMINED`."},{"line_number":1996,"context_line":""},{"line_number":1997,"context_line":"#### Response Examples"}],"source_content_type":"text/x-markdown","patch_set":6,"id":"1a6ced46_0f877162","line":1994,"in_reply_to":"1a6ced46_95bac3df","updated":"2015-03-25 22:36:37.000000000","message":"Done","commit_id":"e87d6864fed1605a0bb08285d54c3692263af260"}],"java/src/main/java/monasca/api/domain/model/alarm/Alarm.java":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"ec4d456800128c5af4a494076a4053a7c739cb43","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import com.google.inject.Inject;"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import com.fasterxml.jackson.core.JsonGenerator;"},{"line_number":19,"context_line":"import com.fasterxml.jackson.core.JsonProcessingException;"},{"line_number":20,"context_line":"import com.fasterxml.jackson.databind.JsonSerializer;"},{"line_number":21,"context_line":"import com.fasterxml.jackson.databind.SerializerProvider;"}],"source_content_type":"text/x-java","patch_set":6,"id":"1a6ced46_d5fefb6a","line":18,"updated":"2015-03-23 18:31:22.000000000","message":"How many of these new imports do you really use? Get rid of extraneous ones","commit_id":"e87d6864fed1605a0bb08285d54c3692263af260"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"8f9bdc675126c023bf8326e4ff080b4a048966ab","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import com.google.inject.Inject;"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import com.fasterxml.jackson.core.JsonGenerator;"},{"line_number":19,"context_line":"import com.fasterxml.jackson.core.JsonProcessingException;"},{"line_number":20,"context_line":"import com.fasterxml.jackson.databind.JsonSerializer;"},{"line_number":21,"context_line":"import com.fasterxml.jackson.databind.SerializerProvider;"}],"source_content_type":"text/x-java","patch_set":6,"id":"1a6ced46_cbf46ed1","line":18,"in_reply_to":"1a6ced46_d5fefb6a","updated":"2015-03-25 22:36:37.000000000","message":"Done","commit_id":"e87d6864fed1605a0bb08285d54c3692263af260"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"77d7969b9f0955ad58d586d7fd8736aef2e19a0e","unresolved":false,"context_lines":[{"line_number":48,"context_line":"  public Alarm() {}"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"  public Alarm(String id, String alarmDefinitionId, String alarmDefinitionName,"},{"line_number":51,"context_line":"      String alarmDefinitionSeverity, List\u003cMetricDefinition\u003e metrics, AlarmState state, Timestamp stateUpdatedAt, Timestamp createdAt) {"},{"line_number":52,"context_line":"    this.id \u003d id;"},{"line_number":53,"context_line":"    setMetrics(metrics);"},{"line_number":54,"context_line":"    setState(state);"}],"source_content_type":"text/x-java","patch_set":6,"id":"1a6ced46_a48cb280","line":51,"updated":"2015-03-25 02:49:58.000000000","message":"My assumption is that these vars will change to \n\nstateUpdatedTimestamp\ncreateTimestamp\n\nassuming what we discussed at the white-board holds.","commit_id":"e87d6864fed1605a0bb08285d54c3692263af260"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"8f9bdc675126c023bf8326e4ff080b4a048966ab","unresolved":false,"context_lines":[{"line_number":48,"context_line":"  public Alarm() {}"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"  public Alarm(String id, String alarmDefinitionId, String alarmDefinitionName,"},{"line_number":51,"context_line":"      String alarmDefinitionSeverity, List\u003cMetricDefinition\u003e metrics, AlarmState state, Timestamp stateUpdatedAt, Timestamp createdAt) {"},{"line_number":52,"context_line":"    this.id \u003d id;"},{"line_number":53,"context_line":"    setMetrics(metrics);"},{"line_number":54,"context_line":"    setState(state);"}],"source_content_type":"text/x-java","patch_set":6,"id":"1a6ced46_a74acb23","line":51,"in_reply_to":"1a6ced46_a48cb280","updated":"2015-03-25 22:36:37.000000000","message":"Done","commit_id":"e87d6864fed1605a0bb08285d54c3692263af260"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"ec4d456800128c5af4a494076a4053a7c739cb43","unresolved":false,"context_lines":[{"line_number":115,"context_line":"    result \u003d prime * result + ((links \u003d\u003d null) ? 0 : links.hashCode());"},{"line_number":116,"context_line":"    result \u003d prime * result + ((metrics \u003d\u003d null) ? 0 : metrics.hashCode());"},{"line_number":117,"context_line":"    result \u003d prime * result + ((state \u003d\u003d null) ? 0 : state.hashCode());"},{"line_number":118,"context_line":"    result \u003d prime * result + ((stateUpdatedAt \u003d\u003d null) ? 0 : stateUpdatedAt.hashCode());"},{"line_number":119,"context_line":"    return result;"},{"line_number":120,"context_line":"  }"},{"line_number":121,"context_line":""}],"source_content_type":"text/x-java","patch_set":6,"id":"1a6ced46_f59e9755","line":118,"updated":"2015-03-23 18:31:22.000000000","message":"How come you aren\u0027t using createdAt?","commit_id":"e87d6864fed1605a0bb08285d54c3692263af260"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"8f9bdc675126c023bf8326e4ff080b4a048966ab","unresolved":false,"context_lines":[{"line_number":115,"context_line":"    result \u003d prime * result + ((links \u003d\u003d null) ? 0 : links.hashCode());"},{"line_number":116,"context_line":"    result \u003d prime * result + ((metrics \u003d\u003d null) ? 0 : metrics.hashCode());"},{"line_number":117,"context_line":"    result \u003d prime * result + ((state \u003d\u003d null) ? 0 : state.hashCode());"},{"line_number":118,"context_line":"    result \u003d prime * result + ((stateUpdatedAt \u003d\u003d null) ? 0 : stateUpdatedAt.hashCode());"},{"line_number":119,"context_line":"    return result;"},{"line_number":120,"context_line":"  }"},{"line_number":121,"context_line":""}],"source_content_type":"text/x-java","patch_set":6,"id":"1a6ced46_0bff66ab","line":118,"in_reply_to":"1a6ced46_f59e9755","updated":"2015-03-25 22:36:37.000000000","message":"Done","commit_id":"e87d6864fed1605a0bb08285d54c3692263af260"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"77d7969b9f0955ad58d586d7fd8736aef2e19a0e","unresolved":false,"context_lines":[{"line_number":116,"context_line":"    result \u003d prime * result + ((metrics \u003d\u003d null) ? 0 : metrics.hashCode());"},{"line_number":117,"context_line":"    result \u003d prime * result + ((state \u003d\u003d null) ? 0 : state.hashCode());"},{"line_number":118,"context_line":"    result \u003d prime * result + ((stateUpdatedAt \u003d\u003d null) ? 0 : stateUpdatedAt.hashCode());"},{"line_number":119,"context_line":"    return result;"},{"line_number":120,"context_line":"  }"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"  @Override"}],"source_content_type":"text/x-java","patch_set":6,"id":"1a6ced46_0443c614","line":119,"updated":"2015-03-25 02:49:58.000000000","message":"It is so easy to forget.","commit_id":"e87d6864fed1605a0bb08285d54c3692263af260"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"ec4d456800128c5af4a494076a4053a7c739cb43","unresolved":false,"context_lines":[{"line_number":145,"context_line":"      return false;"},{"line_number":146,"context_line":"    if (state !\u003d other.state)"},{"line_number":147,"context_line":"      return false;"},{"line_number":148,"context_line":"    if (!stateUpdatedAt.equals(other.stateUpdatedAt)) {"},{"line_number":149,"context_line":"      return false;"},{"line_number":150,"context_line":"    }"},{"line_number":151,"context_line":"    return true;"}],"source_content_type":"text/x-java","patch_set":6,"id":"1a6ced46_75aaa771","line":148,"updated":"2015-03-23 18:31:22.000000000","message":"How come you aren\u0027t using createdAt?","commit_id":"e87d6864fed1605a0bb08285d54c3692263af260"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"8f9bdc675126c023bf8326e4ff080b4a048966ab","unresolved":false,"context_lines":[{"line_number":145,"context_line":"      return false;"},{"line_number":146,"context_line":"    if (state !\u003d other.state)"},{"line_number":147,"context_line":"      return false;"},{"line_number":148,"context_line":"    if (!stateUpdatedAt.equals(other.stateUpdatedAt)) {"},{"line_number":149,"context_line":"      return false;"},{"line_number":150,"context_line":"    }"},{"line_number":151,"context_line":"    return true;"}],"source_content_type":"text/x-java","patch_set":6,"id":"1a6ced46_4b307e9e","line":148,"in_reply_to":"1a6ced46_75aaa771","updated":"2015-03-25 22:36:37.000000000","message":"Done","commit_id":"e87d6864fed1605a0bb08285d54c3692263af260"}],"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":"ec4d456800128c5af4a494076a4053a7c739cb43","unresolved":false,"context_lines":[{"line_number":299,"context_line":"    try (Handle h \u003d db.open()) {"},{"line_number":300,"context_line":"      final List\u003cMap\u003cString, Object\u003e\u003e rows \u003d h"},{"line_number":301,"context_line":"          .createQuery("},{"line_number":302,"context_line":"              \"select sa.* from sub_alarm as sa, alarm as a where sa.alarm_id\u003da.id and a.alarm_definition_id \u003d :alarmDefinitionId\")"},{"line_number":303,"context_line":"          .bind(\"alarmDefinitionId\", alarmDefinitionId).list();"},{"line_number":304,"context_line":""},{"line_number":305,"context_line":"      Map\u003cString, Map\u003cString, AlarmSubExpression\u003e\u003e subAlarms \u003d new HashMap\u003c\u003e();"}],"source_content_type":"text/x-java","patch_set":6,"id":"1a6ced46_754b87b0","line":302,"updated":"2015-03-23 18:31:22.000000000","message":"Are you sure there is value in reformatting this code?","commit_id":"e87d6864fed1605a0bb08285d54c3692263af260"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"8f9bdc675126c023bf8326e4ff080b4a048966ab","unresolved":false,"context_lines":[{"line_number":299,"context_line":"    try (Handle h \u003d db.open()) {"},{"line_number":300,"context_line":"      final List\u003cMap\u003cString, Object\u003e\u003e rows \u003d h"},{"line_number":301,"context_line":"          .createQuery("},{"line_number":302,"context_line":"              \"select sa.* from sub_alarm as sa, alarm as a where sa.alarm_id\u003da.id and a.alarm_definition_id \u003d :alarmDefinitionId\")"},{"line_number":303,"context_line":"          .bind(\"alarmDefinitionId\", alarmDefinitionId).list();"},{"line_number":304,"context_line":""},{"line_number":305,"context_line":"      Map\u003cString, Map\u003cString, AlarmSubExpression\u003e\u003e subAlarms \u003d new HashMap\u003c\u003e();"}],"source_content_type":"text/x-java","patch_set":6,"id":"1a6ced46_6b59bafd","line":302,"in_reply_to":"1a6ced46_754b87b0","updated":"2015-03-25 22:36:37.000000000","message":"Probably auto-formatted it by mistake. Reverted.","commit_id":"e87d6864fed1605a0bb08285d54c3692263af260"}],"java/src/main/resources/api-config.yml":[{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"77d7969b9f0955ad58d586d7fd8736aef2e19a0e","unresolved":false,"context_lines":[{"line_number":11,"context_line":"eventsTopic: events"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Maximum rows (Mysql) or points (Influxdb) to return when listing elements. Only set with Influxdb V9."},{"line_number":14,"context_line":"maxQueryLimit: 10000"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"kafka:"},{"line_number":17,"context_line":"  brokerUris:"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"1a6ced46_249e0257","line":14,"updated":"2015-03-25 02:49:58.000000000","message":"Not sure this is doing anything.\n\nIsn\u0027t the default 10,000 in the code? Wondering why uncommenting.","commit_id":"e87d6864fed1605a0bb08285d54c3692263af260"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"8f9bdc675126c023bf8326e4ff080b4a048966ab","unresolved":false,"context_lines":[{"line_number":11,"context_line":"eventsTopic: events"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"# Maximum rows (Mysql) or points (Influxdb) to return when listing elements. Only set with Influxdb V9."},{"line_number":14,"context_line":"maxQueryLimit: 10000"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"kafka:"},{"line_number":17,"context_line":"  brokerUris:"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"1a6ced46_7d2780ca","line":14,"in_reply_to":"1a6ced46_249e0257","updated":"2015-03-25 22:36:37.000000000","message":"Recommented","commit_id":"e87d6864fed1605a0bb08285d54c3692263af260"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"ec4d456800128c5af4a494076a4053a7c739cb43","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"mysql:"},{"line_number":24,"context_line":"  driverClass: com.mysql.jdbc.Driver"},{"line_number":25,"context_line":"  url: jdbc:mysql://192.168.10.4:3306/mon?connectTimeout\u003d5000\u0026autoReconnect\u003dtrue\u0026useLegacyDatetimeCode\u003dfalse\u0026useTimezone\u003dtrue\u0026serverTimezone\u003dUTC"},{"line_number":26,"context_line":"  user: monapi"},{"line_number":27,"context_line":"  password: password"},{"line_number":28,"context_line":"  maxWaitForConnection: 1s"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"1a6ced46_b5689ff6","line":25,"updated":"2015-03-23 18:31:22.000000000","message":"Is this needed? It seems like if so, it should be added to the real config file","commit_id":"e87d6864fed1605a0bb08285d54c3692263af260"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"8f9bdc675126c023bf8326e4ff080b4a048966ab","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"mysql:"},{"line_number":24,"context_line":"  driverClass: com.mysql.jdbc.Driver"},{"line_number":25,"context_line":"  url: jdbc:mysql://192.168.10.4:3306/mon?connectTimeout\u003d5000\u0026autoReconnect\u003dtrue\u0026useLegacyDatetimeCode\u003dfalse\u0026useTimezone\u003dtrue\u0026serverTimezone\u003dUTC"},{"line_number":26,"context_line":"  user: monapi"},{"line_number":27,"context_line":"  password: password"},{"line_number":28,"context_line":"  maxWaitForConnection: 1s"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"1a6ced46_82285de3","line":25,"in_reply_to":"1a6ced46_84dc1614","updated":"2015-03-25 22:36:37.000000000","message":"The \"useLegacyDatetimeCode\u003dfalse\" is the only setting we need. Without it, timestamps from mysql are assumed to be in local time, which can cause errors.","commit_id":"e87d6864fed1605a0bb08285d54c3692263af260"},{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"77d7969b9f0955ad58d586d7fd8736aef2e19a0e","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"mysql:"},{"line_number":24,"context_line":"  driverClass: com.mysql.jdbc.Driver"},{"line_number":25,"context_line":"  url: jdbc:mysql://192.168.10.4:3306/mon?connectTimeout\u003d5000\u0026autoReconnect\u003dtrue\u0026useLegacyDatetimeCode\u003dfalse\u0026useTimezone\u003dtrue\u0026serverTimezone\u003dUTC"},{"line_number":26,"context_line":"  user: monapi"},{"line_number":27,"context_line":"  password: password"},{"line_number":28,"context_line":"  maxWaitForConnection: 1s"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"1a6ced46_84dc1614","line":25,"in_reply_to":"1a6ced46_b5689ff6","updated":"2015-03-25 02:49:58.000000000","message":"Is this mandatory in the config now?\n\nIs this something that is going to break everyone that isn\u0027t using this already.","commit_id":"e87d6864fed1605a0bb08285d54c3692263af260"}],"java/src/test/java/monasca/api/infrastructure/persistence/mysql/AlarmMySqlRepositoryImplTest.java":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"ec4d456800128c5af4a494076a4053a7c739cb43","unresolved":false,"context_lines":[{"line_number":252,"context_line":"    }"},{"line_number":253,"context_line":"  }"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"  @Test(groups \u003d \"database\")"},{"line_number":256,"context_line":"  public void shouldFind() {"},{"line_number":257,"context_line":"    checkList(repo.find(\"Not a tenant id\", null, null, null, null, null, null, 1, false));"},{"line_number":258,"context_line":""}],"source_content_type":"text/x-java","patch_set":6,"id":"1a6ced46_5926c5b8","line":255,"updated":"2015-03-23 18:31:22.000000000","message":"You need to add a test that exercises the new code you added. It might require setting state_updated_at in the alarm creation in the tables","commit_id":"e87d6864fed1605a0bb08285d54c3692263af260"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"8f9bdc675126c023bf8326e4ff080b4a048966ab","unresolved":false,"context_lines":[{"line_number":252,"context_line":"    }"},{"line_number":253,"context_line":"  }"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"  @Test(groups \u003d \"database\")"},{"line_number":256,"context_line":"  public void shouldFind() {"},{"line_number":257,"context_line":"    checkList(repo.find(\"Not a tenant id\", null, null, null, null, null, null, 1, false));"},{"line_number":258,"context_line":""}],"source_content_type":"text/x-java","patch_set":6,"id":"1a6ced46_07d63f28","line":255,"in_reply_to":"1a6ced46_5926c5b8","updated":"2015-03-25 22:36:37.000000000","message":"I added three tests, one with no results, one with partial results, one with all results.","commit_id":"e87d6864fed1605a0bb08285d54c3692263af260"}],"java/src/test/java/monasca/api/resource/LinksTest.java":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"ec4d456800128c5af4a494076a4053a7c739cb43","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    final URI uri \u003d new URI(base);"},{"line_number":58,"context_line":"    when(uriInfo.getBaseUri()).thenReturn(uri);"},{"line_number":59,"context_line":"    final String alarmDefinitionId \u003d \"af72b3d8-51f3-4eee-8086-535b5e7a9dc8\";"},{"line_number":60,"context_line":"    final Alarm alarm \u003d new Alarm(alarmId, alarmDefinitionId, \"Test\", \"LOW\", null, AlarmState.OK, null, null);"},{"line_number":61,"context_line":"    alarm.setId(\"42\");"},{"line_number":62,"context_line":"    Links.hydrate(alarm.getAlarmDefinition(), uriInfo, AlarmDefinitionResource.ALARM_DEFINITIONS_PATH);"},{"line_number":63,"context_line":"    assertEquals(alarm.getAlarmDefinition().getLinks().size(), 1);"}],"source_content_type":"text/x-java","patch_set":6,"id":"1a6ced46_79af01e4","line":60,"updated":"2015-03-23 18:31:22.000000000","message":"I\u0027d rather see real values put in here instead of null","commit_id":"e87d6864fed1605a0bb08285d54c3692263af260"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"8f9bdc675126c023bf8326e4ff080b4a048966ab","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    final URI uri \u003d new URI(base);"},{"line_number":58,"context_line":"    when(uriInfo.getBaseUri()).thenReturn(uri);"},{"line_number":59,"context_line":"    final String alarmDefinitionId \u003d \"af72b3d8-51f3-4eee-8086-535b5e7a9dc8\";"},{"line_number":60,"context_line":"    final Alarm alarm \u003d new Alarm(alarmId, alarmDefinitionId, \"Test\", \"LOW\", null, AlarmState.OK, null, null);"},{"line_number":61,"context_line":"    alarm.setId(\"42\");"},{"line_number":62,"context_line":"    Links.hydrate(alarm.getAlarmDefinition(), uriInfo, AlarmDefinitionResource.ALARM_DEFINITIONS_PATH);"},{"line_number":63,"context_line":"    assertEquals(alarm.getAlarmDefinition().getLinks().size(), 1);"}],"source_content_type":"text/x-java","patch_set":6,"id":"1a6ced46_27c25b59","line":60,"in_reply_to":"1a6ced46_79af01e4","updated":"2015-03-25 22:36:37.000000000","message":"Done","commit_id":"e87d6864fed1605a0bb08285d54c3692263af260"}]}
