From 4d46864388c72c4d25df6e2e1686eb747fa39af6 Mon Sep 17 00:00:00 2001 From: Paulo Gustavo Veiga Date: Fri, 29 Mar 2013 15:44:49 -0300 Subject: [PATCH] Add compress fix. --- .../main/java/com/wisemapping/dao/MindmapManager.java | 4 ++-- .../java/com/wisemapping/dao/MindmapManagerImpl.java | 11 ++++++++++- .../java/com/wisemapping/model/MindMapHistory.java | 2 ++ .../java/com/wisemapping/rest/AdminController.java | 9 ++++----- .../java/com/wisemapping/service/MindmapService.java | 2 +- .../com/wisemapping/service/MindmapServiceImpl.java | 2 +- .../com/wisemapping/model/MindMapHistory.hbm.xml | 2 +- 7 files changed, 21 insertions(+), 11 deletions(-) diff --git a/wise-webapp/src/main/java/com/wisemapping/dao/MindmapManager.java b/wise-webapp/src/main/java/com/wisemapping/dao/MindmapManager.java index 9889e1cb..8a01788a 100644 --- a/wise-webapp/src/main/java/com/wisemapping/dao/MindmapManager.java +++ b/wise-webapp/src/main/java/com/wisemapping/dao/MindmapManager.java @@ -20,8 +20,8 @@ package com.wisemapping.dao; import com.wisemapping.model.*; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; +import java.io.IOException; import java.util.List; public interface MindmapManager { @@ -67,5 +67,5 @@ public interface MindmapManager { void updateCollaboration(@NotNull Collaboration collaboration); - void purgeHistory(int mapId); + void purgeHistory(int mapId) throws IOException; } diff --git a/wise-webapp/src/main/java/com/wisemapping/dao/MindmapManagerImpl.java b/wise-webapp/src/main/java/com/wisemapping/dao/MindmapManagerImpl.java index dd1d988a..8ca59923 100644 --- a/wise-webapp/src/main/java/com/wisemapping/dao/MindmapManagerImpl.java +++ b/wise-webapp/src/main/java/com/wisemapping/dao/MindmapManagerImpl.java @@ -19,6 +19,7 @@ package com.wisemapping.dao; import com.wisemapping.model.*; +import com.wisemapping.util.ZipUtils; import org.jetbrains.annotations.NotNull; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import org.hibernate.criterion.Restrictions; @@ -75,7 +76,7 @@ public class MindmapManagerImpl } @Override - public void purgeHistory(int mapId) { + public void purgeHistory(int mapId) throws IOException { final Criteria hibernateCriteria = getSession().createCriteria(MindMapHistory.class); hibernateCriteria.add(Restrictions.eq("mindmapId", mapId)); hibernateCriteria.addOrder(Order.desc("creationTime")); @@ -89,6 +90,14 @@ public class MindmapManagerImpl // If the map has not been modified in the last months, it means that I don't need to keep all the history ... int max = mindmapById.getLastModificationTime().before(yearAgo) ? 10 : 25; + for (MindMapHistory history : historyList) { + byte[] zippedXml = history.getZippedXml(); + if(new String(zippedXml).startsWith(" max) { for (int i = max; i < historyList.size(); i++) { getHibernateTemplate().delete(historyList.get(i)); diff --git a/wise-webapp/src/main/java/com/wisemapping/model/MindMapHistory.java b/wise-webapp/src/main/java/com/wisemapping/model/MindMapHistory.java index d33c9be3..2acfb829 100755 --- a/wise-webapp/src/main/java/com/wisemapping/model/MindMapHistory.java +++ b/wise-webapp/src/main/java/com/wisemapping/model/MindMapHistory.java @@ -19,6 +19,7 @@ package com.wisemapping.model; import com.wisemapping.util.ZipUtils; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.io.IOException; @@ -52,6 +53,7 @@ public class MindMapHistory { this.mindmapId = id; } + @NotNull public Calendar getCreationTime() { return creationTime; } diff --git a/wise-webapp/src/main/java/com/wisemapping/rest/AdminController.java b/wise-webapp/src/main/java/com/wisemapping/rest/AdminController.java index bfebec21..8cbdd537 100644 --- a/wise-webapp/src/main/java/com/wisemapping/rest/AdminController.java +++ b/wise-webapp/src/main/java/com/wisemapping/rest/AdminController.java @@ -19,10 +19,7 @@ package com.wisemapping.rest; import com.wisemapping.exceptions.WiseMappingException; -import com.wisemapping.model.AuthenticationType; -import com.wisemapping.model.Collaboration; -import com.wisemapping.model.Mindmap; -import com.wisemapping.model.User; +import com.wisemapping.model.*; import com.wisemapping.rest.model.RestUser; import com.wisemapping.service.MindmapService; import com.wisemapping.service.UserService; @@ -176,13 +173,15 @@ public class AdminController extends BaseController { e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. } catch (RuntimeException e) { e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. + } catch (IOException e) { + e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. } } } @ResponseStatus(value = HttpStatus.NO_CONTENT) @RequestMapping(method = RequestMethod.GET, value = "admin/database/purge/history") - public void purgeHistory(@RequestParam(required = true) Integer mapId) throws WiseMappingException, UnsupportedEncodingException { + public void purgeHistory(@RequestParam(required = true) Integer mapId) throws WiseMappingException, IOException { mindmapService.purgeHistory(mapId); } diff --git a/wise-webapp/src/main/java/com/wisemapping/service/MindmapService.java b/wise-webapp/src/main/java/com/wisemapping/service/MindmapService.java index 8a0c04b1..7236e1f3 100755 --- a/wise-webapp/src/main/java/com/wisemapping/service/MindmapService.java +++ b/wise-webapp/src/main/java/com/wisemapping/service/MindmapService.java @@ -68,5 +68,5 @@ public interface MindmapService { boolean isAdmin(@Nullable User user); - void purgeHistory(int mapId); + void purgeHistory(int mapId) throws IOException; } 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 f624a324..aadccf07 100755 --- a/wise-webapp/src/main/java/com/wisemapping/service/MindmapServiceImpl.java +++ b/wise-webapp/src/main/java/com/wisemapping/service/MindmapServiceImpl.java @@ -83,7 +83,7 @@ public class MindmapServiceImpl } @Override - public void purgeHistory(int mapId) { + public void purgeHistory(int mapId) throws IOException { mindmapManager.purgeHistory(mapId); } diff --git a/wise-webapp/src/main/resources/com/wisemapping/model/MindMapHistory.hbm.xml b/wise-webapp/src/main/resources/com/wisemapping/model/MindMapHistory.hbm.xml index 7a9b722f..6ca456a7 100755 --- a/wise-webapp/src/main/resources/com/wisemapping/model/MindMapHistory.hbm.xml +++ b/wise-webapp/src/main/resources/com/wisemapping/model/MindMapHistory.hbm.xml @@ -11,7 +11,7 @@ - +