From 7e105ff7bb26a1192a35183931bcae2c0818d911 Mon Sep 17 00:00:00 2001 From: Athou Date: Sat, 23 Mar 2013 01:49:39 +0100 Subject: [PATCH] add long keys to all entities --- .../backend/dao/FeedEntryService.java | 12 ++++++--- .../commafeed/backend/dao/FeedService.java | 2 +- .../frontend/rest/FeedEntriesREST.java | 2 +- .../com/commafeed/model/AbstractModel.java | 26 +++++++++++++++++++ src/main/java/com/commafeed/model/Feed.java | 5 +--- .../com/commafeed/model/FeedCategory.java | 18 +------------ .../java/com/commafeed/model/FeedEntry.java | 5 +--- .../com/commafeed/model/FeedEntryStatus.java | 19 +------------- .../com/commafeed/model/FeedSubscription.java | 19 +------------- src/main/java/com/commafeed/model/User.java | 19 +------------- .../com/commafeed/model/UserSettings.java | 19 +------------- 11 files changed, 44 insertions(+), 102 deletions(-) create mode 100644 src/main/java/com/commafeed/model/AbstractModel.java diff --git a/src/main/java/com/commafeed/backend/dao/FeedEntryService.java b/src/main/java/com/commafeed/backend/dao/FeedEntryService.java index 12ae41ee..8653f13e 100644 --- a/src/main/java/com/commafeed/backend/dao/FeedEntryService.java +++ b/src/main/java/com/commafeed/backend/dao/FeedEntryService.java @@ -8,20 +8,26 @@ import javax.ejb.Stateless; import javax.inject.Inject; import javax.persistence.TypedQuery; +import com.commafeed.frontend.utils.ModelFactory.MF; import com.commafeed.model.Feed; import com.commafeed.model.FeedEntry; import com.commafeed.model.User; +import com.google.common.collect.Iterables; @Stateless -public class FeedEntryService extends GenericDAO { +public class FeedEntryService extends GenericDAO { @Inject FeedService feedService; public void updateEntries(String url, Collection entries) { - Feed feed = feedService.findById(url); + Feed feed = Iterables.getFirst( + feedService.findByField(MF.i(MF.p(Feed.class).getUrl()), url), + null); for (FeedEntry entry : entries) { - FeedEntry existing = findById(entry.getGuid()); + FeedEntry existing = Iterables.getFirst( + findByField(MF.i(MF.p(getType()).getGuid()), + entry.getGuid()), null); if (existing == null) { entry.setFeed(feed); save(entry); diff --git a/src/main/java/com/commafeed/backend/dao/FeedService.java b/src/main/java/com/commafeed/backend/dao/FeedService.java index 578189b7..b53b7391 100644 --- a/src/main/java/com/commafeed/backend/dao/FeedService.java +++ b/src/main/java/com/commafeed/backend/dao/FeedService.java @@ -5,6 +5,6 @@ import javax.ejb.Stateless; import com.commafeed.model.Feed; @Stateless -public class FeedService extends GenericDAO { +public class FeedService extends GenericDAO { } diff --git a/src/main/java/com/commafeed/frontend/rest/FeedEntriesREST.java b/src/main/java/com/commafeed/frontend/rest/FeedEntriesREST.java index 526cfb6e..a4bf635b 100644 --- a/src/main/java/com/commafeed/frontend/rest/FeedEntriesREST.java +++ b/src/main/java/com/commafeed/frontend/rest/FeedEntriesREST.java @@ -109,7 +109,7 @@ public class FeedEntriesREST extends JSONPage { private Entry buildEntry(FeedEntry feedEntry) { Entry entry = new Entry(); - entry.setId(feedEntry.getGuid()); + entry.setId(String.valueOf(feedEntry.getId())); entry.setTitle(feedEntry.getTitle()); entry.setContent(feedEntry.getContent()); entry.setDate(feedEntry.getUpdated()); diff --git a/src/main/java/com/commafeed/model/AbstractModel.java b/src/main/java/com/commafeed/model/AbstractModel.java new file mode 100644 index 00000000..940056e1 --- /dev/null +++ b/src/main/java/com/commafeed/model/AbstractModel.java @@ -0,0 +1,26 @@ +package com.commafeed.model; + +import java.io.Serializable; + +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.MappedSuperclass; + +@SuppressWarnings("serial") +@MappedSuperclass +public abstract class AbstractModel implements Serializable { + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + private Long id; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + +} diff --git a/src/main/java/com/commafeed/model/Feed.java b/src/main/java/com/commafeed/model/Feed.java index 9aa9dab4..f41c3b33 100644 --- a/src/main/java/com/commafeed/model/Feed.java +++ b/src/main/java/com/commafeed/model/Feed.java @@ -1,13 +1,11 @@ package com.commafeed.model; -import java.io.Serializable; import java.util.Date; import java.util.Set; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; -import javax.persistence.Id; import javax.persistence.OneToMany; import javax.persistence.Table; import javax.persistence.Temporal; @@ -18,9 +16,8 @@ import com.google.common.collect.Sets; @Entity @Table(name = "FEEDS") @SuppressWarnings("serial") -public class Feed implements Serializable { +public class Feed extends AbstractModel { - @Id @Column(length = 2048) private String url; diff --git a/src/main/java/com/commafeed/model/FeedCategory.java b/src/main/java/com/commafeed/model/FeedCategory.java index b680baad..d56b709b 100644 --- a/src/main/java/com/commafeed/model/FeedCategory.java +++ b/src/main/java/com/commafeed/model/FeedCategory.java @@ -1,14 +1,10 @@ package com.commafeed.model; -import java.io.Serializable; import java.util.Set; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.persistence.Table; @@ -18,11 +14,7 @@ import com.google.common.collect.Sets; @Entity @Table(name = "FEEDCATEGORIES") @SuppressWarnings("serial") -public class FeedCategory implements Serializable { - - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - private Long id; +public class FeedCategory extends AbstractModel { @Column(length = 128) private String name; @@ -60,14 +52,6 @@ public class FeedCategory implements Serializable { this.parent = parent; } - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - public Set getSubscriptions() { return subscriptions; } diff --git a/src/main/java/com/commafeed/model/FeedEntry.java b/src/main/java/com/commafeed/model/FeedEntry.java index 9d5e5f5b..3ee102ba 100644 --- a/src/main/java/com/commafeed/model/FeedEntry.java +++ b/src/main/java/com/commafeed/model/FeedEntry.java @@ -1,11 +1,9 @@ package com.commafeed.model; -import java.io.Serializable; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; -import javax.persistence.Id; import javax.persistence.Lob; import javax.persistence.ManyToOne; import javax.persistence.Table; @@ -15,9 +13,8 @@ import javax.persistence.TemporalType; @Entity @Table(name = "FEEDENTRIES") @SuppressWarnings("serial") -public class FeedEntry implements Serializable { +public class FeedEntry extends AbstractModel { - @Id @Column(length = 2048) private String guid; diff --git a/src/main/java/com/commafeed/model/FeedEntryStatus.java b/src/main/java/com/commafeed/model/FeedEntryStatus.java index dd359517..e1d8337d 100644 --- a/src/main/java/com/commafeed/model/FeedEntryStatus.java +++ b/src/main/java/com/commafeed/model/FeedEntryStatus.java @@ -1,23 +1,14 @@ package com.commafeed.model; -import java.io.Serializable; - import javax.persistence.Column; import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; import javax.persistence.ManyToOne; import javax.persistence.Table; @Entity @Table(name = "FEEDENTRYSTATUSES") @SuppressWarnings("serial") -public class FeedEntryStatus implements Serializable { - - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - private Long id; +public class FeedEntryStatus extends AbstractModel { @ManyToOne private User user; @@ -61,12 +52,4 @@ public class FeedEntryStatus implements Serializable { this.starred = starred; } - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - } diff --git a/src/main/java/com/commafeed/model/FeedSubscription.java b/src/main/java/com/commafeed/model/FeedSubscription.java index 9a764d02..59ca5fd7 100644 --- a/src/main/java/com/commafeed/model/FeedSubscription.java +++ b/src/main/java/com/commafeed/model/FeedSubscription.java @@ -1,23 +1,14 @@ package com.commafeed.model; -import java.io.Serializable; - import javax.persistence.Column; import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; import javax.persistence.ManyToOne; import javax.persistence.Table; @Entity @Table(name = "FEEDSUBSCRIPTIONS") @SuppressWarnings("serial") -public class FeedSubscription implements Serializable { - - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - private Long id; +public class FeedSubscription extends AbstractModel { @ManyToOne private User user; @@ -63,12 +54,4 @@ public class FeedSubscription implements Serializable { this.category = category; } - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - } diff --git a/src/main/java/com/commafeed/model/User.java b/src/main/java/com/commafeed/model/User.java index 79591090..2f31b03d 100644 --- a/src/main/java/com/commafeed/model/User.java +++ b/src/main/java/com/commafeed/model/User.java @@ -1,22 +1,13 @@ package com.commafeed.model; -import java.io.Serializable; - import javax.persistence.Column; import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name = "USERS") @SuppressWarnings("serial") -public class User implements Serializable { - - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - private Long id; +public class User extends AbstractModel { @Column(length = 32) private String name; @@ -43,14 +34,6 @@ public class User implements Serializable { this.password = password; } - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - public byte[] getSalt() { return salt; } diff --git a/src/main/java/com/commafeed/model/UserSettings.java b/src/main/java/com/commafeed/model/UserSettings.java index 68ef813f..da4b9a68 100644 --- a/src/main/java/com/commafeed/model/UserSettings.java +++ b/src/main/java/com/commafeed/model/UserSettings.java @@ -1,29 +1,20 @@ package com.commafeed.model; -import java.io.Serializable; - import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name = "USERSETTINGS") @SuppressWarnings("serial") -public class UserSettings implements Serializable { +public class UserSettings extends AbstractModel { public enum ReadingMode { ALL, UNREAD } - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - private Long id; - @Column(name = "user_id") private User user; @@ -38,14 +29,6 @@ public class UserSettings implements Serializable { this.readingMode = readingMode; } - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - public User getUser() { return user; }