From b5a7a119201418d01b7bd27ffbbd55b73257770f Mon Sep 17 00:00:00 2001 From: Paulo Gustavo Veiga Date: Wed, 27 Feb 2013 23:08:37 -0300 Subject: [PATCH] Check map before save. --- .../com/wisemapping/rest/MindmapController.java | 7 ------- .../wisemapping/service/MindmapServiceImpl.java | 15 ++++++++++++++- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/wise-webapp/src/main/java/com/wisemapping/rest/MindmapController.java b/wise-webapp/src/main/java/com/wisemapping/rest/MindmapController.java index aa1b1bf8..53f08c08 100644 --- a/wise-webapp/src/main/java/com/wisemapping/rest/MindmapController.java +++ b/wise-webapp/src/main/java/com/wisemapping/rest/MindmapController.java @@ -162,13 +162,6 @@ public class MindmapController extends BaseController { if (xml == null) { throw new IllegalArgumentException("Map xml can not be null"); } - - // Check that what we received a valid mindmap... - xml = xml.trim(); - if (!xml.startsWith("")) { - throw new IllegalArgumentException("Map seems not to be a valid mindmap:"+xml); - } - mindmap.setXmlStr(xml); // Update map ... diff --git a/wise-webapp/src/main/java/com/wisemapping/service/MindmapServiceImpl.java b/wise-webapp/src/main/java/com/wisemapping/service/MindmapServiceImpl.java index 05b6e1bf..ddcfc403 100755 --- a/wise-webapp/src/main/java/com/wisemapping/service/MindmapServiceImpl.java +++ b/wise-webapp/src/main/java/com/wisemapping/service/MindmapServiceImpl.java @@ -29,6 +29,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import java.io.IOException; +import java.io.UnsupportedEncodingException; import java.util.Calendar; import java.util.List; import java.util.Set; @@ -100,7 +101,19 @@ public class MindmapServiceImpl @Override public void updateMindmap(@NotNull Mindmap mindMap, boolean saveHistory) throws WiseMappingException { if (mindMap.getTitle() == null || mindMap.getTitle().length() == 0) { - throw new WiseMappingException("The tile can not be empty"); + throw new WiseMappingException("The title can not be empty"); + } + + // Check that what we received a valid mindmap... + final String xml; + try { + xml = mindMap.getXmlStr().trim(); + } catch (UnsupportedEncodingException e) { + throw new WiseMappingException("Could not be decoded.",e); + } + + if (!xml.startsWith("")) { + throw new WiseMappingException("Map seems not to be a valid mindmap:"+xml); } mindmapManager.updateMindmap(mindMap, saveHistory);