diff --git a/src/main/java/com/commafeed/backend/model/User.java b/src/main/java/com/commafeed/backend/model/User.java index b97d6c7d..93963a3d 100644 --- a/src/main/java/com/commafeed/backend/model/User.java +++ b/src/main/java/com/commafeed/backend/model/User.java @@ -1,13 +1,9 @@ package com.commafeed.backend.model; import java.util.Date; -import java.util.Set; -import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.OneToMany; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; @@ -54,9 +50,6 @@ public class User extends AbstractModel { @Temporal(TemporalType.TIMESTAMP) private Date recoverPasswordTokenDate; - @OneToMany(mappedBy = "user", fetch = FetchType.LAZY, cascade = CascadeType.REMOVE) - private Set subscriptions; - @Column(name = "last_full_refresh") @Temporal(TemporalType.TIMESTAMP) private Date lastFullRefresh; diff --git a/src/main/java/com/commafeed/backend/service/UserService.java b/src/main/java/com/commafeed/backend/service/UserService.java index 66692189..c5601a2f 100644 --- a/src/main/java/com/commafeed/backend/service/UserService.java +++ b/src/main/java/com/commafeed/backend/service/UserService.java @@ -16,6 +16,7 @@ import org.apache.commons.lang3.StringUtils; import com.commafeed.CommaFeedConfiguration; import com.commafeed.backend.dao.FeedCategoryDAO; +import com.commafeed.backend.dao.FeedSubscriptionDAO; import com.commafeed.backend.dao.UserDAO; import com.commafeed.backend.dao.UserRoleDAO; import com.commafeed.backend.dao.UserSettingsDAO; @@ -30,6 +31,7 @@ import com.google.common.base.Preconditions; public class UserService { private final FeedCategoryDAO feedCategoryDAO; + private final FeedSubscriptionDAO feedSubscriptionDAO; private final UserDAO userDAO; private final UserRoleDAO userRoleDAO; private final UserSettingsDAO userSettingsDAO; @@ -127,6 +129,8 @@ public class UserService { public void unregister(User user) { feedCategoryDAO.delete(feedCategoryDAO.findAll(user)); userSettingsDAO.delete(userSettingsDAO.findByUser(user)); + userRoleDAO.delete(userRoleDAO.findAll(user)); + feedSubscriptionDAO.delete(feedSubscriptionDAO.findAll(user)); userDAO.delete(user); } diff --git a/src/test/java/com/commafeed/backend/service/UserServiceTest.java b/src/test/java/com/commafeed/backend/service/UserServiceTest.java index f4088cc4..9e132df1 100644 --- a/src/test/java/com/commafeed/backend/service/UserServiceTest.java +++ b/src/test/java/com/commafeed/backend/service/UserServiceTest.java @@ -18,6 +18,7 @@ import org.mockito.MockitoAnnotations; import com.commafeed.CommaFeedConfiguration; import com.commafeed.backend.dao.FeedCategoryDAO; +import com.commafeed.backend.dao.FeedSubscriptionDAO; import com.commafeed.backend.dao.UserDAO; import com.commafeed.backend.dao.UserRoleDAO; import com.commafeed.backend.dao.UserSettingsDAO; @@ -34,6 +35,8 @@ public class UserServiceTest { @Mock private FeedCategoryDAO feedCategoryDAO; @Mock + private FeedSubscriptionDAO feedSubscriptionDAO; + @Mock private UserDAO userDAO; @Mock private UserSettingsDAO userSettingsDAO; @@ -53,8 +56,8 @@ public class UserServiceTest { public void before_each_test() { MockitoAnnotations.initMocks(this); - userService = new UserService(feedCategoryDAO, userDAO, userRoleDAO, userSettingsDAO, passwordEncryptionService, - commaFeedConfiguration, postLoginActivities); + userService = new UserService(feedCategoryDAO, feedSubscriptionDAO, userDAO, userRoleDAO, userSettingsDAO, + passwordEncryptionService, commaFeedConfiguration, postLoginActivities); disabledUser = new User(); disabledUser.setDisabled(true); diff --git a/src/test/java/com/commafeed/frontend/auth/SecurityCheckFactoryTest.java b/src/test/java/com/commafeed/frontend/auth/SecurityCheckFactoryTest.java index 28c62005..75bfc513 100644 --- a/src/test/java/com/commafeed/frontend/auth/SecurityCheckFactoryTest.java +++ b/src/test/java/com/commafeed/frontend/auth/SecurityCheckFactoryTest.java @@ -24,7 +24,7 @@ public class SecurityCheckFactoryTest { PostLoginActivities postLoginActivities = mock(PostLoginActivities.class); - UserService service = new UserService(null, null, null, null, null, null, postLoginActivities); + UserService service = new UserService(null, null, null, null, null, null, null, postLoginActivities); SecurityCheckFactory factory = new SecurityCheckFactory(null, false); factory.userService = service;