)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"ba0781a6643c1902e26e7b6c2b0c55c982fd19f3","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add executing dependency file functional Tests for storlet app written in python"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Therefore, this patch added the following functional test items"},{"line_number":10,"context_line":"in python."},{"line_number":11,"context_line":"we use java\u0027s FTs as a reference."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"5a3905b3_33f630d8","line":9,"range":{"start_line":9,"start_character":28,"end_line":9,"end_character":42},"updated":"2017-01-19 10:27:32.000000000","message":"it looks like no following items?","commit_id":"f62094458f5013240df470b96907565005b1d600"},{"author":{"_account_id":17901,"name":"Akihito Takai","email":"takaiak@nttdata.co.jp","username":"AkihitoTakai"},"change_message_id":"187eb978a061499da8138248e568b3e6e3216385","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add executing dependency file functional Tests for storlet app written in python"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Therefore, this patch added the following functional test items"},{"line_number":10,"context_line":"in python."},{"line_number":11,"context_line":"we use java\u0027s FTs as a reference."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"5a3905b3_b5b6723b","line":9,"range":{"start_line":9,"start_character":28,"end_line":9,"end_character":42},"in_reply_to":"5a3905b3_33f630d8","updated":"2017-01-19 11:58:44.000000000","message":"sorry. I fixed it.","commit_id":"f62094458f5013240df470b96907565005b1d600"}],"StorletSamples/python/exec_dep/exec_dep.py":[{"author":{"_account_id":17901,"name":"Akihito Takai","email":"takaiak@nttdata.co.jp","username":"AkihitoTakai"},"change_message_id":"854ee06590467e9873785bb3543c3430b8f96ec2","unresolved":false,"context_lines":[{"line_number":20,"context_line":"class ExecDepStorlet(object):"},{"line_number":21,"context_line":"    def __init__(self, logger):"},{"line_number":22,"context_line":"        self.logger \u003d logger"},{"line_number":23,"context_line":"        self.storlet_path \u003d os.environ[\u0027PYTHONPATH\u0027]"},{"line_number":24,"context_line":"        self.dependency_path \u003d os.path.join(self.storlet_path, \u0027get42.sh\u0027)"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def __call__(self, in_files, out_files, params):"},{"line_number":27,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"1a6eadb0_c525cfae","line":24,"range":{"start_line":23,"start_character":0,"end_line":24,"end_character":74},"updated":"2016-12-20 12:15:16.000000000","message":"According to Takashi\u0027s advice, I fixed that \"self.dependency_path \u003d \u0027./get42.sh\u0027\".\nHowever, the error occurred...\n\ntherefore, we restore it.\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nERROR: test_execdep (tests.functional.python.test_execdep_storlet.TestExecDepStorlet)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n  File \"/home/jenkins/workspace/gate-storlets-functional-ubuntu-xenial/tests/functional/python/test_execdep_storlet.py\", line 42, in test_execdep\n    headers\u003dheaders)\n  File \"/home/jenkins/workspace/gate-storlets-functional-ubuntu-xenial/.tox/func/local/lib/python2.7/site-packages/swiftclient/client.py\", line 1163, in get_object\n    raise ClientException.from_response(resp, \u0027Object GET failed\u0027, body)\nClientException: Object GET failed: http://127.0.0.1:8080/v1/AUTH_392224d8df9244559ae4b6c002c79d45/myobjects/source.txt 503 Service Unavailable  [first 60 chars of response] \u003chtml\u003e\u003ch1\u003eService Unavailable\u003c/h1\u003e\u003cp\u003eThe server is currently","commit_id":"dbcf9dc7a5d447ffdc86e797d387c08d8dbcc72f"},{"author":{"_account_id":17901,"name":"Akihito Takai","email":"takaiak@nttdata.co.jp","username":"AkihitoTakai"},"change_message_id":"7d96111afba5c7998863abf2f20aac62af575c36","unresolved":false,"context_lines":[{"line_number":20,"context_line":"class ExecDepStorlet(object):"},{"line_number":21,"context_line":"    def __init__(self, logger):"},{"line_number":22,"context_line":"        self.logger \u003d logger"},{"line_number":23,"context_line":"        self.storlet_path \u003d os.environ[\u0027PYTHONPATH\u0027]"},{"line_number":24,"context_line":"        self.dependency_path \u003d os.path.join(self.storlet_path, \u0027get42.sh\u0027)"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def __call__(self, in_files, out_files, params):"},{"line_number":27,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"1a6eadb0_c5878f10","line":24,"range":{"start_line":23,"start_character":0,"end_line":24,"end_character":74},"in_reply_to":"1a6eadb0_c525cfae","updated":"2016-12-20 12:20:49.000000000","message":"sed s/I fixed that \"self.dependency_path \u003d \u0027./get42.sh\u0027\"./I fixed it like that \"self.dependency_path \u003d \u0027./get42.sh\u0027\"./g","commit_id":"dbcf9dc7a5d447ffdc86e797d387c08d8dbcc72f"}],"StorletSamples/python/storlet_samples/exec_dep/exec_dep.py":[{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"ba0781a6643c1902e26e7b6c2b0c55c982fd19f3","unresolved":false,"context_lines":[{"line_number":20,"context_line":"class ExecDepStorlet(object):"},{"line_number":21,"context_line":"    def __init__(self, logger):"},{"line_number":22,"context_line":"        self.logger \u003d logger"},{"line_number":23,"context_line":"        self.storlet_path \u003d os.environ[\u0027PYTHONPATH\u0027]"},{"line_number":24,"context_line":"        self.dependency_path \u003d os.path.join(self.storlet_path, \u0027get42.sh\u0027)"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def __call__(self, in_files, out_files, params):"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a3905b3_137774d5","line":23,"range":{"start_line":23,"start_character":8,"end_line":23,"end_character":52},"updated":"2017-01-19 10:27:32.000000000","message":"Should this from params[\u0027storlet_execution_path\u0027], not from os[\u0027PYTHONPATH\u0027], right?\n\nI\u0027m not sure why the functional test can pass with the parameter though, right now.","commit_id":"f62094458f5013240df470b96907565005b1d600"},{"author":{"_account_id":17901,"name":"Akihito Takai","email":"takaiak@nttdata.co.jp","username":"AkihitoTakai"},"change_message_id":"187eb978a061499da8138248e568b3e6e3216385","unresolved":false,"context_lines":[{"line_number":20,"context_line":"class ExecDepStorlet(object):"},{"line_number":21,"context_line":"    def __init__(self, logger):"},{"line_number":22,"context_line":"        self.logger \u003d logger"},{"line_number":23,"context_line":"        self.storlet_path \u003d os.environ[\u0027PYTHONPATH\u0027]"},{"line_number":24,"context_line":"        self.dependency_path \u003d os.path.join(self.storlet_path, \u0027get42.sh\u0027)"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def __call__(self, in_files, out_files, params):"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a3905b3_55262e17","line":23,"range":{"start_line":23,"start_character":8,"end_line":23,"end_character":52},"in_reply_to":"5a3905b3_137774d5","updated":"2017-01-19 11:58:44.000000000","message":"I didn\u0027t know \"params[\u0027storlet_execution_path\u0027]\".\nThank you for teaching me!","commit_id":"f62094458f5013240df470b96907565005b1d600"},{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"ba0781a6643c1902e26e7b6c2b0c55c982fd19f3","unresolved":false,"context_lines":[{"line_number":43,"context_line":"            if not buf:"},{"line_number":44,"context_line":"                break"},{"line_number":45,"context_line":"            self.logger.debug(\u0027Recieved %d bytes\u0027 % len(buf))"},{"line_number":46,"context_line":"            out_files[0].write(buf)"},{"line_number":47,"context_line":"        self.logger.debug(\u0027Complete\u0027)"},{"line_number":48,"context_line":"        in_files[0].close()"},{"line_number":49,"context_line":"        out_files[0].close()"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a3905b3_561d6a65","line":46,"updated":"2017-01-19 10:27:32.000000000","message":"I\u0027m really surprised at the fact but the original code written in Java doesn\u0027t drain the input stream and nothing written to the output stream, right?\n\nIt could be an odd point for any other developers as like \"why is it different?\"","commit_id":"f62094458f5013240df470b96907565005b1d600"},{"author":{"_account_id":17901,"name":"Akihito Takai","email":"takaiak@nttdata.co.jp","username":"AkihitoTakai"},"change_message_id":"187eb978a061499da8138248e568b3e6e3216385","unresolved":false,"context_lines":[{"line_number":43,"context_line":"            if not buf:"},{"line_number":44,"context_line":"                break"},{"line_number":45,"context_line":"            self.logger.debug(\u0027Recieved %d bytes\u0027 % len(buf))"},{"line_number":46,"context_line":"            out_files[0].write(buf)"},{"line_number":47,"context_line":"        self.logger.debug(\u0027Complete\u0027)"},{"line_number":48,"context_line":"        in_files[0].close()"},{"line_number":49,"context_line":"        out_files[0].close()"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a3905b3_15b6668a","line":46,"in_reply_to":"5a3905b3_561d6a65","updated":"2017-01-19 11:58:44.000000000","message":"You are right.\n\u003chttps://github.com/openstack/storlets/blob/master/StorletSamples/java/ExecDepStorlet/src/org/openstack/storlet/execdep/ExecDepStorlet.java\u003e\nI think that it should be an item to be fixed by another commit.","commit_id":"f62094458f5013240df470b96907565005b1d600"},{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"23ae2f2d0ee9c4d40b7c84a29353a4ca09f5fe07","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        \"\"\""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        storlet_path \u003d params[\u0027storlet_execution_path\u0027]"},{"line_number":34,"context_line":"        dependency_path \u003d os.path.join(storlet_path, \u0027get42.sh\u0027)"},{"line_number":35,"context_line":"        self.logger.debug(\u0027Exec \u003d \u0027 + dependency_path)"},{"line_number":36,"context_line":"        metadata \u003d in_files[0].get_metadata()"},{"line_number":37,"context_line":"        metadata[\u0027depend-ret-code\u0027] \u003d subprocess.call(dependency_path)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a3905b3_b1bad321","line":34,"updated":"2017-01-20 04:35:09.000000000","message":"Oh oh, does it works well as expected!? Great!","commit_id":"a49a1a3ad225cd59629ff9271e7bd74363b043d1"},{"author":{"_account_id":17901,"name":"Akihito Takai","email":"takaiak@nttdata.co.jp","username":"AkihitoTakai"},"change_message_id":"b8ca3c7eb06c6074542975a0882474bfc0da210a","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        \"\"\""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        storlet_path \u003d params[\u0027storlet_execution_path\u0027]"},{"line_number":34,"context_line":"        dependency_path \u003d os.path.join(storlet_path, \u0027get42.sh\u0027)"},{"line_number":35,"context_line":"        self.logger.debug(\u0027Exec \u003d \u0027 + dependency_path)"},{"line_number":36,"context_line":"        metadata \u003d in_files[0].get_metadata()"},{"line_number":37,"context_line":"        metadata[\u0027depend-ret-code\u0027] \u003d subprocess.call(dependency_path)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a3905b3_f337fbad","line":34,"in_reply_to":"5a3905b3_b1bad321","updated":"2017-01-20 07:54:29.000000000","message":"yah!\nThe parameter is set in storlet-gateway.\n\u003chttps://github.com/openstack/storlets/blob/64d6813ff76efc34baad78f22b6f3848c88cddd8/storlets/gateway/gateways/docker/gateway.py#L218-L228\u003e","commit_id":"a49a1a3ad225cd59629ff9271e7bd74363b043d1"}],"storlets/tools/deploy_storlet.py":[{"author":{"_account_id":11317,"name":"Eran Rom","email":"eran@itsonlyme.name","username":"eranr"},"change_message_id":"043aae950acfc3fbd2e7fb0607fec6e01a96d158","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    else:"},{"line_number":51,"context_line":"        sys.stdout.write(\"Enter absolute path to storlet file: \")"},{"line_number":52,"context_line":"        storlet_file \u003d sys.stdin.readline().rstrip()"},{"line_number":53,"context_line":"    sys.stdout.write(\"Please enter fully qualified storlet main class \" +"},{"line_number":54,"context_line":"                     \"(choose from the list above): \")"},{"line_number":55,"context_line":"    storlet_main_class \u003d sys.stdin.readline().rstrip()"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ba5201f7_8a20469d","line":53,"updated":"2017-01-03 09:55:46.000000000","message":"Listing the classes is done only for Java, thus I suggest:\n1. Move current line 53 under the storlet_language \u003d\u003d \u0027java\u0027 case after line 49\n2. Under the else case placed add a similar print line without the \"choose from the list above\" part.","commit_id":"6824ff5e016071210551867856999bb4e55161e8"},{"author":{"_account_id":17901,"name":"Akihito Takai","email":"takaiak@nttdata.co.jp","username":"AkihitoTakai"},"change_message_id":"1794ec1f279267566345893eafe461ce8b82ea1a","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    else:"},{"line_number":51,"context_line":"        sys.stdout.write(\"Enter absolute path to storlet file: \")"},{"line_number":52,"context_line":"        storlet_file \u003d sys.stdin.readline().rstrip()"},{"line_number":53,"context_line":"    sys.stdout.write(\"Please enter fully qualified storlet main class \" +"},{"line_number":54,"context_line":"                     \"(choose from the list above): \")"},{"line_number":55,"context_line":"    storlet_main_class \u003d sys.stdin.readline().rstrip()"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ba5201f7_732696bb","line":53,"in_reply_to":"ba5201f7_8a20469d","updated":"2017-01-11 04:27:59.000000000","message":"Thank you!\nI fix it according to your comments.","commit_id":"6824ff5e016071210551867856999bb4e55161e8"},{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"ba0781a6643c1902e26e7b6c2b0c55c982fd19f3","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    sys.stdout.write(\"Enter storlet language (java or python): \")"},{"line_number":43,"context_line":"    storlet_language \u003d sys.stdin.readline().rstrip()"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    if storlet_language \u003d\u003d \u0027java\u0027:"},{"line_number":46,"context_line":"        sys.stdout.write(\"Enter absolute path to storlet jar file: \")"},{"line_number":47,"context_line":"        storlet_file \u003d sys.stdin.readline().rstrip()"},{"line_number":48,"context_line":"        print(\"Your jar file contains the following classes:\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a3905b3_f65e5675","line":45,"updated":"2017-01-19 10:27:32.000000000","message":"nits) storlet_language.lower() could rescue you from case sensitive spiral.","commit_id":"f62094458f5013240df470b96907565005b1d600"},{"author":{"_account_id":17901,"name":"Akihito Takai","email":"takaiak@nttdata.co.jp","username":"AkihitoTakai"},"change_message_id":"187eb978a061499da8138248e568b3e6e3216385","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    sys.stdout.write(\"Enter storlet language (java or python): \")"},{"line_number":43,"context_line":"    storlet_language \u003d sys.stdin.readline().rstrip()"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    if storlet_language \u003d\u003d \u0027java\u0027:"},{"line_number":46,"context_line":"        sys.stdout.write(\"Enter absolute path to storlet jar file: \")"},{"line_number":47,"context_line":"        storlet_file \u003d sys.stdin.readline().rstrip()"},{"line_number":48,"context_line":"        print(\"Your jar file contains the following classes:\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a3905b3_55254ec0","line":45,"in_reply_to":"5a3905b3_f65e5675","updated":"2017-01-19 11:58:44.000000000","message":"Done","commit_id":"f62094458f5013240df470b96907565005b1d600"},{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"ba0781a6643c1902e26e7b6c2b0c55c982fd19f3","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        list_classes(storlet_file)"},{"line_number":50,"context_line":"        sys.stdout.write(\"Please enter fully qualified storlet main class \" +"},{"line_number":51,"context_line":"                         \"(choose from the list above): \")"},{"line_number":52,"context_line":"    else:"},{"line_number":53,"context_line":"        sys.stdout.write(\"Enter absolute path to storlet file: \")"},{"line_number":54,"context_line":"        storlet_file \u003d sys.stdin.readline().rstrip()"},{"line_number":55,"context_line":"        sys.stdout.write(\"Please enter fully qualified storlet main class: \")"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a3905b3_76e266a1","line":52,"updated":"2017-01-19 10:27:32.000000000","message":"To be strict, I like to set\n\n elif storlet_language.lower() \u003d\u003d \u0027python\u0027:\n\nrather than just \"else\". That is because if someone sets unsupported language here, deploy_storlet at L65 will fail even though it happens after some inputs from stdin.","commit_id":"f62094458f5013240df470b96907565005b1d600"},{"author":{"_account_id":17901,"name":"Akihito Takai","email":"takaiak@nttdata.co.jp","username":"AkihitoTakai"},"change_message_id":"187eb978a061499da8138248e568b3e6e3216385","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        list_classes(storlet_file)"},{"line_number":50,"context_line":"        sys.stdout.write(\"Please enter fully qualified storlet main class \" +"},{"line_number":51,"context_line":"                         \"(choose from the list above): \")"},{"line_number":52,"context_line":"    else:"},{"line_number":53,"context_line":"        sys.stdout.write(\"Enter absolute path to storlet file: \")"},{"line_number":54,"context_line":"        storlet_file \u003d sys.stdin.readline().rstrip()"},{"line_number":55,"context_line":"        sys.stdout.write(\"Please enter fully qualified storlet main class: \")"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a3905b3_f08c8837","line":52,"in_reply_to":"5a3905b3_76e266a1","updated":"2017-01-19 11:58:44.000000000","message":"Done","commit_id":"f62094458f5013240df470b96907565005b1d600"},{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"ba0781a6643c1902e26e7b6c2b0c55c982fd19f3","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    else:"},{"line_number":53,"context_line":"        sys.stdout.write(\"Enter absolute path to storlet file: \")"},{"line_number":54,"context_line":"        storlet_file \u003d sys.stdin.readline().rstrip()"},{"line_number":55,"context_line":"        sys.stdout.write(\"Please enter fully qualified storlet main class: \")"},{"line_number":56,"context_line":"    storlet_main_class \u003d sys.stdin.readline().rstrip()"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    print(\"Please enter dependency files (leave a blank line when you are \""}],"source_content_type":"text/x-python","patch_set":8,"id":"5a3905b3_b673e9b3","line":55,"updated":"2017-01-19 10:27:32.000000000","message":"nits) i don\u0027t like to expect one input from different message in if/else branch.","commit_id":"f62094458f5013240df470b96907565005b1d600"},{"author":{"_account_id":17901,"name":"Akihito Takai","email":"takaiak@nttdata.co.jp","username":"AkihitoTakai"},"change_message_id":"187eb978a061499da8138248e568b3e6e3216385","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    else:"},{"line_number":53,"context_line":"        sys.stdout.write(\"Enter absolute path to storlet file: \")"},{"line_number":54,"context_line":"        storlet_file \u003d sys.stdin.readline().rstrip()"},{"line_number":55,"context_line":"        sys.stdout.write(\"Please enter fully qualified storlet main class: \")"},{"line_number":56,"context_line":"    storlet_main_class \u003d sys.stdin.readline().rstrip()"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    print(\"Please enter dependency files (leave a blank line when you are \""}],"source_content_type":"text/x-python","patch_set":8,"id":"5a3905b3_d0114cb1","line":55,"in_reply_to":"5a3905b3_b673e9b3","updated":"2017-01-19 11:58:44.000000000","message":"Done","commit_id":"f62094458f5013240df470b96907565005b1d600"}],"tests/functional/__init__.py":[{"author":{"_account_id":11317,"name":"Eran Rom","email":"eran@itsonlyme.name","username":"eranr"},"change_message_id":"043aae950acfc3fbd2e7fb0607fec6e01a96d158","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"CONFIG_FILE \u003d \u0027../../cluster_config.json\u0027"},{"line_number":23,"context_line":"PATH_TO_STORLETS \u003d \u0027../../StorletSamples\u0027"},{"line_number":24,"context_line":"CONSOLE_TIMEOUT \u003d 2"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class StorletBaseFunctionalTest(unittest.TestCase):"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba5201f7_0a3536d9","line":24,"updated":"2017-01-03 09:55:46.000000000","message":"Nice addition","commit_id":"6824ff5e016071210551867856999bb4e55161e8"},{"author":{"_account_id":17901,"name":"Akihito Takai","email":"takaiak@nttdata.co.jp","username":"AkihitoTakai"},"change_message_id":"1794ec1f279267566345893eafe461ce8b82ea1a","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"CONFIG_FILE \u003d \u0027../../cluster_config.json\u0027"},{"line_number":23,"context_line":"PATH_TO_STORLETS \u003d \u0027../../StorletSamples\u0027"},{"line_number":24,"context_line":"CONSOLE_TIMEOUT \u003d 2"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class StorletBaseFunctionalTest(unittest.TestCase):"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba5201f7_d323c2a5","line":24,"in_reply_to":"ba5201f7_0a3536d9","updated":"2017-01-11 04:27:59.000000000","message":"Done","commit_id":"6824ff5e016071210551867856999bb4e55161e8"}],"tests/functional/java/test_deploy_storlet.py":[{"author":{"_account_id":11317,"name":"Eran Rom","email":"eran@itsonlyme.name","username":"eranr"},"change_message_id":"043aae950acfc3fbd2e7fb0607fec6e01a96d158","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from tests.functional.java import BIN_DIR"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class TestDeployStorlet(StorletBaseFunctionalTest):"},{"line_number":24,"context_line":"    def setUp(self):"},{"line_number":25,"context_line":"        super(TestDeployStorlet, self).setUp()"},{"line_number":26,"context_line":"        self.deploy_storlet_path \u003d \u0027../../storlets/tools/deploy_storlet.py\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba5201f7_ca416e3b","line":23,"updated":"2017-01-03 09:55:46.000000000","message":"Good cleanup!","commit_id":"6824ff5e016071210551867856999bb4e55161e8"},{"author":{"_account_id":17901,"name":"Akihito Takai","email":"takaiak@nttdata.co.jp","username":"AkihitoTakai"},"change_message_id":"1794ec1f279267566345893eafe461ce8b82ea1a","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from tests.functional.java import BIN_DIR"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class TestDeployStorlet(StorletBaseFunctionalTest):"},{"line_number":24,"context_line":"    def setUp(self):"},{"line_number":25,"context_line":"        super(TestDeployStorlet, self).setUp()"},{"line_number":26,"context_line":"        self.deploy_storlet_path \u003d \u0027../../storlets/tools/deploy_storlet.py\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba5201f7_13362ae7","line":23,"in_reply_to":"ba5201f7_ca416e3b","updated":"2017-01-11 04:27:59.000000000","message":"Done","commit_id":"6824ff5e016071210551867856999bb4e55161e8"},{"author":{"_account_id":11317,"name":"Eran Rom","email":"eran@itsonlyme.name","username":"eranr"},"change_message_id":"043aae950acfc3fbd2e7fb0607fec6e01a96d158","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    def setUp(self):"},{"line_number":25,"context_line":"        super(TestDeployStorlet, self).setUp()"},{"line_number":26,"context_line":"        self.deploy_storlet_path \u003d \u0027../../storlets/tools/deploy_storlet.py\u0027"},{"line_number":27,"context_line":"        self.execdep_storlet_path \u003d os.path.join(PATH_TO_STORLETS,"},{"line_number":28,"context_line":"                                                 \u0027java\u0027,"},{"line_number":29,"context_line":"                                                 \u0027ExecDepStorlet\u0027,"},{"line_number":30,"context_line":"                                                 BIN_DIR)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba5201f7_aa734ab0","line":27,"updated":"2017-01-03 09:55:46.000000000","message":"Ah, os.path.join :-) good!","commit_id":"6824ff5e016071210551867856999bb4e55161e8"},{"author":{"_account_id":17901,"name":"Akihito Takai","email":"takaiak@nttdata.co.jp","username":"AkihitoTakai"},"change_message_id":"1794ec1f279267566345893eafe461ce8b82ea1a","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    def setUp(self):"},{"line_number":25,"context_line":"        super(TestDeployStorlet, self).setUp()"},{"line_number":26,"context_line":"        self.deploy_storlet_path \u003d \u0027../../storlets/tools/deploy_storlet.py\u0027"},{"line_number":27,"context_line":"        self.execdep_storlet_path \u003d os.path.join(PATH_TO_STORLETS,"},{"line_number":28,"context_line":"                                                 \u0027java\u0027,"},{"line_number":29,"context_line":"                                                 \u0027ExecDepStorlet\u0027,"},{"line_number":30,"context_line":"                                                 BIN_DIR)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba5201f7_f33a86cc","line":27,"in_reply_to":"ba5201f7_aa734ab0","updated":"2017-01-11 04:27:59.000000000","message":"Done","commit_id":"6824ff5e016071210551867856999bb4e55161e8"}]}
