)]}'
{"docs/monasca-api-spec.md":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"f830463813461aa27943427b8134c86207da77c9","unresolved":false,"context_lines":[{"line_number":1192,"context_line":"        },"},{"line_number":1193,"context_line":"        {"},{"line_number":1194,"context_line":"            \"rel\": \"next\","},{"line_number":1195,"context_line":"            \"href\": \"http://192.168.10.4:8080/v2.0/metrics/dimension-values?offset\u003ddimensionValue2\""},{"line_number":1196,"context_line":"        }"},{"line_number":1197,"context_line":"    ],"},{"line_number":1198,"context_line":"    \"elements\": ["}],"source_content_type":"text/x-markdown","patch_set":3,"id":"1aa78d24_2e0c2c3a","line":1195,"updated":"2016-07-06 20:22:15.000000000","message":"Above it says that offset is integer or hexadecimal value (depends on database). Here it says that this is dimension value. Those thinks are not correlated I guess. Or am I missing something obvious here ?","commit_id":"89bac805a3f3ebd733601843d76dc89b3b0aae20"},{"author":{"_account_id":8126,"name":"Bradley Klein","email":"bradley.klein@charter.com","username":"bklei"},"change_message_id":"451092e0bd398642292518257e393a3e9944fce4","unresolved":false,"context_lines":[{"line_number":1192,"context_line":"        },"},{"line_number":1193,"context_line":"        {"},{"line_number":1194,"context_line":"            \"rel\": \"next\","},{"line_number":1195,"context_line":"            \"href\": \"http://192.168.10.4:8080/v2.0/metrics/dimension-values?offset\u003ddimensionValue2\""},{"line_number":1196,"context_line":"        }"},{"line_number":1197,"context_line":"    ],"},{"line_number":1198,"context_line":"    \"elements\": ["}],"source_content_type":"text/x-markdown","patch_set":3,"id":"1aa78d24_69dc6e73","line":1195,"in_reply_to":"1aa78d24_2e0c2c3a","updated":"2016-07-06 20:42:04.000000000","message":"great point tomasz -- will update the offset section.  at least for vertica, this (dimension value) is the best offset for pagination...  still working the influxdb version.","commit_id":"89bac805a3f3ebd733601843d76dc89b3b0aae20"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"4c64007e4a99a364d3f8ca6b05f71d859f52bd59","unresolved":false,"context_lines":[{"line_number":1150,"context_line":"## List dimension values"},{"line_number":1151,"context_line":"Get dimension values"},{"line_number":1152,"context_line":""},{"line_number":1153,"context_line":"#### GET /v2.0/metrics/dimension-values"},{"line_number":1154,"context_line":""},{"line_number":1155,"context_line":"#### Headers"},{"line_number":1156,"context_line":"* X-Auth-Token (string, required) - Keystone auth token"}],"source_content_type":"text/x-markdown","patch_set":11,"id":"1aa78d24_96617c14","line":1153,"range":{"start_line":1153,"start_character":23,"end_line":1153,"end_character":39},"updated":"2016-07-14 16:05:52.000000000","message":"I think dimensions/values makes more sense here","commit_id":"a4e9aa6100f33b57095227263d997d7738bae6ef"},{"author":{"_account_id":8126,"name":"Bradley Klein","email":"bradley.klein@charter.com","username":"bklei"},"change_message_id":"18c11f7ee7019a0eb7951e0712442c9135293362","unresolved":false,"context_lines":[{"line_number":1150,"context_line":"## List dimension values"},{"line_number":1151,"context_line":"Get dimension values"},{"line_number":1152,"context_line":""},{"line_number":1153,"context_line":"#### GET /v2.0/metrics/dimension-values"},{"line_number":1154,"context_line":""},{"line_number":1155,"context_line":"#### Headers"},{"line_number":1156,"context_line":"* X-Auth-Token (string, required) - Keystone auth token"}],"source_content_type":"text/x-markdown","patch_set":11,"id":"1aa78d24_97b32c4d","line":1153,"range":{"start_line":1153,"start_character":23,"end_line":1153,"end_character":39},"in_reply_to":"1aa78d24_96617c14","updated":"2016-07-14 20:40:58.000000000","message":"I don\u0027t have a strong opinion -- I\u0027m fine with either.  Should we go with /v2.0/metrics/dimensions/values or /v2.0/dimensions/values?  I\u0027m thinking the former...","commit_id":"a4e9aa6100f33b57095227263d997d7738bae6ef"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"4c64007e4a99a364d3f8ca6b05f71d859f52bd59","unresolved":false,"context_lines":[{"line_number":1204,"context_line":"    ],"},{"line_number":1205,"context_line":"    \"elements\": ["},{"line_number":1206,"context_line":"        {"},{"line_number":1207,"context_line":"            \"id\": 0,"},{"line_number":1208,"context_line":"            \"metric_name\": \"metric_name\","},{"line_number":1209,"context_line":"            \"dimension_name\": \"dimension_name\","},{"line_number":1210,"context_line":"            \"values\": {"}],"source_content_type":"text/x-markdown","patch_set":11,"id":"1aa78d24_569274f7","line":1207,"range":{"start_line":1207,"start_character":12,"end_line":1207,"end_character":20},"updated":"2016-07-14 16:05:52.000000000","message":"What does this id field mean? Also, what is it useful for if the offset is based on the dimension value?","commit_id":"a4e9aa6100f33b57095227263d997d7738bae6ef"},{"author":{"_account_id":8126,"name":"Bradley Klein","email":"bradley.klein@charter.com","username":"bklei"},"change_message_id":"18c11f7ee7019a0eb7951e0712442c9135293362","unresolved":false,"context_lines":[{"line_number":1204,"context_line":"    ],"},{"line_number":1205,"context_line":"    \"elements\": ["},{"line_number":1206,"context_line":"        {"},{"line_number":1207,"context_line":"            \"id\": 0,"},{"line_number":1208,"context_line":"            \"metric_name\": \"metric_name\","},{"line_number":1209,"context_line":"            \"dimension_name\": \"dimension_name\","},{"line_number":1210,"context_line":"            \"values\": {"}],"source_content_type":"text/x-markdown","patch_set":11,"id":"1aa78d24_d73814a2","line":1207,"range":{"start_line":1207,"start_character":12,"end_line":1207,"end_character":20},"in_reply_to":"1aa78d24_569274f7","updated":"2016-07-14 20:40:58.000000000","message":"great question.  i\u0027ll update this doc to be more realistic.  the id needs to be consistent across the pagination requests -- so i generate a sha1 hash string of the dimension_name and metric_name (and any their parm prefixes).  It\u0027s necessary for grafana to stitch it altogether after it gets all the pages.","commit_id":"a4e9aa6100f33b57095227263d997d7738bae6ef"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"4c64007e4a99a364d3f8ca6b05f71d859f52bd59","unresolved":false,"context_lines":[{"line_number":1207,"context_line":"            \"id\": 0,"},{"line_number":1208,"context_line":"            \"metric_name\": \"metric_name\","},{"line_number":1209,"context_line":"            \"dimension_name\": \"dimension_name\","},{"line_number":1210,"context_line":"            \"values\": {"},{"line_number":1211,"context_line":"                \"dimensonValue1\","},{"line_number":1212,"context_line":"                \"dimensonValue2\""},{"line_number":1213,"context_line":"            }"}],"source_content_type":"text/x-markdown","patch_set":11,"id":"1aa78d24_d69dc40b","line":1210,"range":{"start_line":1210,"start_character":22,"end_line":1210,"end_character":23},"updated":"2016-07-14 16:05:52.000000000","message":"This was a list in my testing","commit_id":"a4e9aa6100f33b57095227263d997d7738bae6ef"},{"author":{"_account_id":8126,"name":"Bradley Klein","email":"bradley.klein@charter.com","username":"bklei"},"change_message_id":"18c11f7ee7019a0eb7951e0712442c9135293362","unresolved":false,"context_lines":[{"line_number":1207,"context_line":"            \"id\": 0,"},{"line_number":1208,"context_line":"            \"metric_name\": \"metric_name\","},{"line_number":1209,"context_line":"            \"dimension_name\": \"dimension_name\","},{"line_number":1210,"context_line":"            \"values\": {"},{"line_number":1211,"context_line":"                \"dimensonValue1\","},{"line_number":1212,"context_line":"                \"dimensonValue2\""},{"line_number":1213,"context_line":"            }"}],"source_content_type":"text/x-markdown","patch_set":11,"id":"1aa78d24_1743bc14","line":1210,"range":{"start_line":1210,"start_character":22,"end_line":1210,"end_character":23},"in_reply_to":"1aa78d24_d69dc40b","updated":"2016-07-14 20:40:58.000000000","message":"crap -- good catch, will update","commit_id":"a4e9aa6100f33b57095227263d997d7738bae6ef"}],"java/src/main/java/monasca/api/domain/model/dimension/DimensionRepo.java":[{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"e69986d2478d5eaf5796c2a186043c3b2cf26cb3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"/*"},{"line_number":2,"context_line":" * Copyright (c) 2016 Hewlett-Packard Development Company, L.P."},{"line_number":3,"context_line":" *"},{"line_number":4,"context_line":" * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except"},{"line_number":5,"context_line":" * in compliance with the License. You may obtain a copy of the License at"}],"source_content_type":"text/x-java","patch_set":11,"id":"1aa78d24_a64a8053","line":2,"range":{"start_line":2,"start_character":30,"end_line":2,"end_character":37},"updated":"2016-07-14 19:55:26.000000000","message":"Do y ou want to use a TWC/Charter copyright?","commit_id":"a4e9aa6100f33b57095227263d997d7738bae6ef"},{"author":{"_account_id":8126,"name":"Bradley Klein","email":"bradley.klein@charter.com","username":"bklei"},"change_message_id":"18c11f7ee7019a0eb7951e0712442c9135293362","unresolved":false,"context_lines":[{"line_number":1,"context_line":"/*"},{"line_number":2,"context_line":" * Copyright (c) 2016 Hewlett-Packard Development Company, L.P."},{"line_number":3,"context_line":" *"},{"line_number":4,"context_line":" * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except"},{"line_number":5,"context_line":" * in compliance with the License. You may obtain a copy of the License at"}],"source_content_type":"text/x-java","patch_set":11,"id":"1aa78d24_d75f74e2","line":2,"range":{"start_line":2,"start_character":30,"end_line":2,"end_character":37},"in_reply_to":"1aa78d24_a64a8053","updated":"2016-07-14 20:40:58.000000000","message":"no -- but if you want to remove the HPE one i will, just let me know.","commit_id":"a4e9aa6100f33b57095227263d997d7738bae6ef"}],"java/src/main/java/monasca/api/domain/model/dimension/DimensionValues.java":[{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"e69986d2478d5eaf5796c2a186043c3b2cf26cb3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"/*"},{"line_number":2,"context_line":" * Copyright (c) 2016 Hewlett-Packard Development Company, L.P."},{"line_number":3,"context_line":" *"},{"line_number":4,"context_line":" * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except"},{"line_number":5,"context_line":" * in compliance with the License. You may obtain a copy of the License at"}],"source_content_type":"text/x-java","patch_set":11,"id":"1aa78d24_4662bcda","line":2,"range":{"start_line":2,"start_character":3,"end_line":2,"end_character":12},"updated":"2016-07-14 19:55:26.000000000","message":"Do you want to use a TWC/Charter copyright?","commit_id":"a4e9aa6100f33b57095227263d997d7738bae6ef"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"4c64007e4a99a364d3f8ca6b05f71d859f52bd59","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"  protected String id \u003d null;"},{"line_number":33,"context_line":"  protected String dimensionName;"},{"line_number":34,"context_line":"  protected String metricName;"},{"line_number":35,"context_line":"  protected List\u003cString\u003e values;"},{"line_number":36,"context_line":"  protected Map\u003cString, List\u003cString\u003e\u003e dimensionValues;"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-java","patch_set":11,"id":"1aa78d24_4a33e8f6","line":34,"range":{"start_line":34,"start_character":19,"end_line":34,"end_character":29},"updated":"2016-07-14 16:05:52.000000000","message":"The decorator below will make the metric name only appear if not null\n\n@JsonInclude(JsonInclude.Include.NON_NULL)","commit_id":"a4e9aa6100f33b57095227263d997d7738bae6ef"},{"author":{"_account_id":8126,"name":"Bradley Klein","email":"bradley.klein@charter.com","username":"bklei"},"change_message_id":"18c11f7ee7019a0eb7951e0712442c9135293362","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"  protected String id \u003d null;"},{"line_number":33,"context_line":"  protected String dimensionName;"},{"line_number":34,"context_line":"  protected String metricName;"},{"line_number":35,"context_line":"  protected List\u003cString\u003e values;"},{"line_number":36,"context_line":"  protected Map\u003cString, List\u003cString\u003e\u003e dimensionValues;"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-java","patch_set":11,"id":"1aa78d24_576c249d","line":34,"range":{"start_line":34,"start_character":19,"end_line":34,"end_character":29},"in_reply_to":"1aa78d24_4a33e8f6","updated":"2016-07-14 20:40:58.000000000","message":"nice -- didn\u0027t know about that, will add to the next patch set","commit_id":"a4e9aa6100f33b57095227263d997d7738bae6ef"}],"java/src/main/java/monasca/api/infrastructure/persistence/influxdb/InfluxV9DimensionRepo.java":[{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"e69986d2478d5eaf5796c2a186043c3b2cf26cb3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"/*"},{"line_number":2,"context_line":" * Copyright (c) 2016 Hewlett-Packard Development Company, L.P."},{"line_number":3,"context_line":" *"},{"line_number":4,"context_line":" * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except"},{"line_number":5,"context_line":" * in compliance with the License. You may obtain a copy of the License at"}],"source_content_type":"text/x-java","patch_set":11,"id":"1aa78d24_46be3c01","line":2,"range":{"start_line":2,"start_character":30,"end_line":2,"end_character":37},"updated":"2016-07-14 19:55:26.000000000","message":"copyright?","commit_id":"a4e9aa6100f33b57095227263d997d7738bae6ef"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"87dcd82cdda5ffc80605363521a8abc2e8155241","unresolved":false,"context_lines":[{"line_number":70,"context_line":"                         + this.influxV9Utils.sanitize(dimensionName)"},{"line_number":71,"context_line":"                         + \" \u003d~ /.*/\";"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    String q \u003d String.format(\"show series %1$s where %2$s \\\"%3$s\\\"\","},{"line_number":74,"context_line":"                             this.influxV9Utils.namePart(metricName, false),"},{"line_number":75,"context_line":"                             this.influxV9Utils.privateTenantIdPart(tenantId),"},{"line_number":76,"context_line":"                             dimNamePart);"}],"source_content_type":"text/x-java","patch_set":16,"id":"dada55a8_56e7deaf","line":73,"range":{"start_line":73,"start_character":58,"end_line":73,"end_character":66},"updated":"2016-07-19 15:25:43.000000000","message":"This puts the quotes around the whole name part (from \u0027and\u0027 to the regex), they should only be around \u0027hostname\u0027","commit_id":"ab5cc5420f14b502748517b0a600341b4373ef41"},{"author":{"_account_id":8126,"name":"Bradley Klein","email":"bradley.klein@charter.com","username":"bklei"},"change_message_id":"35794de797ff96c5c25425ee208f743e5bb5bb48","unresolved":false,"context_lines":[{"line_number":70,"context_line":"                         + this.influxV9Utils.sanitize(dimensionName)"},{"line_number":71,"context_line":"                         + \" \u003d~ /.*/\";"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    String q \u003d String.format(\"show series %1$s where %2$s \\\"%3$s\\\"\","},{"line_number":74,"context_line":"                             this.influxV9Utils.namePart(metricName, false),"},{"line_number":75,"context_line":"                             this.influxV9Utils.privateTenantIdPart(tenantId),"},{"line_number":76,"context_line":"                             dimNamePart);"}],"source_content_type":"text/x-java","patch_set":16,"id":"dada55a8_81090ee0","line":73,"range":{"start_line":73,"start_character":58,"end_line":73,"end_character":66},"in_reply_to":"dada55a8_56e7deaf","updated":"2016-07-19 15:45:07.000000000","message":"aah.  right.  hold for a patch...","commit_id":"ab5cc5420f14b502748517b0a600341b4373ef41"}],"java/src/main/java/monasca/api/resource/DimensionResource.java":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"170d5080c5ecadd3c2aa4dec91d644169bebdcc8","unresolved":false,"context_lines":[{"line_number":70,"context_line":"      @QueryParam(\"offset\") String offset,"},{"line_number":71,"context_line":"      @QueryParam(\"tenant_id\") String crossTenantId) throws Exception"},{"line_number":72,"context_line":"  {"},{"line_number":73,"context_line":"    Validation.validateNotNullOrEmpty(dimensionName, \"dimension_name\");"},{"line_number":74,"context_line":"    final int paging_limit \u003d this.persistUtils.getLimit(limit);"},{"line_number":75,"context_line":"    String queryTenantId \u003d Validation.getQueryProject(roles, crossTenantId, tenantId, admin_role);"},{"line_number":76,"context_line":"    DimensionValues dimVals \u003d repo.find(metricName, queryTenantId, dimensionName, offset, paging_limit);"}],"source_content_type":"text/x-java","patch_set":9,"id":"1aa78d24_512bfd81","line":73,"updated":"2016-07-13 05:40:26.000000000","message":"Just quick questions, sorry that this is so late - trust me I don\u0027t want to break down your plans with it. \n\nAnyway, I was thinking if this endpoint should actually support multiple dimensions at once ?\n\nYou could put 1,2 or 3 dimensions and get the results for all of them, instead of single dimension per call ? If optimization is a reason this change was proposed, I think that doing single HTTP call would be in order, at least to get values for multiple dimensions, right ?","commit_id":"c7bb17cde663eb72768e958c1bb09551143a1b57"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"a3ae5255a6386ef0e49eeb82d01e83ed03b677e7","unresolved":false,"context_lines":[{"line_number":70,"context_line":"      @QueryParam(\"offset\") String offset,"},{"line_number":71,"context_line":"      @QueryParam(\"tenant_id\") String crossTenantId) throws Exception"},{"line_number":72,"context_line":"  {"},{"line_number":73,"context_line":"    Validation.validateNotNullOrEmpty(dimensionName, \"dimension_name\");"},{"line_number":74,"context_line":"    final int paging_limit \u003d this.persistUtils.getLimit(limit);"},{"line_number":75,"context_line":"    String queryTenantId \u003d Validation.getQueryProject(roles, crossTenantId, tenantId, admin_role);"},{"line_number":76,"context_line":"    DimensionValues dimVals \u003d repo.find(metricName, queryTenantId, dimensionName, offset, paging_limit);"}],"source_content_type":"text/x-java","patch_set":9,"id":"1aa78d24_9e01d3b1","line":73,"in_reply_to":"1aa78d24_43c79844","updated":"2016-07-13 15:16:15.000000000","message":"Well, querying single dimension would work if that were supporting multiple dimensions at once.\n\nStill don\u0027t know how difficult it might be in vertica/influx repo to implement, do you ?","commit_id":"c7bb17cde663eb72768e958c1bb09551143a1b57"},{"author":{"_account_id":11155,"name":"Ryan Bak","email":"ryan.bak@twcable.com","username":"ryanmbak"},"change_message_id":"206c721d0d9e0a794fcc8e0811370644f793372d","unresolved":false,"context_lines":[{"line_number":70,"context_line":"      @QueryParam(\"offset\") String offset,"},{"line_number":71,"context_line":"      @QueryParam(\"tenant_id\") String crossTenantId) throws Exception"},{"line_number":72,"context_line":"  {"},{"line_number":73,"context_line":"    Validation.validateNotNullOrEmpty(dimensionName, \"dimension_name\");"},{"line_number":74,"context_line":"    final int paging_limit \u003d this.persistUtils.getLimit(limit);"},{"line_number":75,"context_line":"    String queryTenantId \u003d Validation.getQueryProject(roles, crossTenantId, tenantId, admin_role);"},{"line_number":76,"context_line":"    DimensionValues dimVals \u003d repo.find(metricName, queryTenantId, dimensionName, offset, paging_limit);"}],"source_content_type":"text/x-java","patch_set":9,"id":"1aa78d24_43c79844","line":73,"in_reply_to":"1aa78d24_512bfd81","updated":"2016-07-13 14:54:46.000000000","message":"At least for Grafana, which was the use case we were thinking of for this endpoint, we would never need to query on more than one dimension at once.","commit_id":"c7bb17cde663eb72768e958c1bb09551143a1b57"},{"author":{"_account_id":8126,"name":"Bradley Klein","email":"bradley.klein@charter.com","username":"bklei"},"change_message_id":"5b831eeab045fff2804529bcdacfa3b2aa11e277","unresolved":false,"context_lines":[{"line_number":70,"context_line":"      @QueryParam(\"offset\") String offset,"},{"line_number":71,"context_line":"      @QueryParam(\"tenant_id\") String crossTenantId) throws Exception"},{"line_number":72,"context_line":"  {"},{"line_number":73,"context_line":"    Validation.validateNotNullOrEmpty(dimensionName, \"dimension_name\");"},{"line_number":74,"context_line":"    final int paging_limit \u003d this.persistUtils.getLimit(limit);"},{"line_number":75,"context_line":"    String queryTenantId \u003d Validation.getQueryProject(roles, crossTenantId, tenantId, admin_role);"},{"line_number":76,"context_line":"    DimensionValues dimVals \u003d repo.find(metricName, queryTenantId, dimensionName, offset, paging_limit);"}],"source_content_type":"text/x-java","patch_set":9,"id":"1aa78d24_a332bcef","line":73,"in_reply_to":"1aa78d24_512bfd81","updated":"2016-07-13 14:54:42.000000000","message":"We wouldn\u0027t use that in grafana -- but I could see extending this at some point in the future if needed?","commit_id":"c7bb17cde663eb72768e958c1bb09551143a1b57"},{"author":{"_account_id":8126,"name":"Bradley Klein","email":"bradley.klein@charter.com","username":"bklei"},"change_message_id":"491640cfd034ed201edc6673421704e772696f95","unresolved":false,"context_lines":[{"line_number":70,"context_line":"      @QueryParam(\"offset\") String offset,"},{"line_number":71,"context_line":"      @QueryParam(\"tenant_id\") String crossTenantId) throws Exception"},{"line_number":72,"context_line":"  {"},{"line_number":73,"context_line":"    Validation.validateNotNullOrEmpty(dimensionName, \"dimension_name\");"},{"line_number":74,"context_line":"    final int paging_limit \u003d this.persistUtils.getLimit(limit);"},{"line_number":75,"context_line":"    String queryTenantId \u003d Validation.getQueryProject(roles, crossTenantId, tenantId, admin_role);"},{"line_number":76,"context_line":"    DimensionValues dimVals \u003d repo.find(metricName, queryTenantId, dimensionName, offset, paging_limit);"}],"source_content_type":"text/x-java","patch_set":9,"id":"1aa78d24_a6cbe51c","line":73,"in_reply_to":"1aa78d24_9e01d3b1","updated":"2016-07-13 16:22:00.000000000","message":"Anything is possible if we get to the point where we add this functionality.  I think it would be easier on the vertica side than influxdb -- at least for influxdb, we\u0027d need to process the series twice, filter/sort for each of the dimension names.  It\u0027s even more complicated than that -- since offset is a dimension value, but for which dimension set.  The more I think about it, the less it seems like this even a future enhancement to this new endpoint.  So for now I\u0027d like to just go with supporting only one dimension name (and optional metric-name) at a time.  Are you OK with that Tomasz?","commit_id":"c7bb17cde663eb72768e958c1bb09551143a1b57"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"c5af58c1de7a536ff3f3985657911ef73c5e5a83","unresolved":false,"context_lines":[{"line_number":70,"context_line":"      @QueryParam(\"offset\") String offset,"},{"line_number":71,"context_line":"      @QueryParam(\"tenant_id\") String crossTenantId) throws Exception"},{"line_number":72,"context_line":"  {"},{"line_number":73,"context_line":"    Validation.validateNotNullOrEmpty(dimensionName, \"dimension_name\");"},{"line_number":74,"context_line":"    final int paging_limit \u003d this.persistUtils.getLimit(limit);"},{"line_number":75,"context_line":"    String queryTenantId \u003d Validation.getQueryProject(roles, crossTenantId, tenantId, admin_role);"},{"line_number":76,"context_line":"    DimensionValues dimVals \u003d repo.find(metricName, queryTenantId, dimensionName, offset, paging_limit);"}],"source_content_type":"text/x-java","patch_set":9,"id":"1aa78d24_772a3b92","line":73,"in_reply_to":"1aa78d24_a6cbe51c","updated":"2016-07-13 20:28:24.000000000","message":"Yes, as I said if technically this is not achievable in short period of time + we might even consider dropping influx in favor of cassandra, I think we can stay with current solution.","commit_id":"c7bb17cde663eb72768e958c1bb09551143a1b57"}],"java/src/main/java/monasca/api/resource/Links.java":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"1383952d25aa5ea8f7c42b261206f92c21907912","unresolved":false,"context_lines":[{"line_number":362,"context_line":""},{"line_number":363,"context_line":"  public static DimensionValues paginateDimensionValues(DimensionValues dimVals, int limit, UriInfo uriInfo)"},{"line_number":364,"context_line":"      throws UnsupportedEncodingException"},{"line_number":365,"context_line":"  {"},{"line_number":366,"context_line":"    List\u003cLink\u003e links \u003d new ArrayList\u003c\u003e();"},{"line_number":367,"context_line":"    links.add(getSelfLink(uriInfo));"},{"line_number":368,"context_line":""}],"source_content_type":"text/x-java","patch_set":1,"id":"1aa78d24_5a07e4c9","line":365,"updated":"2016-07-06 04:58:04.000000000","message":"I think that { should go the previous line.\nMethod above have exception declared also like you do but bracket is in the same line. All the methods seems to follow that from what I can see.","commit_id":"a418e2a88c1ad2f6b1ea1e75f433a8e46524093d"}],"monasca_tempest_tests/tests/api/test_dimensions.py":[{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"4c64007e4a99a364d3f8ca6b05f71d859f52bd59","unresolved":false,"context_lines":[{"line_number":63,"context_line":"    @classmethod"},{"line_number":64,"context_line":"    def resource_cleanup(cls):"},{"line_number":65,"context_line":"        super(TestDimensions, cls).resource_cleanup()"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":68,"context_line":"    def test_list_dimension_values_without_metric_name(self):"},{"line_number":69,"context_line":"        parms \u003d \u0027?dimension_name\u003d\u0027 + self._dimension_name"}],"source_content_type":"text/x-python","patch_set":11,"id":"1aa78d24_4a8f6875","line":66,"updated":"2016-07-14 16:05:52.000000000","message":"Any negative tests that would make sense here?","commit_id":"a4e9aa6100f33b57095227263d997d7738bae6ef"},{"author":{"_account_id":8126,"name":"Bradley Klein","email":"bradley.klein@charter.com","username":"bklei"},"change_message_id":"18c11f7ee7019a0eb7951e0712442c9135293362","unresolved":false,"context_lines":[{"line_number":63,"context_line":"    @classmethod"},{"line_number":64,"context_line":"    def resource_cleanup(cls):"},{"line_number":65,"context_line":"        super(TestDimensions, cls).resource_cleanup()"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":68,"context_line":"    def test_list_dimension_values_without_metric_name(self):"},{"line_number":69,"context_line":"        parms \u003d \u0027?dimension_name\u003d\u0027 + self._dimension_name"}],"source_content_type":"text/x-python","patch_set":11,"id":"1aa78d24_17df3c3b","line":66,"in_reply_to":"1aa78d24_4a8f6875","updated":"2016-07-14 20:40:58.000000000","message":"yeah -- i can think of a couple -- will add them in the next PS","commit_id":"a4e9aa6100f33b57095227263d997d7738bae6ef"},{"author":{"_account_id":14517,"name":"Ryan Brandt","email":"ryan.brandt@hpe.com","username":"ryan-brandt"},"change_message_id":"5bade446cf057e3dae2a632c4de462208fd79e21","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def _is_dimension_name_in_list(self, response_body):"},{"line_number":126,"context_line":"        elements \u003d response_body[\u0027elements\u0027]"},{"line_number":127,"context_line":"        if str(elements[\u0027dimension_name\u0027]) \u003d\u003d self._dimension_name:"},{"line_number":128,"context_line":"            return True"},{"line_number":129,"context_line":"        return False"},{"line_number":130,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"dada55a8_9045c871","line":127,"range":{"start_line":127,"start_character":8,"end_line":127,"end_character":67},"updated":"2016-07-19 22:31:09.000000000","message":"Is elements supposed to be a list or dictionary? Included spec says list.","commit_id":"89d8ba08f8115e30f7e224958e5a1ded74bfee5b"}]}
