From 3e5c2d344e04e0adb6a210c5c6302bfbfd8af102 Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Fri, 06 Sep 2019 20:25:39 -0400 Subject: [PATCH] Fix file object. --- FileObject.java | 27 +++++++++++++++++++++++++-- 1 files changed, 25 insertions(+), 2 deletions(-) diff --git a/FileObject.java b/FileObject.java index b87554b..e899a71 100644 --- a/FileObject.java +++ b/FileObject.java @@ -19,15 +19,37 @@ boolean HasBigData() { - return false; + return filecontent != null; } void ExtractBigData(java.util.Hashtable<java.util.UUID, Object3D> hashtable) { + Object3D o; + + if (hashtable.containsKey(GetUUID())) + { + o = hashtable.get(GetUUID()); + + //Grafreed.Assert(this.filecontent == ((FileObject)o).filecontent); + } + else + { + o = new Object3D("copy of " + this.name); + + hashtable.put(GetUUID(), o); + } + + ExtractBigData(o); } void RestoreBigData(java.util.Hashtable<java.util.UUID, Object3D> hashtable) { + if (!hashtable.containsKey(GetUUID())) + return; + + Object3D o = hashtable.get(GetUUID()); + + RestoreBigData(o); } boolean IsStatic() @@ -100,7 +122,8 @@ o.savefilecontent = this.filecontent; - // filecontent transient + // filecontent is transient + this.filecontent = null; } void RestoreBigData(Object3D o) -- Gitblit v1.6.2