r839 - in trunk/src: main/java/org/ourproject/kune/app/public main/java/org/ourproject/kune/app/public/css main/java/org/ourproject/kune/platf/client/dto main/java/org/ourproject/kune/platf/client/services main/java/org/ourproject/kune/platf/server/domain main/java/org/ourproject/kune/platf/server/mapper main/java/org/ourproject/kune/platf/server/rpc main/java/org/ourproject/kune/platf/server/users main/java/org/ourproject/kune/workspace/client/search main/resources test/java/org/ourproject/k
Author: vjrj Date: 2008-08-09 20:40:32 +0200 (Sat, 09 Aug 2008) New Revision: 839 Added: trunk/src/main/java/org/ourproject/kune/platf/client/dto/ChatUserParamsDTO.java trunk/src/main/java/org/ourproject/kune/platf/client/dto/CustomPropertiesDTO.java Modified: trunk/src/main/java/org/ourproject/kune/app/public/Kune.html trunk/src/main/java/org/ourproject/kune/app/public/css/all.css trunk/src/main/java/org/ourproject/kune/app/public/css/workspace.css trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserInfoDTO.java trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java trunk/src/main/java/org/ourproject/kune/platf/server/domain/CustomProperties.java trunk/src/main/java/org/ourproject/kune/platf/server/mapper/DozerMapper.java trunk/src/main/java/org/ourproject/kune/platf/server/mapper/Mapper.java trunk/src/main/java/org/ourproject/kune/platf/server/rpc/UserRPC.java trunk/src/main/java/org/ourproject/kune/platf/server/users/UserInfo.java trunk/src/main/java/org/ourproject/kune/platf/server/users/UserInfoServiceDefault.java trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherPanel.java trunk/src/main/resources/dozerBeanMapping.xml trunk/src/test/java/org/ourproject/kune/platf/server/mapper/MapperTest.java Log: Complete - task 1: User parameters Server Modified: trunk/src/main/java/org/ourproject/kune/app/public/Kune.html =================================================================== --- trunk/src/main/java/org/ourproject/kune/app/public/Kune.html 2008-08-09 14:49:34 UTC (rev 838) +++ trunk/src/main/java/org/ourproject/kune/app/public/Kune.html 2008-08-09 18:40:32 UTC (rev 839) @@ -18,7 +18,24 @@ <link rel="shortcut icon" href="images/favicon.ico" /> <title>Kune</title> +<style type="text/css"> +#kuneprogresspanel { + position: absolute; + top: 2px; + left: 2px; + z-index: 30000; +} + +.kune-Progress { + background: #E5FF80; + border: 1px solid #E5FF80; + white-space: nowrap; + height: 16px; + padding: 0 3px; +} + +</style> </head> <body> <script type="text/javascript" language="javascript" Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/all.css =================================================================== --- trunk/src/main/java/org/ourproject/kune/app/public/css/all.css 2008-08-09 14:49:34 UTC (rev 838) +++ trunk/src/main/java/org/ourproject/kune/app/public/css/all.css 2008-08-09 18:40:32 UTC (rev 839) @@ -1908,21 +1908,6 @@ /* Sitebar */ -#kuneprogresspanel { - position: absolute; - top: 2px; - left: 2px; - z-index: 30000; -} - -.kune-Progress { - background: #E5FF80; - border: 1px solid #E5FF80; - white-space: nowrap; - height: 16px; - padding: 0 3px; -} - .kune-SiteBarPanel .kune-IconHyperlink { white-space: nowrap; } Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/workspace.css =================================================================== --- trunk/src/main/java/org/ourproject/kune/app/public/css/workspace.css 2008-08-09 14:49:34 UTC (rev 838) +++ trunk/src/main/java/org/ourproject/kune/app/public/css/workspace.css 2008-08-09 18:40:32 UTC (rev 839) @@ -1,20 +1,5 @@ /* Sitebar */ -#kuneprogresspanel { - position: absolute; - top: 2px; - left: 2px; - z-index: 30000; -} - -.kune-Progress { - background: #E5FF80; - border: 1px solid #E5FF80; - white-space: nowrap; - height: 16px; - padding: 0 3px; -} - .kune-SiteBarPanel .kune-IconHyperlink { white-space: nowrap; } Added: trunk/src/main/java/org/ourproject/kune/platf/client/dto/ChatUserParamsDTO.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/dto/ChatUserParamsDTO.java 2008-08-09 14:49:34 UTC (rev 838) +++ trunk/src/main/java/org/ourproject/kune/platf/client/dto/ChatUserParamsDTO.java 2008-08-09 18:40:32 UTC (rev 839) @@ -0,0 +1,61 @@ +package org.ourproject.kune.platf.client.dto; + +import com.calclab.emite.client.im.roster.RosterManager; +import com.calclab.emite.client.im.roster.RosterManager.SubscriptionMode; +import com.google.gwt.user.client.rpc.IsSerializable; + +public class ChatUserParamsDTO implements IsSerializable { + + private String avatar; + + private boolean publishRoster; + + private SubscriptionMode subscriptionMode; + + private String chatColor; + + public ChatUserParamsDTO() { + this(null, false, SubscriptionMode.autoAcceptAll, null); + }; + + public ChatUserParamsDTO(final String avatar, final boolean publishRoster, final SubscriptionMode subscriptionMode, + final String chatColor) { + this.avatar = avatar; + this.publishRoster = publishRoster; + this.subscriptionMode = subscriptionMode; + this.chatColor = chatColor; + } + + public String getAvatar() { + return avatar; + } + + public String getChatColor() { + return chatColor; + } + + public RosterManager.SubscriptionMode getSubscriptionMode() { + return subscriptionMode; + } + + public boolean isPublishRoster() { + return publishRoster; + } + + public void setAvatar(final String avatar) { + this.avatar = avatar; + } + + public void setChatColor(final String chatColor) { + this.chatColor = chatColor; + } + + public void setPublishRoster(final boolean publishRoster) { + this.publishRoster = publishRoster; + } + + public void setSubscriptionMode(final RosterManager.SubscriptionMode subscriptionMode) { + this.subscriptionMode = subscriptionMode; + } + +} Added: trunk/src/main/java/org/ourproject/kune/platf/client/dto/CustomPropertiesDTO.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/dto/CustomPropertiesDTO.java 2008-08-09 14:49:34 UTC (rev 838) +++ trunk/src/main/java/org/ourproject/kune/platf/client/dto/CustomPropertiesDTO.java 2008-08-09 18:40:32 UTC (rev 839) @@ -0,0 +1,37 @@ +package org.ourproject.kune.platf.client.dto; + +import java.util.HashMap; + +import com.google.gwt.user.client.rpc.IsSerializable; + +public class CustomPropertiesDTO implements IsSerializable { + + private HashMap<Class<?>, Object> data; + + public CustomPropertiesDTO() { + data = new HashMap<Class<?>, Object>(); + } + + public HashMap<Class<?>, Object> getData() { + return data; + } + + @SuppressWarnings("unchecked") + public <T> T getData(final Class<T> type) { + return (T) data.get(type); + } + + public <T> boolean hasPropertie(final Class<T> type) { + return data.containsKey(type); + } + + @SuppressWarnings("unchecked") + public <T> T setData(final Class<T> type, final T value) { + return (T) data.put(type, value); + } + + public void setData(final HashMap<Class<?>, Object> data) { + this.data = data; + } + +} Modified: trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserInfoDTO.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserInfoDTO.java 2008-08-09 14:49:34 UTC (rev 838) +++ trunk/src/main/java/org/ourproject/kune/platf/client/dto/UserInfoDTO.java 2008-08-09 18:40:32 UTC (rev 839) @@ -34,6 +34,7 @@ private I18nCountryDTO country; private List<GroupDTO> groupsIsAdmin; private List<GroupDTO> groupsIsCollab; + private CustomPropertiesDTO customProperties; public String getChatName() { return chatName; @@ -47,6 +48,10 @@ return country; } + public CustomPropertiesDTO getCustomProperties() { + return customProperties; + } + public List<GroupDTO> getGroupsIsAdmin() { return groupsIsAdmin; } @@ -88,6 +93,10 @@ this.country = country; } + public void setCustomProperties(final CustomPropertiesDTO customProperties) { + this.customProperties = customProperties; + } + public void setGroupsIsAdmin(final List<GroupDTO> groupsIsAdmin) { this.groupsIsAdmin = groupsIsAdmin; } Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java 2008-08-09 14:49:34 UTC (rev 838) +++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java 2008-08-09 18:40:32 UTC (rev 839) @@ -71,7 +71,7 @@ logException(e); Site.error(i18n.t("You don't have rights to do that")); } catch (final SessionExpiredException e) { - logException(e, true); + logException(e); doSessionExpired(); } catch (final UserMustBeLoggedException e) { logException(e); Modified: trunk/src/main/java/org/ourproject/kune/platf/server/domain/CustomProperties.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/domain/CustomProperties.java 2008-08-09 14:49:34 UTC (rev 838) +++ trunk/src/main/java/org/ourproject/kune/platf/server/domain/CustomProperties.java 2008-08-09 18:40:32 UTC (rev 839) @@ -22,12 +22,16 @@ private Long id; @Lob - private final HashMap<Class<?>, Object> data; + private HashMap<Class<?>, Object> data; public CustomProperties() { data = new HashMap<Class<?>, Object>(); } + public HashMap<Class<?>, Object> getData() { + return data; + } + @SuppressWarnings("unchecked") public <T> T getData(final Class<T> type) { return (T) data.get(type); @@ -46,6 +50,10 @@ return (T) data.put(type, value); } + public void setData(final HashMap<Class<?>, Object> data) { + this.data = data; + } + public void setId(final Long id) { this.id = id; } Modified: trunk/src/main/java/org/ourproject/kune/platf/server/mapper/DozerMapper.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/mapper/DozerMapper.java 2008-08-09 14:49:34 UTC (rev 838) +++ trunk/src/main/java/org/ourproject/kune/platf/server/mapper/DozerMapper.java 2008-08-09 18:40:32 UTC (rev 839) @@ -21,12 +21,15 @@ package org.ourproject.kune.platf.server.mapper; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import net.sf.dozer.util.mapping.DozerBeanMapperSingletonWrapper; import net.sf.dozer.util.mapping.MapperIF; +import org.ourproject.kune.platf.client.dto.CustomPropertiesDTO; import org.ourproject.kune.platf.client.dto.SearchResultDTO; +import org.ourproject.kune.platf.server.domain.CustomProperties; import org.ourproject.kune.platf.server.manager.impl.SearchResult; import com.google.inject.Singleton; @@ -53,6 +56,20 @@ return dest; } + public CustomPropertiesDTO mapProperties(final CustomProperties customProperties) throws ClassNotFoundException { + final CustomPropertiesDTO customPropertiesDTO = new CustomPropertiesDTO(); + final HashMap<Class<?>, Object> dataMapped = new HashMap<Class<?>, Object>(); + for (final Class<?> c : customProperties.getData().keySet()) { + final Object object = customProperties.getData(c); + final Class<?> destClassName = Class.forName("org.ourproject.kune.platf.client.dto." + c.getSimpleName() + + "DTO"); + final Object objectMapped = map(object, destClassName); + dataMapped.put(destClassName, objectMapped); + } + customPropertiesDTO.setData(dataMapped); + return customPropertiesDTO; + } + @SuppressWarnings("unchecked") public <K, T> SearchResultDTO<T> mapSearchResult(final SearchResult<K> result, final Class<T> type) { final SearchResultDTO<T> resultDTO = new SearchResultDTO<T>(); Modified: trunk/src/main/java/org/ourproject/kune/platf/server/mapper/Mapper.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/mapper/Mapper.java 2008-08-09 14:49:34 UTC (rev 838) +++ trunk/src/main/java/org/ourproject/kune/platf/server/mapper/Mapper.java 2008-08-09 18:40:32 UTC (rev 839) @@ -22,7 +22,9 @@ import java.util.List; +import org.ourproject.kune.platf.client.dto.CustomPropertiesDTO; import org.ourproject.kune.platf.client.dto.SearchResultDTO; +import org.ourproject.kune.platf.server.domain.CustomProperties; import org.ourproject.kune.platf.server.manager.impl.SearchResult; public interface Mapper { @@ -30,5 +32,7 @@ <T> List<T> mapList(List<?> list, Class<T> type); + CustomPropertiesDTO mapProperties(CustomProperties customProperties) throws ClassNotFoundException; + <K, T> SearchResultDTO<T> mapSearchResult(SearchResult<K> result, Class<T> type); } Modified: trunk/src/main/java/org/ourproject/kune/platf/server/rpc/UserRPC.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/rpc/UserRPC.java 2008-08-09 14:49:34 UTC (rev 838) +++ trunk/src/main/java/org/ourproject/kune/platf/server/rpc/UserRPC.java 2008-08-09 18:40:32 UTC (rev 839) @@ -111,7 +111,14 @@ private UserInfoDTO loadUserInfo(final User user) throws DefaultException { final UserInfo userInfo = userInfoService.buildInfo(user, getUserSession().getHash()); - return mapper.map(userInfo, UserInfoDTO.class); + final UserInfoDTO map = mapper.map(userInfo, UserInfoDTO.class); + try { + map.setCustomProperties(mapper.mapProperties(userInfo.getCustomProperties())); + } catch (final ClassNotFoundException e) { + e.printStackTrace(); + throw new DefaultException("Class not found during mapping userInfo"); + } + return map; } private UserInfoDTO loginUser(final User user) throws DefaultException { Modified: trunk/src/main/java/org/ourproject/kune/platf/server/users/UserInfo.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/users/UserInfo.java 2008-08-09 14:49:34 UTC (rev 838) +++ trunk/src/main/java/org/ourproject/kune/platf/server/users/UserInfo.java 2008-08-09 18:40:32 UTC (rev 839) @@ -21,6 +21,7 @@ import java.util.List; +import org.ourproject.kune.platf.server.domain.CustomProperties; import org.ourproject.kune.platf.server.domain.Group; import org.ourproject.kune.platf.server.domain.I18nCountry; import org.ourproject.kune.platf.server.domain.I18nLanguage; @@ -36,6 +37,7 @@ private String userHash; private I18nLanguage language; private I18nCountry country; + private CustomProperties customProperties; public String getChatName() { return chatName; @@ -49,6 +51,10 @@ return country; } + public CustomProperties getCustomProperties() { + return customProperties; + } + public List<Group> getGroupsIsAdmin() { return groupsIsAdmin; } @@ -89,6 +95,10 @@ this.country = country; } + public void setCustomProperties(final CustomProperties customProperties) { + this.customProperties = customProperties; + } + public void setGroupsIsAdmin(final List<Group> groupsIsAdmin) { this.groupsIsAdmin = groupsIsAdmin; } Modified: trunk/src/main/java/org/ourproject/kune/platf/server/users/UserInfoServiceDefault.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/users/UserInfoServiceDefault.java 2008-08-09 14:49:34 UTC (rev 838) +++ trunk/src/main/java/org/ourproject/kune/platf/server/users/UserInfoServiceDefault.java 2008-08-09 18:40:32 UTC (rev 839) @@ -53,6 +53,7 @@ info.setLanguage(language); info.setCountry(user.getCountry()); info.setUserHash(userHash); + info.setCustomProperties(user.getCustomProperties()); final Group userGroup = user.getUserGroup(); Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherPanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherPanel.java 2008-08-09 14:49:34 UTC (rev 838) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherPanel.java 2008-08-09 18:40:32 UTC (rev 839) @@ -143,7 +143,7 @@ groupsPanel.addListener(new PanelListenerAdapter() { public void onActivate(final Panel panel) { - dialog.setTitle(i18n.t("Search users & groups")); + dialog.setTitle(i18n.t("Search users and groups")); presenter.doSearch(SiteSearcherType.group_user); } }); Modified: trunk/src/main/resources/dozerBeanMapping.xml =================================================================== --- trunk/src/main/resources/dozerBeanMapping.xml 2008-08-09 14:49:34 UTC (rev 838) +++ trunk/src/main/resources/dozerBeanMapping.xml 2008-08-09 18:40:32 UTC (rev 839) @@ -287,5 +287,19 @@ <b>name</b> </field> </mapping> + + <mapping> + <class-a>org.ourproject.kune.platf.client.dto.ChatUserParamsDTO</class-a> + <class-b>org.ourproject.kune.platf.server.domain.ChatUserParams</class-b> + </mapping> + <mapping> + <class-a>org.ourproject.kune.platf.client.dto.CustomPropertiesDTO</class-a> + <class-b>org.ourproject.kune.platf.server.domain.CustomProperties</class-b> + <field> + <a>data</a> + <b>data</b> + </field> + </mapping> + </mappings> \ No newline at end of file Modified: trunk/src/test/java/org/ourproject/kune/platf/server/mapper/MapperTest.java =================================================================== --- trunk/src/test/java/org/ourproject/kune/platf/server/mapper/MapperTest.java 2008-08-09 14:49:34 UTC (rev 838) +++ trunk/src/test/java/org/ourproject/kune/platf/server/mapper/MapperTest.java 2008-08-09 18:40:32 UTC (rev 839) @@ -10,21 +10,26 @@ import org.junit.Before; import org.junit.Test; +import org.ourproject.kune.platf.client.dto.ChatUserParamsDTO; import org.ourproject.kune.platf.client.dto.CommentDTO; import org.ourproject.kune.platf.client.dto.ContainerDTO; import org.ourproject.kune.platf.client.dto.ContainerSimpleDTO; import org.ourproject.kune.platf.client.dto.ContentDTO; +import org.ourproject.kune.platf.client.dto.CustomPropertiesDTO; import org.ourproject.kune.platf.client.dto.GroupDTO; import org.ourproject.kune.platf.client.dto.GroupListDTO; import org.ourproject.kune.platf.client.dto.LicenseDTO; import org.ourproject.kune.platf.client.dto.LinkDTO; import org.ourproject.kune.platf.client.dto.StateDTO; +import org.ourproject.kune.platf.client.dto.UserInfoDTO; import org.ourproject.kune.platf.server.TestDomainHelper; import org.ourproject.kune.platf.server.TestHelper; import org.ourproject.kune.platf.server.access.AccessRights; +import org.ourproject.kune.platf.server.domain.ChatUserParams; import org.ourproject.kune.platf.server.domain.Comment; import org.ourproject.kune.platf.server.domain.Container; import org.ourproject.kune.platf.server.domain.Content; +import org.ourproject.kune.platf.server.domain.CustomProperties; import org.ourproject.kune.platf.server.domain.Group; import org.ourproject.kune.platf.server.domain.GroupList; import org.ourproject.kune.platf.server.domain.GroupListMode; @@ -33,7 +38,9 @@ import org.ourproject.kune.platf.server.domain.User; import org.ourproject.kune.platf.server.manager.GroupManager; import org.ourproject.kune.platf.server.state.State; +import org.ourproject.kune.platf.server.users.UserInfo; +import com.calclab.emite.client.im.roster.RosterManager.SubscriptionMode; import com.google.inject.Inject; public class MapperTest { @@ -42,6 +49,30 @@ @Inject GroupManager groupManager; + @Test + public void customPropertiesInUserInfoMappping() { + final UserInfo userInfo = new UserInfo(); + final ChatUserParams userChatParams = new ChatUserParams("avatar", true, SubscriptionMode.autoAcceptAll, + "color"); + final CustomProperties customProperties = new CustomProperties(); + customProperties.setData(ChatUserParams.class, userChatParams); + userInfo.setCustomProperties(customProperties); + final UserInfoDTO map = mapper.map(userInfo, UserInfoDTO.class); + final ChatUserParamsDTO data = map.getCustomProperties().getData(ChatUserParamsDTO.class); + assertEquals("avatar", data.getAvatar()); + } + + @Test + public void customPropertiesMappping() throws ClassNotFoundException { + final ChatUserParams userChatParams = new ChatUserParams("avatar", true, SubscriptionMode.autoAcceptAll, + "color"); + final CustomProperties customProperties = new CustomProperties(); + customProperties.setData(ChatUserParams.class, userChatParams); + final CustomPropertiesDTO map = mapper.mapProperties(customProperties); + final ChatUserParamsDTO data = map.getData(ChatUserParamsDTO.class); + assertEquals("avatar", data.getAvatar()); + } + @Before public void inject() { TestHelper.inject(this);
participants (1)
-
vjrj