)]}'
{"StorletSamples/PartitionsIdentityStorlet/src/org/openstack/storlet/PartitionsIdentityStorlet.java":[{"author":{"_account_id":8330,"name":"Doron Chen","email":"cdoron@il.ibm.com","username":"cdoron"},"change_message_id":"1f47cc039becd9410bd85653736cf01ca9b3dbac","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"/***"},{"line_number":42,"context_line":" * An identity storlet for record based text files."},{"line_number":43,"context_line":" * Records are seperated with a newline delimiter."},{"line_number":44,"context_line":" * The storlet is used for testing range requests"},{"line_number":45,"context_line":" * where ranges can cross records boundaries."},{"line_number":46,"context_line":" * In order not to lose any record split between ranges"}],"source_content_type":"text/x-java","patch_set":2,"id":"3ac371cc_53a74e4f","line":43,"range":{"start_line":43,"start_character":15,"end_line":43,"end_character":25},"updated":"2016-08-14 06:50:21.000000000","message":"separated","commit_id":"752ea98044f50622f2042cf27a732e9e889c5486"},{"author":{"_account_id":11317,"name":"Eran Rom","email":"eran@itsonlyme.name","username":"eranr"},"change_message_id":"4b32dfcec830bf54181c5b1f601339b3449177fc","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"/***"},{"line_number":42,"context_line":" * An identity storlet for record based text files."},{"line_number":43,"context_line":" * Records are seperated with a newline delimiter."},{"line_number":44,"context_line":" * The storlet is used for testing range requests"},{"line_number":45,"context_line":" * where ranges can cross records boundaries."},{"line_number":46,"context_line":" * In order not to lose any record split between ranges"}],"source_content_type":"text/x-java","patch_set":2,"id":"3ac371cc_e45cafef","line":43,"range":{"start_line":43,"start_character":15,"end_line":43,"end_character":25},"in_reply_to":"3ac371cc_53a74e4f","updated":"2016-08-14 17:50:48.000000000","message":"Done","commit_id":"752ea98044f50622f2042cf27a732e9e889c5486"}],"tests/functional/test_partitions_identity_storlet.py":[{"author":{"_account_id":8330,"name":"Doron Chen","email":"cdoron@il.ibm.com","username":"cdoron"},"change_message_id":"1f47cc039becd9410bd85653736cf01ca9b3dbac","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from __init__ import StorletFunctionalTest"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"# Below is the records.txt file we are testing with"},{"line_number":19,"context_line":"# index    line content"},{"line_number":20,"context_line":"# 0        header line"},{"line_number":21,"context_line":"# 12       random text 1"},{"line_number":22,"context_line":"# 26       random text 2"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ac371cc_986285ac","line":19,"range":{"start_line":19,"start_character":2,"end_line":19,"end_character":7},"updated":"2016-08-14 06:50:21.000000000","message":"consider replacing the word \u0027index\u0027 with \u0027position\u0027.\nYou can also use \u0027location\u0027, as you do later in this script.","commit_id":"752ea98044f50622f2042cf27a732e9e889c5486"},{"author":{"_account_id":8330,"name":"Doron Chen","email":"cdoron@il.ibm.com","username":"cdoron"},"change_message_id":"1f47cc039becd9410bd85653736cf01ca9b3dbac","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    #   - firstLine param is set to False"},{"line_number":95,"context_line":"    #   - use various start, end bytes"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def _test_first_range(self, max_line_record):"},{"line_number":98,"context_line":"        # According to the file\u0027s content end\u003d82 should give us"},{"line_number":99,"context_line":"        # lines 1-5, plusl line 6 as the extra line"},{"line_number":100,"context_line":"        content \u003d self.invoke_storlet(12, 82, \u0027true\u0027, 80)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ac371cc_9830c5a0","line":97,"range":{"start_line":97,"start_character":32,"end_line":97,"end_character":47},"updated":"2016-08-14 06:50:21.000000000","message":"I don\u0027t think that you use max_line_record.\nAlso, please rename it \u0027max_record_line\u0027","commit_id":"752ea98044f50622f2042cf27a732e9e889c5486"},{"author":{"_account_id":11317,"name":"Eran Rom","email":"eran@itsonlyme.name","username":"eranr"},"change_message_id":"4b32dfcec830bf54181c5b1f601339b3449177fc","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    #   - firstLine param is set to False"},{"line_number":95,"context_line":"    #   - use various start, end bytes"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def _test_first_range(self, max_line_record):"},{"line_number":98,"context_line":"        # According to the file\u0027s content end\u003d82 should give us"},{"line_number":99,"context_line":"        # lines 1-5, plusl line 6 as the extra line"},{"line_number":100,"context_line":"        content \u003d self.invoke_storlet(12, 82, \u0027true\u0027, 80)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ac371cc_246fe793","line":97,"range":{"start_line":97,"start_character":32,"end_line":97,"end_character":47},"in_reply_to":"3ac371cc_9830c5a0","updated":"2016-08-14 17:50:48.000000000","message":"Done","commit_id":"752ea98044f50622f2042cf27a732e9e889c5486"},{"author":{"_account_id":8330,"name":"Doron Chen","email":"cdoron@il.ibm.com","username":"cdoron"},"change_message_id":"1f47cc039becd9410bd85653736cf01ca9b3dbac","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def _test_first_range(self, max_line_record):"},{"line_number":98,"context_line":"        # According to the file\u0027s content end\u003d82 should give us"},{"line_number":99,"context_line":"        # lines 1-5, plusl line 6 as the extra line"},{"line_number":100,"context_line":"        content \u003d self.invoke_storlet(12, 82, \u0027true\u0027, 80)"},{"line_number":101,"context_line":"        # byte 95 is the newline of line 6"},{"line_number":102,"context_line":"        self.assertEqual(content, records_txt[12:95] + \u0027\\n\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ac371cc_785509c5","line":99,"range":{"start_line":99,"start_character":25,"end_line":99,"end_character":26},"updated":"2016-08-14 06:50:21.000000000","message":"is the final \u0027l\u0027 in \u0027plusl\u0027 needed?","commit_id":"752ea98044f50622f2042cf27a732e9e889c5486"},{"author":{"_account_id":8330,"name":"Doron Chen","email":"cdoron@il.ibm.com","username":"cdoron"},"change_message_id":"1f47cc039becd9410bd85653736cf01ca9b3dbac","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        for i in xrange(16):"},{"line_number":126,"context_line":"            content \u003d self.invoke_storlet(82, 186 + i, \u0027false\u0027, 80)"},{"line_number":127,"context_line":"            self.assertEqual(content, records_txt[96:203] + \u0027\\n\u0027)"},{"line_number":128,"context_line":"        # now for the combinartions of the two:"},{"line_number":129,"context_line":"        for i in xrange(12):"},{"line_number":130,"context_line":"            for j in xrange(16):"},{"line_number":131,"context_line":"                content \u003d self.invoke_storlet(83 + i, 186 + j, \u0027false\u0027, 80)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ac371cc_18f695d7","line":128,"range":{"start_line":128,"start_character":22,"end_line":128,"end_character":35},"updated":"2016-08-14 06:50:21.000000000","message":"combination","commit_id":"752ea98044f50622f2042cf27a732e9e889c5486"}]}
