Author: bleny Date: 2014-03-19 17:53:56 +0100 (Wed, 19 Mar 2014) New Revision: 1730 Url: http://forge.codelutin.com/projects/wao/repository/revisions/1730 Log: refs #4560 enable to delete user Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/IllegalDeletionException.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/CompaniesService.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/WaoUsersService.java Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/IllegalDeletionException.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/IllegalDeletionException.java 2014-03-19 15:15:10 UTC (rev 1729) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/IllegalDeletionException.java 2014-03-19 16:53:56 UTC (rev 1730) @@ -3,7 +3,8 @@ import fr.ifremer.wao.WaoException; import org.nuiton.topia.persistence.TopiaEntity; -import java.util.Set; +import java.util.List; +import java.util.Map; /** * L'utilisateur a voulu supprimer une entité mais on doit refuser sa demande car @@ -12,14 +13,14 @@ public class IllegalDeletionException extends WaoException { /** Les types d'entités qui utilisent l'entité qu'on ne peut pas supprimer. */ - protected Set<Class<? extends TopiaEntity>> classes; + private Map<Class<? extends TopiaEntity>, List<? extends TopiaEntity>> allUsages; - public IllegalDeletionException(Set<Class<? extends TopiaEntity>> classes) { - this.classes = classes; + public IllegalDeletionException(Map<Class<? extends TopiaEntity>, List<? extends TopiaEntity>> allUsages) { + this.allUsages = allUsages; } - public Set<Class<? extends TopiaEntity>> getClasses() { - return classes; + public Map<Class<? extends TopiaEntity>, List<? extends TopiaEntity>> getAllUsages() { + return allUsages; } } Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/CompaniesService.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/CompaniesService.java 2014-03-19 15:15:10 UTC (rev 1729) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/CompaniesService.java 2014-03-19 16:53:56 UTC (rev 1730) @@ -68,7 +68,7 @@ if (allUsages.isEmpty()) { dao.delete(company); } else { - throw new IllegalDeletionException(allUsages.keySet()); + throw new IllegalDeletionException(allUsages); } commit(); Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/WaoUsersService.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/WaoUsersService.java 2014-03-19 15:15:10 UTC (rev 1729) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/administration/WaoUsersService.java 2014-03-19 16:53:56 UTC (rev 1730) @@ -193,12 +193,14 @@ WaoUser waoUser = dao.findByTopiaId(waoUserId); + waoUser.setCompany(null); + Map<Class<? extends TopiaEntity>, List<? extends TopiaEntity>> allUsages = dao.findAllUsages(waoUser); if (allUsages.isEmpty()) { dao.delete(waoUser); } else { - throw new IllegalDeletionException(allUsages.keySet()); + throw new IllegalDeletionException(allUsages); } commit();