Don't throw error closing non opened objects Project: http://git-wip-us.apache.org/repos/asf/incubator-wave/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-wave/commit/4376f6f3 Tree: http://git-wip-us.apache.org/repos/asf/incubator-wave/tree/4376f6f3 Diff: http://git-wip-us.apache.org/repos/asf/incubator-wave/diff/4376f6f3
Branch: refs/heads/swellrt Commit: 4376f6f38b7f825f77482b37711750ecc47a6086 Parents: 2e8fbb9 Author: Pablo Ojanguren <[email protected]> Authored: Thu Sep 8 17:06:46 2016 +0200 Committer: Pablo Ojanguren <[email protected]> Committed: Thu Sep 8 17:06:46 2016 +0200 ---------------------------------------------------------------------- wave/src/main/java/org/swellrt/api/SwellRT.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/4376f6f3/wave/src/main/java/org/swellrt/api/SwellRT.java ---------------------------------------------------------------------- diff --git a/wave/src/main/java/org/swellrt/api/SwellRT.java b/wave/src/main/java/org/swellrt/api/SwellRT.java index 8077c4d..abb7cec 100644 --- a/wave/src/main/java/org/swellrt/api/SwellRT.java +++ b/wave/src/main/java/org/swellrt/api/SwellRT.java @@ -557,16 +557,20 @@ public class SwellRT implements EntryPoint, UnsavedDataListener { String id = extractWaveIdParameter(parameters); Preconditions.checkArgument(id != null, "Missing object or id"); WaveId waveId = WaveId.deserialise(id); - Preconditions.checkArgument(waveRegistry.containsKey(waveId), "Object is not open"); + + if (!waveRegistry.containsKey(waveId)) { + return; + } for (TextEditor e: editorRegistry.values()) if (e.getWaveId().equals(waveId)) e.cleanUp(); - - waveRegistry.remove(waveId).destroy(); + ModelJS co = objectRegistry.get(waveId); objectRegistry.remove(waveId); SwellRTUtils.deleteJsObject(co); + + waveRegistry.remove(waveId).destroy(); }
