From b05e25b43f3d7321b17b22e491eb41b25b7ec85c Mon Sep 17 00:00:00 2001 From: Paulo Gustavo Veiga Date: Fri, 13 Jul 2012 21:07:51 -0300 Subject: [PATCH] Add welcome message on creation ... --- .../exceptions/WiseMappingException.java | 6 +++ .../java/com/wisemapping/model/Constants.java | 4 -- .../wisemapping/service/MindmapService.java | 2 - .../service/MindmapServiceImpl.java | 13 ----- .../wisemapping/service/UserServiceImpl.java | 41 +++++++++++++- .../src/main/resources/samples/welcome_en.xml | 53 +++++++++++++++++++ .../webapp/WEB-INF/wisemapping-service.xml | 10 ++++ 7 files changed, 108 insertions(+), 21 deletions(-) create mode 100644 wise-webapp/src/main/resources/samples/welcome_en.xml diff --git a/wise-webapp/src/main/java/com/wisemapping/exceptions/WiseMappingException.java b/wise-webapp/src/main/java/com/wisemapping/exceptions/WiseMappingException.java index 275d6142..6bbb6cc9 100755 --- a/wise-webapp/src/main/java/com/wisemapping/exceptions/WiseMappingException.java +++ b/wise-webapp/src/main/java/com/wisemapping/exceptions/WiseMappingException.java @@ -25,4 +25,10 @@ public class WiseMappingException { super(str); } + public WiseMappingException(String str,Exception e) + { + super(str); + initCause(e); + } + } diff --git a/wise-webapp/src/main/java/com/wisemapping/model/Constants.java b/wise-webapp/src/main/java/com/wisemapping/model/Constants.java index 5f530453..f2885178 100755 --- a/wise-webapp/src/main/java/com/wisemapping/model/Constants.java +++ b/wise-webapp/src/main/java/com/wisemapping/model/Constants.java @@ -20,14 +20,10 @@ package com.wisemapping.model; public class Constants { - public static int WELCOME_MAP_ID =49 ; public static final int MAX_MAP_NAME_LENGTH = 512; public static final int MAX_MAP_DESCRIPTION_LENGTH = 512; public static final int MAX_USER_USERNAME_LENGTH = 255; public static final int MAX_USER_LASTNAME_LENGTH = 255; public static final int MAX_USER_FIRSTNAME_LENGTH = 255; public static final int MAX_USER_PASSWORD_LENGTH = 255; - public static final int MAX_COMMENT_LENGTH = 512; - public static final int MAX_SUBJECT_LENGTH = 100; - public static final int MAX_TAGS_LENGTH=1014; } 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 ff38c5f5..c30602af 100755 --- a/wise-webapp/src/main/java/com/wisemapping/service/MindmapService.java +++ b/wise-webapp/src/main/java/com/wisemapping/service/MindmapService.java @@ -57,8 +57,6 @@ public interface MindmapService { boolean hasPermissions(@Nullable User user, int mapId, CollaborationRole allowedRole); - void addWelcomeMindmap(User user) throws WiseMappingException; - void revertChange(@NotNull MindMap map, int historyId) throws WiseMappingException; MindMapHistory findMindmapHistory(int id, int hid) throws WiseMappingException; 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 451628a8..4b62a3a5 100755 --- a/wise-webapp/src/main/java/com/wisemapping/service/MindmapServiceImpl.java +++ b/wise-webapp/src/main/java/com/wisemapping/service/MindmapServiceImpl.java @@ -219,20 +219,7 @@ public class MindmapServiceImpl } } - @Override - public void addWelcomeMindmap(User user) throws WiseMappingException { - final MindMap savedWelcome = findMindmapById(Constants.WELCOME_MAP_ID); - // Is there a welcomed map configured ? - if (savedWelcome != null) { - final MindMap welcomeMap = new MindMap(); - welcomeMap.setTitle(savedWelcome.getTitle() + " " + user.getFirstname()); - welcomeMap.setDescription(savedWelcome.getDescription()); - welcomeMap.setXml(savedWelcome.getXml()); - - addMindmap(welcomeMap, user); - } - } @Override public List findMindmapHistory(int mindmapId) { diff --git a/wise-webapp/src/main/java/com/wisemapping/service/UserServiceImpl.java b/wise-webapp/src/main/java/com/wisemapping/service/UserServiceImpl.java index 3444a77e..c7c250d5 100755 --- a/wise-webapp/src/main/java/com/wisemapping/service/UserServiceImpl.java +++ b/wise-webapp/src/main/java/com/wisemapping/service/UserServiceImpl.java @@ -23,10 +23,17 @@ import com.wisemapping.exceptions.WiseMappingException; import com.wisemapping.mail.NotificationService; import com.wisemapping.model.AccessAuditory; import com.wisemapping.model.Collaborator; +import com.wisemapping.model.MindMap; import com.wisemapping.model.User; +import org.apache.commons.io.IOUtils; import org.jetbrains.annotations.NotNull; +import org.springframework.context.MessageSource; +import org.springframework.context.i18n.LocaleContextHolder; +import java.io.IOException; +import java.io.InputStream; import java.util.Calendar; +import java.util.Locale; import java.util.UUID; public class UserServiceImpl @@ -34,6 +41,8 @@ public class UserServiceImpl private UserManager userManager; private MindmapService mindmapService; private NotificationService notificationService; + private MessageSource messageSource; + @Override public void activateAccount(long code) @@ -90,7 +99,7 @@ public class UserServiceImpl @Override public void auditLogin(@NotNull User user) { - if(user==null){ + if (user == null) { throw new IllegalArgumentException("User can not be null"); } final AccessAuditory accessAuditory = new AccessAuditory(); @@ -119,7 +128,8 @@ public class UserServiceImpl } //create welcome map - mindmapService.addWelcomeMindmap(user); + final MindMap mindMap = buildWelcomeMindmap(user.getFirstname()); + mindmapService.addMindmap(mindMap, user); // Send registration email. if (emailConfirmEnabled) { @@ -132,6 +142,29 @@ public class UserServiceImpl return user; } + private MindMap buildWelcomeMindmap(@NotNull String username) throws WiseMappingException { + //To change body of created methods use File | Settings | File Templates. + final Locale locale = LocaleContextHolder.getLocale(); + MindMap result = new MindMap(); + + final ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader(); + InputStream resourceAsStream = contextClassLoader.getResourceAsStream("samples/welcome_" + locale.toString() + ".xml"); + if (resourceAsStream == null) { + resourceAsStream = contextClassLoader.getResourceAsStream("samples/welcome_en.xml"); + } + try { + final byte[] bytes = IOUtils.toByteArray(resourceAsStream); + result.setXml(bytes); + result.setTitle(messageSource.getMessage("WELCOME", null, locale) + " " + username); + result.setDescription(""); + + } catch (IOException e) { + throw new WiseMappingException("Could not be loaded", e); + } + + return result; + } + @Override public void changePassword(@NotNull User user) { notificationService.passwordChanged(user); @@ -169,4 +202,8 @@ public class UserServiceImpl public void setNotificationService(NotificationService notificationService) { this.notificationService = notificationService; } + + public void setMessageSource(@NotNull MessageSource messageSource) { + this.messageSource = messageSource; + } } diff --git a/wise-webapp/src/main/resources/samples/welcome_en.xml b/wise-webapp/src/main/resources/samples/welcome_en.xml new file mode 100644 index 00000000..a95074be --- /dev/null +++ b/wise-webapp/src/main/resources/samples/welcome_en.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/wise-webapp/src/main/webapp/WEB-INF/wisemapping-service.xml b/wise-webapp/src/main/webapp/WEB-INF/wisemapping-service.xml index 9f3446c1..3d015d26 100755 --- a/wise-webapp/src/main/webapp/WEB-INF/wisemapping-service.xml +++ b/wise-webapp/src/main/webapp/WEB-INF/wisemapping-service.xml @@ -15,6 +15,8 @@ + + @@ -77,4 +79,12 @@ + + + + messages + + + +