01/01: improve favorite list model
This is an automated email from the git hooks/post-receive script. unknown user pushed a commit to branch devel in repository Pollen. commit 76e2023b2da05c089905b8ace2b1c1036869ab6d Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri May 23 09:05:52 2014 +0200 improve favorite list model --- .../persistence/entity/PollenUserTopiaDao.java | 18 ++++++++++++++++++ pollen-persistence/src/main/xmi/pollen.zargo | Bin 18495 -> 18501 bytes .../services/service/FavoriteListService.java | 19 +++++++++++-------- pom.xml | 2 +- 4 files changed, 30 insertions(+), 9 deletions(-) diff --git a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollenUserTopiaDao.java b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollenUserTopiaDao.java index 580eb43..f1331fa 100644 --- a/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollenUserTopiaDao.java +++ b/pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollenUserTopiaDao.java @@ -23,6 +23,8 @@ package org.chorem.pollen.persistence.entity; * #L% */ +import java.util.List; + /** * @author tchemit <chemit@codelutin.com> * @since 2.0 @@ -38,4 +40,20 @@ public class PollenUserTopiaDao extends AbstractPollenUserTopiaDao<PollenUser> { boolean exists = forEmailEquals(email).exists(); return exists; } + + @Override + public void delete(PollenUser entity) { + + { // --- remove favorite lists --- // + + FavoriteListTopiaDao dao = topiaDaoSupplier + .getDao(FavoriteList.class, FavoriteListTopiaDao.class); + List<FavoriteList> list = dao.forPollenUserEquals(entity).findAll(); + dao.deleteAll(list); + + } + + super.delete(entity); + + } } diff --git a/pollen-persistence/src/main/xmi/pollen.zargo b/pollen-persistence/src/main/xmi/pollen.zargo index c871d76..13a00d2 100644 Binary files a/pollen-persistence/src/main/xmi/pollen.zargo and b/pollen-persistence/src/main/xmi/pollen.zargo differ diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/FavoriteListService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/FavoriteListService.java index 00a28fa..0f940c8 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/FavoriteListService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/FavoriteListService.java @@ -70,7 +70,7 @@ public class FavoriteListService extends PollenServiceSupport { checkIsConnected(); PollenUser user = getConnectedUser(); - List<FavoriteList> favoriteLists = user.getFavoriteList(); + List<FavoriteList> favoriteLists = getFavoriteLists0(user); List<FavoriteListBean> favoriteListBeans = copyAsList(FavoriteListBean.class, favoriteLists); return favoriteListBeans; @@ -97,7 +97,7 @@ public class FavoriteListService extends PollenServiceSupport { PollenUser user = getConnectedUser(); - List<FavoriteList> existingFavoriteLists = new ArrayList<>(user.getFavoriteList()); + List<FavoriteList> existingFavoriteLists = getFavoriteLists0(user); ErrorMap errorMap = checkFavoriteList(existingFavoriteLists, favoriteList); errorMap.failIfNotEmpty(); @@ -120,7 +120,7 @@ public class FavoriteListService extends PollenServiceSupport { PollenUser user = getConnectedUser(); - List<FavoriteList> existingFavoriteLists = new ArrayList<>(user.getFavoriteList()); + List<FavoriteList> existingFavoriteLists = getFavoriteLists0(user); ErrorMap errorMap = checkFavoriteList(existingFavoriteLists, favoriteList); errorMap.failIfNotEmpty(); @@ -143,8 +143,8 @@ public class FavoriteListService extends PollenServiceSupport { PollenUser user = getConnectedUser(); FavoriteList favoriteList = getFavoriteList(user, favoriteListId); + getFavoriteListDao().delete(favoriteList); - user.removeFavoriteList(favoriteList); commit(); getNotificationService().onFavoriteListDeleted(user, favoriteList); @@ -436,13 +436,17 @@ public class FavoriteListService extends PollenServiceSupport { return result; } + protected List<FavoriteList> getFavoriteLists0(PollenUser user) { + return getFavoriteListDao().forPollenUserEquals(user).findAll(); + } + protected FavoriteList getFavoriteList(PollenUser user, String favoriteListId) { FavoriteList result = getFavoriteListDao().findByTopiaId(favoriteListId); - if (!user.containsFavoriteList(result)) { + if (!user.equals(result.getPollenUser())) { - throw new InvalidEntityLinkException(PollenUser.PROPERTY_FAVORITE_LIST, user, result); + throw new InvalidEntityLinkException(FavoriteList.PROPERTY_POLLEN_USER, result, user); } @@ -481,8 +485,7 @@ public class FavoriteListService extends PollenServiceSupport { // create a new favorite list toSave = favoriteListDao.create(); - - user.addFavoriteList(toSave); + toSave.setPollenUser(user); } diff --git a/pom.xml b/pom.xml index 25dc5d0..8d48b76 100644 --- a/pom.xml +++ b/pom.xml @@ -167,7 +167,7 @@ <topiaVersion>3.0-SNAPSHOT</topiaVersion> <nuitonWebVersion>1.16</nuitonWebVersion> - <nuitonUtilsVersion>3.0-rc-2</nuitonUtilsVersion> + <nuitonUtilsVersion>3.0-SNAPSHOT</nuitonUtilsVersion> <nuitonConfigVersion>3.0-alpha-2</nuitonConfigVersion> <nuitonCsvVersion>3.0-alpha-3</nuitonCsvVersion> <nuitonValidatorVersion>3.0-alpha-1</nuitonValidatorVersion> -- To stop receiving notification emails like this one, please contact Chorem.org SCM administrator <admin+scm@chorem.org>.
participants (1)
-
Chorem.org scm