diff options
Diffstat (limited to 'vars')
| -rw-r--r-- | vars/utils.groovy | 42 |
1 files 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() } |
