From 86179f6ede2b4108dd0a489a739eebada107be67 Mon Sep 17 00:00:00 2001 From: Matt Rendina Date: Thu, 30 Nov 2017 11:00:16 -0500 Subject: Different implementation --- vars/utils.groovy | 42 ++++++++++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/vars/utils.groovy b/vars/utils.groovy index 1def2c6..98bacf5 100644 --- a/vars/utils.groovy +++ b/vars/utils.groovy @@ -101,20 +101,30 @@ def concurrent(configs) { } //end concurrent -/** - * This method makes a "deep clone" of any object it is given. - */ -def deepClone(object) { - //try { - ByteArrayOutputStream baos = new ByteArrayOutputStream() - ObjectOutputStream oos = new ObjectOutputStream(baos) - oos.writeObject(object) - ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()) - ObjectInputStream ois = new ObjectInputStream(bais) - return ois.readObject() - //} - //catch (Exception e) { - // e.printStackTrace() - // return null - //} +///** +// * This method makes a "deep clone" of any object it is given. +// */ +//def deepClone(object) { +// //try { +// ByteArrayOutputStream baos = new ByteArrayOutputStream() +// ObjectOutputStream oos = new ObjectOutputStream(baos) +// oos.writeObject(object) +// ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()) +// ObjectInputStream ois = new ObjectInputStream(bais) +// return ois.readObject() +// //} +// //catch (Exception e) { +// // e.printStackTrace() +// // return null +// //} +//} + +// standard deep copy implementation +def deepcopy(orig) { + bos = new ByteArrayOutputStream() + oos = new ObjectOutputStream(bos) + oos.writeObject(orig); oos.flush() + bin = new ByteArrayInputStream(bos.toByteArray()) + ois = new ObjectInputStream(bin) + return ois.readObject() } -- cgit