diff --git a/src/main/java/com/commafeed/backend/model/User.java b/src/main/java/com/commafeed/backend/model/User.java index d914a5a0..5be4e350 100644 --- a/src/main/java/com/commafeed/backend/model/User.java +++ b/src/main/java/com/commafeed/backend/model/User.java @@ -6,6 +6,8 @@ import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; +import javax.persistence.FetchType; +import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.persistence.Table; import javax.persistence.Temporal; @@ -45,9 +47,13 @@ public class User extends AbstractModel { @Temporal(TemporalType.TIMESTAMP) private Date recoverPasswordTokenDate; - @OneToMany(mappedBy = "user", cascade = CascadeType.PERSIST) + @OneToMany(mappedBy = "user", cascade = { CascadeType.PERSIST, + CascadeType.REMOVE }) private Set roles = Sets.newHashSet(); + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.REMOVE) + private Set subscriptions; + public String getName() { return name; } @@ -128,4 +134,12 @@ public class User extends AbstractModel { this.recoverPasswordTokenDate = recoverPasswordTokenDate; } + public Set getSubscriptions() { + return subscriptions; + } + + public void setSubscriptions(Set subscriptions) { + this.subscriptions = subscriptions; + } + } diff --git a/src/main/java/com/commafeed/backend/services/UserService.java b/src/main/java/com/commafeed/backend/services/UserService.java index b0548d9e..21e1b1a1 100644 --- a/src/main/java/com/commafeed/backend/services/UserService.java +++ b/src/main/java/com/commafeed/backend/services/UserService.java @@ -11,14 +11,11 @@ import org.apache.commons.codec.digest.DigestUtils; import com.commafeed.backend.dao.FeedCategoryDAO; import com.commafeed.backend.dao.FeedEntryStatusDAO; -import com.commafeed.backend.dao.FeedSubscriptionDAO; import com.commafeed.backend.dao.UserDAO; -import com.commafeed.backend.dao.UserRoleDAO; import com.commafeed.backend.dao.UserSettingsDAO; import com.commafeed.backend.model.User; import com.commafeed.backend.model.UserRole; import com.commafeed.backend.model.UserRole.Role; -import com.commafeed.backend.model.UserSettings.ReadingOrder; import com.google.common.base.Preconditions; @Stateless @@ -30,18 +27,12 @@ public class UserService { @Inject FeedEntryStatusDAO feedEntryStatusDAO; - @Inject - FeedSubscriptionDAO feedSubscriptionDAO; - @Inject FeedCategoryDAO feedCategoryDAO; @Inject UserSettingsDAO userSettingsDAO; - @Inject - UserRoleDAO userRoleDAO; - @Inject PasswordEncryptionService encryptionService; @@ -90,12 +81,8 @@ public class UserService { } public void unregister(User user) { - feedEntryStatusDAO.delete(feedEntryStatusDAO.findAll(user, false, - ReadingOrder.desc, false)); - feedSubscriptionDAO.delete(feedSubscriptionDAO.findAll(user)); feedCategoryDAO.delete(feedCategoryDAO.findAll(user)); userSettingsDAO.delete(userSettingsDAO.findByUser(user)); - userRoleDAO.delete(userRoleDAO.findAll(user)); userDAO.delete(user); }