From f59198e018b07b1ad37c3f041a98395715586439 Mon Sep 17 00:00:00 2001 From: Athou Date: Sun, 19 May 2013 06:47:37 +0200 Subject: [PATCH] persist entry author --- .../java/com/commafeed/backend/feeds/FeedParser.java | 1 + .../java/com/commafeed/backend/model/FeedEntry.java | 11 +++++++++++ .../backend/services/FeedUpdateService.java | 5 +++++ .../java/com/commafeed/frontend/model/Entry.java | 12 ++++++++++++ 4 files changed, 29 insertions(+) diff --git a/src/main/java/com/commafeed/backend/feeds/FeedParser.java b/src/main/java/com/commafeed/backend/feeds/FeedParser.java index 8fb04cbf..60d57904 100644 --- a/src/main/java/com/commafeed/backend/feeds/FeedParser.java +++ b/src/main/java/com/commafeed/backend/feeds/FeedParser.java @@ -60,6 +60,7 @@ public class FeedParser { entry.setGuidHash(DigestUtils.sha1Hex(item.getUri())); entry.setUrl(item.getLink()); entry.setUpdated(validateDate(getUpdateDate(item))); + entry.setAuthor(item.getAuthor()); FeedEntryContent content = new FeedEntryContent(); content.setContent(getContent(item)); diff --git a/src/main/java/com/commafeed/backend/model/FeedEntry.java b/src/main/java/com/commafeed/backend/model/FeedEntry.java index abc6f1cd..c5f34221 100644 --- a/src/main/java/com/commafeed/backend/model/FeedEntry.java +++ b/src/main/java/com/commafeed/backend/model/FeedEntry.java @@ -43,6 +43,9 @@ public class FeedEntry extends AbstractModel { @Column(length = 2048) private String url; + @Column(length = 128) + private String author; + @Temporal(TemporalType.TIMESTAMP) @Index(name = "inserted_index") private Date inserted; @@ -118,4 +121,12 @@ public class FeedEntry extends AbstractModel { this.guidHash = guidHash; } + public String getAuthor() { + return author; + } + + public void setAuthor(String author) { + this.author = author; + } + } diff --git a/src/main/java/com/commafeed/backend/services/FeedUpdateService.java b/src/main/java/com/commafeed/backend/services/FeedUpdateService.java index 97151ccf..bed7fd79 100644 --- a/src/main/java/com/commafeed/backend/services/FeedUpdateService.java +++ b/src/main/java/com/commafeed/backend/services/FeedUpdateService.java @@ -65,6 +65,11 @@ public class FeedUpdateService { content.setTitle(title.substring(0, Math.min(2048, title.length()))); } + String author = entry.getAuthor(); + if (author != null) { + entry.setAuthor(author.substring(0, + Math.min(128, author.length()))); + } entry.setInserted(Calendar.getInstance().getTime()); entry.getFeeds().add(feed); diff --git a/src/main/java/com/commafeed/frontend/model/Entry.java b/src/main/java/com/commafeed/frontend/model/Entry.java index 519d3c86..397cb7d8 100644 --- a/src/main/java/com/commafeed/frontend/model/Entry.java +++ b/src/main/java/com/commafeed/frontend/model/Entry.java @@ -30,6 +30,7 @@ public class Entry implements Serializable { entry.setGuid(feedEntry.getGuid()); entry.setTitle(feedEntry.getContent().getTitle()); entry.setContent(feedEntry.getContent().getContent()); + entry.setAuthor(feedEntry.getAuthor()); entry.setEnclosureUrl(status.getEntry().getContent().getEnclosureUrl()); entry.setEnclosureType(status.getEntry().getContent() .getEnclosureType()); @@ -73,6 +74,9 @@ public class Entry implements Serializable { @ApiProperty("entry content") private String content; + @ApiProperty("entry author") + private String author; + @ApiProperty("entry enclosure url, if any") private String enclosureUrl; @@ -215,4 +219,12 @@ public class Entry implements Serializable { this.feedLink = feedLink; } + public String getAuthor() { + return author; + } + + public void setAuthor(String author) { + this.author = author; + } + }