)]}'
{".gitignore":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"bfc6830f3e5068fb637bf477f0b23e2fe5a61f63","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"# auto created on build"},{"line_number":35,"context_line":"Engine/dependencies/"},{"line_number":36,"context_line":"Engine/SBus/SBusJavaFacade/com_ibm_storlet_sbus_SBusJNI.h"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"# Storlets build"},{"line_number":39,"context_line":"bin"}],"source_content_type":"application/octet-stream","patch_set":6,"id":"9a89bdaa_d7b36e4b","line":36,"range":{"start_line":36,"start_character":27,"end_line":36,"end_character":55},"updated":"2016-09-13 11:24:48.000000000","message":"I think this is already renamed to org_openstack_storlet_sbus_SBusJNI.h, when we changed all java package names.","commit_id":"02bba7aed190ed7bce3c931da2c9ba8792279923"}],"tests/functional/__init__.py":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"4ebadaf63bdcdbd8d306ee39b7393e8e029cef63","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        super(StorletFunctionalTest, self).setUp()"},{"line_number":49,"context_line":"        self.url, self.token \u003d get_auth(self.conf)"},{"line_number":50,"context_line":"        self.acct \u003d self.url.split(\u0027/\u0027)[4]"},{"line_number":51,"context_line":"        if language \u003d\u003d \u0027Java\u0027:"},{"line_number":52,"context_line":"            self.path_to_bundle \u003d \u0027%s/%s/%s\u0027 % (PATH_TO_STORLETS,"},{"line_number":53,"context_line":"                                                self.storlet_dir,"},{"line_number":54,"context_line":"                                                BIN_DIR)"},{"line_number":55,"context_line":"        else:"},{"line_number":56,"context_line":"            self.path_to_bundle \u003d \u0027%s/%s\u0027 % (PATH_TO_STORLETS,"},{"line_number":57,"context_line":"                                             self.storlet_dir)"},{"line_number":58,"context_line":"        self.deps \u003d []"},{"line_number":59,"context_line":"        for d in self.dep_names:"},{"line_number":60,"context_line":"            self.deps.append(\u0027%s/%s\u0027 % (self.path_to_bundle, d))"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a89bdaa_334a44c6","line":57,"range":{"start_line":51,"start_character":0,"end_line":57,"end_character":62},"updated":"2016-09-12 03:59:02.000000000","message":"Can we remove this if-else block?\nMaybe we can move this to each test classes (StorletJavaFunctionalTest and StorletPythonFunctionalTest)","commit_id":"ba3b2bef4727314cf6351e2f722172609ec18925"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"95c270b51270cf2106ea8db87f579be54b122576","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        self.deps \u003d []"},{"line_number":52,"context_line":"        for d in self.dep_names:"},{"line_number":53,"context_line":"            self.deps.append(\u0027%s/%s\u0027 % (self.path_to_bundle, d))"},{"line_number":54,"context_line":"        storlet \u003d \u0027%s/%s\u0027 % (self.path_to_bundle, self.storlet_name)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        deploy_storlet(self.url, self.token,"},{"line_number":57,"context_line":"                       storlet, self.storlet_main,"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a89bdaa_95cc6736","line":54,"range":{"start_line":54,"start_character":55,"end_line":54,"end_character":67},"updated":"2016-09-13 17:06:14.000000000","message":"I found there are some values which we assume to define in the child classes, but it does not seem so safe that we can miss to some definition.\n\nIMO, we should include these required value in args of setUp function, to confirm all required parameters are given.","commit_id":"4944a45f1051617c8084441609f9903b87543fc5"},{"author":{"_account_id":11317,"name":"Eran Rom","email":"eran@itsonlyme.name","username":"eranr"},"change_message_id":"0398c79ecabd5c47c07995ac2726228606822a68","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        self.deps \u003d []"},{"line_number":52,"context_line":"        for d in self.dep_names:"},{"line_number":53,"context_line":"            self.deps.append(\u0027%s/%s\u0027 % (self.path_to_bundle, d))"},{"line_number":54,"context_line":"        storlet \u003d \u0027%s/%s\u0027 % (self.path_to_bundle, self.storlet_name)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        deploy_storlet(self.url, self.token,"},{"line_number":57,"context_line":"                       storlet, self.storlet_main,"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a8ec9b2_b894c9e8","line":54,"range":{"start_line":54,"start_character":55,"end_line":54,"end_character":67},"in_reply_to":"9a89bdaa_95cc6736","updated":"2016-09-13 19:35:59.000000000","message":"Done","commit_id":"4944a45f1051617c8084441609f9903b87543fc5"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"95c270b51270cf2106ea8db87f579be54b122576","unresolved":false,"context_lines":[{"line_number":66,"context_line":"                           self.headers)"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"class StorletJavaFunctionalTest(StorletFunctionalTest):"},{"line_number":70,"context_line":"    def setUp(self):"},{"line_number":71,"context_line":"        self.storlet_dir \u003d os.path.join(\u0027java\u0027, self.storlet_dir)"},{"line_number":72,"context_line":"        self.path_to_bundle \u003d \u0027%s/%s/%s\u0027 % (PATH_TO_STORLETS,"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a89bdaa_35e47baa","line":69,"range":{"start_line":69,"start_character":6,"end_line":69,"end_character":31},"updated":"2016-09-13 17:06:14.000000000","message":"Should we place this here, or in tests/functional/java/__init__.py?","commit_id":"4944a45f1051617c8084441609f9903b87543fc5"},{"author":{"_account_id":11317,"name":"Eran Rom","email":"eran@itsonlyme.name","username":"eranr"},"change_message_id":"0398c79ecabd5c47c07995ac2726228606822a68","unresolved":false,"context_lines":[{"line_number":66,"context_line":"                           self.headers)"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"class StorletJavaFunctionalTest(StorletFunctionalTest):"},{"line_number":70,"context_line":"    def setUp(self):"},{"line_number":71,"context_line":"        self.storlet_dir \u003d os.path.join(\u0027java\u0027, self.storlet_dir)"},{"line_number":72,"context_line":"        self.path_to_bundle \u003d \u0027%s/%s/%s\u0027 % (PATH_TO_STORLETS,"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a8ec9b2_3effc935","line":69,"range":{"start_line":69,"start_character":6,"end_line":69,"end_character":31},"in_reply_to":"9a89bdaa_35e47baa","updated":"2016-09-13 19:35:59.000000000","message":"Done","commit_id":"4944a45f1051617c8084441609f9903b87543fc5"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"95c270b51270cf2106ea8db87f579be54b122576","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"class StorletJavaFunctionalTest(StorletFunctionalTest):"},{"line_number":70,"context_line":"    def setUp(self):"},{"line_number":71,"context_line":"        self.storlet_dir \u003d os.path.join(\u0027java\u0027, self.storlet_dir)"},{"line_number":72,"context_line":"        self.path_to_bundle \u003d \u0027%s/%s/%s\u0027 % (PATH_TO_STORLETS,"},{"line_number":73,"context_line":"                                            self.storlet_dir,"},{"line_number":74,"context_line":"                                            BIN_DIR)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a89bdaa_75060387","line":71,"range":{"start_line":71,"start_character":8,"end_line":71,"end_character":65},"updated":"2016-09-13 17:06:14.000000000","message":"It is not safe to overwrite storlet_dir value here.","commit_id":"4944a45f1051617c8084441609f9903b87543fc5"},{"author":{"_account_id":11317,"name":"Eran Rom","email":"eran@itsonlyme.name","username":"eranr"},"change_message_id":"0398c79ecabd5c47c07995ac2726228606822a68","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"class StorletJavaFunctionalTest(StorletFunctionalTest):"},{"line_number":70,"context_line":"    def setUp(self):"},{"line_number":71,"context_line":"        self.storlet_dir \u003d os.path.join(\u0027java\u0027, self.storlet_dir)"},{"line_number":72,"context_line":"        self.path_to_bundle \u003d \u0027%s/%s/%s\u0027 % (PATH_TO_STORLETS,"},{"line_number":73,"context_line":"                                            self.storlet_dir,"},{"line_number":74,"context_line":"                                            BIN_DIR)"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a8ec9b2_be991922","line":71,"range":{"start_line":71,"start_character":8,"end_line":71,"end_character":65},"in_reply_to":"9a89bdaa_75060387","updated":"2016-09-13 19:35:59.000000000","message":"Done","commit_id":"4944a45f1051617c8084441609f9903b87543fc5"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"95c270b51270cf2106ea8db87f579be54b122576","unresolved":false,"context_lines":[{"line_number":69,"context_line":"class StorletJavaFunctionalTest(StorletFunctionalTest):"},{"line_number":70,"context_line":"    def setUp(self):"},{"line_number":71,"context_line":"        self.storlet_dir \u003d os.path.join(\u0027java\u0027, self.storlet_dir)"},{"line_number":72,"context_line":"        self.path_to_bundle \u003d \u0027%s/%s/%s\u0027 % (PATH_TO_STORLETS,"},{"line_number":73,"context_line":"                                            self.storlet_dir,"},{"line_number":74,"context_line":"                                            BIN_DIR)"},{"line_number":75,"context_line":"        super(StorletJavaFunctionalTest, self).setUp(\u0027Java\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a89bdaa_b5b40b82","line":72,"range":{"start_line":72,"start_character":31,"end_line":72,"end_character":39},"updated":"2016-09-13 17:06:14.000000000","message":"(nit) using os.path.join seems better\n\nos.path.join(PATH_TO_STORLETS, self.storlet_dir, BIN_DIR)","commit_id":"4944a45f1051617c8084441609f9903b87543fc5"},{"author":{"_account_id":11317,"name":"Eran Rom","email":"eran@itsonlyme.name","username":"eranr"},"change_message_id":"0398c79ecabd5c47c07995ac2726228606822a68","unresolved":false,"context_lines":[{"line_number":69,"context_line":"class StorletJavaFunctionalTest(StorletFunctionalTest):"},{"line_number":70,"context_line":"    def setUp(self):"},{"line_number":71,"context_line":"        self.storlet_dir \u003d os.path.join(\u0027java\u0027, self.storlet_dir)"},{"line_number":72,"context_line":"        self.path_to_bundle \u003d \u0027%s/%s/%s\u0027 % (PATH_TO_STORLETS,"},{"line_number":73,"context_line":"                                            self.storlet_dir,"},{"line_number":74,"context_line":"                                            BIN_DIR)"},{"line_number":75,"context_line":"        super(StorletJavaFunctionalTest, self).setUp(\u0027Java\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a8ec9b2_c1be04d4","line":72,"range":{"start_line":72,"start_character":31,"end_line":72,"end_character":39},"in_reply_to":"9a89bdaa_b5b40b82","updated":"2016-09-13 19:35:59.000000000","message":"Done","commit_id":"4944a45f1051617c8084441609f9903b87543fc5"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"801eb97b390b5baa3ac861cbfd5b2933e7371409","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright IBM Corp. 2015, 2015 All Rights Reserved"},{"line_number":2,"context_line":"# Copyright (c) 2010-2016 OpenStack Foundation"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."},{"line_number":5,"context_line":"# You may obtain a copy of the License at"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a8ec9b2_52b556cb","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":46},"updated":"2016-09-14 01:54:49.000000000","message":"It seems that this causes an error in pep8.\n\n(1) Should we place this (OpenStack Foundation) at the top?\n(2) Do we need the blank one line after this?","commit_id":"49cdc844badf9ea7c32061eef68a28e2dd2753f4"},{"author":{"_account_id":11317,"name":"Eran Rom","email":"eran@itsonlyme.name","username":"eranr"},"change_message_id":"973a048b43ca7738cd8e41809f3eef47780a0944","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright IBM Corp. 2015, 2015 All Rights Reserved"},{"line_number":2,"context_line":"# Copyright (c) 2010-2016 OpenStack Foundation"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."},{"line_number":5,"context_line":"# You may obtain a copy of the License at"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a8ec9b2_f6aacf6f","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":46},"in_reply_to":"7a8ec9b2_52b556cb","updated":"2016-09-14 07:38:58.000000000","message":"A blank line IMO.","commit_id":"49cdc844badf9ea7c32061eef68a28e2dd2753f4"}],"tests/functional/java/__init__.py":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"801eb97b390b5baa3ac861cbfd5b2933e7371409","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class StorletJavaFunctionalTest(StorletFunctionalTest):"},{"line_number":23,"context_line":"    def setUp(self, storlet_dir, storlet_name, storlet_main,"},{"line_number":24,"context_line":"              container, storlet_file, dep_names\u003d[], headers\u003d{}):"},{"line_number":25,"context_line":"        storlet_dir \u003d os.path.join(\u0027java\u0027, storlet_dir)"},{"line_number":26,"context_line":"        path_to_bundle \u003d os.path.join(PATH_TO_STORLETS, storlet_dir,"},{"line_number":27,"context_line":"                                      BIN_DIR)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a8ec9b2_12bf4ed1","line":24,"range":{"start_line":24,"start_character":49,"end_line":24,"end_character":51},"updated":"2016-09-14 01:54:49.000000000","message":"Please do not use mutable value for default value.\nMaybe we can pass None here.\n\nFYI, We only have one instance used for default value, and it is shared for all function calls. If we change the value one, it affects the value passed as default.","commit_id":"49cdc844badf9ea7c32061eef68a28e2dd2753f4"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"801eb97b390b5baa3ac861cbfd5b2933e7371409","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class StorletJavaFunctionalTest(StorletFunctionalTest):"},{"line_number":23,"context_line":"    def setUp(self, storlet_dir, storlet_name, storlet_main,"},{"line_number":24,"context_line":"              container, storlet_file, dep_names\u003d[], headers\u003d{}):"},{"line_number":25,"context_line":"        storlet_dir \u003d os.path.join(\u0027java\u0027, storlet_dir)"},{"line_number":26,"context_line":"        path_to_bundle \u003d os.path.join(PATH_TO_STORLETS, storlet_dir,"},{"line_number":27,"context_line":"                                      BIN_DIR)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a8ec9b2_52b9d6e8","line":24,"range":{"start_line":24,"start_character":61,"end_line":24,"end_character":63},"updated":"2016-09-14 01:54:49.000000000","message":"ditto","commit_id":"49cdc844badf9ea7c32061eef68a28e2dd2753f4"},{"author":{"_account_id":11317,"name":"Eran Rom","email":"eran@itsonlyme.name","username":"eranr"},"change_message_id":"973a048b43ca7738cd8e41809f3eef47780a0944","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class StorletJavaFunctionalTest(StorletFunctionalTest):"},{"line_number":23,"context_line":"    def setUp(self, storlet_dir, storlet_name, storlet_main,"},{"line_number":24,"context_line":"              container, storlet_file, dep_names\u003d[], headers\u003d{}):"},{"line_number":25,"context_line":"        storlet_dir \u003d os.path.join(\u0027java\u0027, storlet_dir)"},{"line_number":26,"context_line":"        path_to_bundle \u003d os.path.join(PATH_TO_STORLETS, storlet_dir,"},{"line_number":27,"context_line":"                                      BIN_DIR)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a8ec9b2_96db4bed","line":24,"range":{"start_line":24,"start_character":49,"end_line":24,"end_character":51},"in_reply_to":"7a8ec9b2_12bf4ed1","updated":"2016-09-14 07:38:58.000000000","message":"Done","commit_id":"49cdc844badf9ea7c32061eef68a28e2dd2753f4"}],"tests/functional/python/__init__.py":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"801eb97b390b5baa3ac861cbfd5b2933e7371409","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class StorletPythonFunctionalTest(StorletFunctionalTest):"},{"line_number":21,"context_line":"    def setUp(self, storlet_dir, storlet_name, storlet_main,"},{"line_number":22,"context_line":"              container, storlet_file, dep_names\u003d[], headers\u003d{}):"},{"line_number":23,"context_line":"        storlet_dir \u003d os.path.join(\u0027python\u0027, storlet_dir)"},{"line_number":24,"context_line":"        path_to_bundle \u003d os.path.join(PATH_TO_STORLETS, storlet_dir)"},{"line_number":25,"context_line":"        super(StorletPythonFunctionalTest, self).setUp(\u0027Python\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a8ec9b2_d2c5e65b","line":22,"range":{"start_line":22,"start_character":49,"end_line":22,"end_character":51},"updated":"2016-09-14 01:54:49.000000000","message":"ditto","commit_id":"49cdc844badf9ea7c32061eef68a28e2dd2753f4"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"801eb97b390b5baa3ac861cbfd5b2933e7371409","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class StorletPythonFunctionalTest(StorletFunctionalTest):"},{"line_number":21,"context_line":"    def setUp(self, storlet_dir, storlet_name, storlet_main,"},{"line_number":22,"context_line":"              container, storlet_file, dep_names\u003d[], headers\u003d{}):"},{"line_number":23,"context_line":"        storlet_dir \u003d os.path.join(\u0027python\u0027, storlet_dir)"},{"line_number":24,"context_line":"        path_to_bundle \u003d os.path.join(PATH_TO_STORLETS, storlet_dir)"},{"line_number":25,"context_line":"        super(StorletPythonFunctionalTest, self).setUp(\u0027Python\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a8ec9b2_f2a022a8","line":22,"range":{"start_line":22,"start_character":61,"end_line":22,"end_character":63},"updated":"2016-09-14 01:54:49.000000000","message":"ditto","commit_id":"49cdc844badf9ea7c32061eef68a28e2dd2753f4"}]}
