diff --git a/common/client/src/main/java/zingg/common/client/arguments/ArgumentServiceImpl.java b/common/client/src/main/java/zingg/common/client/arguments/ArgumentServiceImpl.java index 64ea1a5a5..7658ce8e1 100644 --- a/common/client/src/main/java/zingg/common/client/arguments/ArgumentServiceImpl.java +++ b/common/client/src/main/java/zingg/common/client/arguments/ArgumentServiceImpl.java @@ -45,7 +45,7 @@ public A loadArguments(String path) throws ZinggClientException, NoSuchObjectExc @Override public void writeArguments(String path, IZArgs args) throws ZinggClientException, NoSuchObjectException { - ArgumentsWriter argumentsWriter = writerFactory.getArgumentsWriter(WriterType.JSON); + ArgumentsWriter argumentsWriter = writerFactory.getArgumentsWriter(WriterType.FILE); argumentsWriter.write(path, args); } diff --git a/common/client/src/main/java/zingg/common/client/arguments/writer/JsonStringArgumentsWriter.java b/common/client/src/main/java/zingg/common/client/arguments/writer/JsonStringArgumentsWriter.java deleted file mode 100644 index a135e0631..000000000 --- a/common/client/src/main/java/zingg/common/client/arguments/writer/JsonStringArgumentsWriter.java +++ /dev/null @@ -1,16 +0,0 @@ -package zingg.common.client.arguments.writer; - -import zingg.common.client.arguments.model.IZArgs; -import zingg.common.client.ZinggClientException; - -public class JsonStringArgumentsWriter extends ArgumentsWriter { - - @Override - public void write(String sink, IZArgs args) throws ZinggClientException { - try { - sink = objectMapper.writeValueAsString(args); - } catch (Exception exception) { - throw new ZinggClientException("Error writing config to string", exception); - } - } -} diff --git a/common/client/src/main/java/zingg/common/client/arguments/writer/WriterFactory.java b/common/client/src/main/java/zingg/common/client/arguments/writer/WriterFactory.java index fb0068fa8..06a81f9a5 100644 --- a/common/client/src/main/java/zingg/common/client/arguments/writer/WriterFactory.java +++ b/common/client/src/main/java/zingg/common/client/arguments/writer/WriterFactory.java @@ -10,8 +10,6 @@ public ArgumentsWriter getArgumentsWriter(WriterType writerType) throws NoSuc switch (writerType) { case FILE: return new FileArgumentsWriter(); - case JSON: - return new JsonStringArgumentsWriter(); default: throw new NoSuchObjectException("No such writer exists: " + writerType.name()); } diff --git a/common/client/src/main/java/zingg/common/client/arguments/writer/WriterType.java b/common/client/src/main/java/zingg/common/client/arguments/writer/WriterType.java index 545a1b828..a37d3399d 100644 --- a/common/client/src/main/java/zingg/common/client/arguments/writer/WriterType.java +++ b/common/client/src/main/java/zingg/common/client/arguments/writer/WriterType.java @@ -1,6 +1,5 @@ package zingg.common.client.arguments.writer; public enum WriterType { - FILE, - JSON + FILE } diff --git a/docs/pythonOss/markdown/_autosummary/zingg.client.Arguments.md b/docs/pythonOss/markdown/_autosummary/zingg.client.Arguments.md index 4a9e33330..ad55dabd8 100644 --- a/docs/pythonOss/markdown/_autosummary/zingg.client.Arguments.md +++ b/docs/pythonOss/markdown/_autosummary/zingg.client.Arguments.md @@ -39,7 +39,6 @@ This class helps supply match arguments to Zingg. There are 3 basic steps in any | [`setTrainingSamples`](#zingg.client.Arguments.setTrainingSamples) | Method to set existing training samples to be matched. | | [`setZinggDir`](#zingg.client.Arguments.setZinggDir) | Method to set the location for Zingg to save its internal computations and models. | | [`writeArgumentsToJSON`](#zingg.client.Arguments.writeArgumentsToJSON) | Method to write JSON file from the object of this class | -| [`writeArgumentsToJSONString`](#zingg.client.Arguments.writeArgumentsToJSONString) | Method to create an object of this class from the JSON file and phase parameter value. | #### \_\_init_\_() @@ -166,15 +165,3 @@ Method to write JSON file from the object of this class * **Parameters:** **fileName** (*String*) – The CONF parameter value of ClientOption object or file address of json file - -#### writeArgumentsToJSONString() - -Method to create an object of this class from the JSON file and phase parameter value. - -* **Parameters:** - * **fileName** (*String*) – The CONF parameter value of ClientOption object - * **phase** (*String*) – The PHASE parameter value of ClientOption object -* **Returns:** - The pointer containing address of the this class object -* **Return type:** - pointer([Arguments](#zingg.client.Arguments)) diff --git a/python/docs/_autosummary/zingg.client.Arguments.rst b/python/docs/_autosummary/zingg.client.Arguments.rst index 77158c27d..d1def8204 100644 --- a/python/docs/_autosummary/zingg.client.Arguments.rst +++ b/python/docs/_autosummary/zingg.client.Arguments.rst @@ -1,4 +1,4 @@ -zingg.client.Arguments +zingg.client.Arguments ====================== .. currentmodule:: zingg.client @@ -39,10 +39,4 @@ ~Arguments.setTrainingSamples ~Arguments.setZinggDir ~Arguments.writeArgumentsToJSON - ~Arguments.writeArgumentsToJSONString - - - - - \ No newline at end of file diff --git a/python/zingg/client.py b/python/zingg/client.py index 772127617..578faf85b 100644 --- a/python/zingg/client.py +++ b/python/zingg/client.py @@ -708,21 +708,9 @@ def createArgumentsFromJSON(fileName, phase): :rtype: pointer(Arguments) """ obj = Arguments() - obj.args = getJVM().zingg.common.client.argumentst.ArgumentServiceImpl().loadArguments(fileName) + obj.args = getJVM().zingg.common.client.arguments.ArgumentServiceImpl().loadArguments(fileName) return obj - def writeArgumentsToJSONString(self): - """Method to create an object of this class from the JSON file and phase parameter value. - - :param fileName: The CONF parameter value of ClientOption object - :type fileName: String - :param phase: The PHASE parameter value of ClientOption object - :type phase: String - :return: The pointer containing address of the this class object - :rtype: pointer(Arguments) - """ - jsonString = getJVM().java.lang.String() - return getJVM().zingg.common.client.arguments.ArgumentServiceImpl().writeArguments(jsonString, self.args) @staticmethod def createArgumentsFromJSONString(jsonArgs, phase): @@ -731,8 +719,14 @@ def createArgumentsFromJSONString(jsonArgs, phase): return obj def copyArgs(self, phase): - argsString = self.writeArgumentsToJSONString() - return self.createArgumentsFromJSONString(argsString, phase) + import tempfile + import os + with tempfile.NamedTemporaryFile(mode='w', suffix='.json', delete=False) as f: + temp_file = f.name + self.writeArgumentsToJSON(temp_file) + copied = self.createArgumentsFromJSON(temp_file, phase) + os.unlink(temp_file) + return copied class ClientOptions: diff --git a/test/testFebrl/testArgs.py b/test/testFebrl/testArgs.py index 7dc2b554a..700b854da 100644 --- a/test/testFebrl/testArgs.py +++ b/test/testFebrl/testArgs.py @@ -492,19 +492,6 @@ def test_writeArgumentsToJSON(self): self.assertTrue(os.path.exists(json_file_name)) os.remove(json_file_name) - def test_writeArgumentsToJSONString(self): - # print("new args: ", args1) - # print("old args: ", args) - json_string = args1.writeArgumentsToJSONString() - # json_string1 = args.writeArgumentsToJSONString() - print("json_string: ",json_string) - # print("oldjson_string: ", json_string1) - data = json.loads(json_string) - print("data: ", data) - - self.assertEqual(data['modelId'], "100") - self.assertEqual(data['zinggDir'], "models") - def test_createArgumentsFromJSONString(self): sample_json = ''' { @@ -808,4 +795,5 @@ def test_set_db_table(self): pipe = SnowflakePipe("snowflake_pipe") db_table = "my_table" pipe.setDbTable(db_table) - self.assertEqual(pipe.pipe.getProps()["dbtable"], db_table) \ No newline at end of file + self.assertEqual(pipe.pipe.getProps()["dbtable"], db_table) +