Commit 2c45639a authored by D's avatar D Committed by GitHub

Merge pull request #12177 from feroozkhanchintu/master

Refactored Long Method
parents 4860c78c 9ddeedc3
...@@ -159,43 +159,8 @@ public class FeedProcessor { ...@@ -159,43 +159,8 @@ public class FeedProcessor {
final boolean isFullContent = "fullContent".equals(preference.getString(Option.ID_C_FEED_OUTPUT_MODE)); final boolean isFullContent = "fullContent".equals(preference.getString(Option.ID_C_FEED_OUTPUT_MODE));
for (int i = 0; i < articles.length(); i++) { for (int i = 0; i < articles.length(); i++) {
final JSONObject article = articles.getJSONObject(i); Entry entry = getEntry(hasMultipleUsers, authorName, articles, isFullContent, i);
final Entry entry = new Entry();
feed.addEntry(entry); feed.addEntry(entry);
final String title = StringEscapeUtils.escapeXml(article.getString(Article.ARTICLE_TITLE));
entry.setTitle(title);
final String summary = isFullContent
? StringEscapeUtils.escapeXml(article.getString(Article.ARTICLE_CONTENT))
: StringEscapeUtils.escapeXml(article.optString(Article.ARTICLE_ABSTRACT));
entry.setSummary(summary);
final Date updated = (Date) article.get(Article.ARTICLE_UPDATE_DATE);
entry.setUpdated(updated);
final String link = Latkes.getServePath() + article.getString(Article.ARTICLE_PERMALINK);
entry.setLink(link);
entry.setId(link);
if (hasMultipleUsers) {
authorName = StringEscapeUtils.escapeXml(articleQueryService.getAuthor(article).getString(User.USER_NAME));
}
entry.setAuthor(authorName);
final String tagsString = article.getString(Article.ARTICLE_TAGS_REF);
final String[] tagStrings = tagsString.split(",");
for (int j = 0; j < tagStrings.length; j++) {
final Category catetory = new Category();
entry.addCatetory(catetory);
final String tag = tagStrings[j];
catetory.setTerm(tag);
}
} }
renderer.setContent(feed.toString()); renderer.setContent(feed.toString());
...@@ -210,6 +175,36 @@ public class FeedProcessor { ...@@ -210,6 +175,36 @@ public class FeedProcessor {
} }
} }
private Entry getEntry(final boolean hasMultipleUsers, String authorName, final JSONArray articles,
final boolean isFullContent, int i)
throws org.json.JSONException, org.b3log.latke.service.ServiceException {
final JSONObject article = articles.getJSONObject(i);
final Entry entry = new Entry();
final String title = StringEscapeUtils.escapeXml(article.getString(Article.ARTICLE_TITLE));
entry.setTitle(title);
final String summary = isFullContent ? StringEscapeUtils.escapeXml(article.getString(Article.ARTICLE_CONTENT))
: StringEscapeUtils.escapeXml(article.optString(Article.ARTICLE_ABSTRACT));
entry.setSummary(summary);
final Date updated = (Date) article.get(Article.ARTICLE_UPDATE_DATE);
entry.setUpdated(updated);
final String link = Latkes.getServePath() + article.getString(Article.ARTICLE_PERMALINK);
entry.setLink(link);
entry.setId(link);
if (hasMultipleUsers) {
authorName = StringEscapeUtils.escapeXml(articleQueryService.getAuthor(article).getString(User.USER_NAME));
}
entry.setAuthor(authorName);
final String tagsString = article.getString(Article.ARTICLE_TAGS_REF);
final String[] tagStrings = tagsString.split(",");
for (int j = 0; j < tagStrings.length; j++) {
final Category catetory = new Category();
entry.addCatetory(catetory);
final String tag = tagStrings[j];
catetory.setTerm(tag);
}
return entry;
}
/** /**
* Tag articles Atom output. * Tag articles Atom output.
* *
...@@ -296,41 +291,8 @@ public class FeedProcessor { ...@@ -296,41 +291,8 @@ public class FeedProcessor {
final boolean isFullContent = "fullContent".equals(preference.getString(Option.ID_C_FEED_OUTPUT_MODE)); final boolean isFullContent = "fullContent".equals(preference.getString(Option.ID_C_FEED_OUTPUT_MODE));
for (int i = 0; i < articles.size(); i++) { for (int i = 0; i < articles.size(); i++) {
final JSONObject article = articles.get(i); Entry entry = getEntryForArticle(articles, hasMultipleUsers, authorName, isFullContent, i);
final Entry entry = new Entry();
feed.addEntry(entry); feed.addEntry(entry);
final String title = StringEscapeUtils.escapeXml(article.getString(Article.ARTICLE_TITLE));
entry.setTitle(title);
final String summary = isFullContent
? StringEscapeUtils.escapeXml(article.getString(Article.ARTICLE_CONTENT))
: StringEscapeUtils.escapeXml(article.optString(Article.ARTICLE_ABSTRACT));
entry.setSummary(summary);
final Date updated = (Date) article.get(Article.ARTICLE_UPDATE_DATE);
entry.setUpdated(updated);
final String link = Latkes.getServePath() + article.getString(Article.ARTICLE_PERMALINK);
entry.setLink(link);
entry.setId(link);
if (hasMultipleUsers) {
authorName = StringEscapeUtils.escapeXml(articleQueryService.getAuthor(article).getString(User.USER_NAME));
}
entry.setAuthor(authorName);
final String tagsString = article.getString(Article.ARTICLE_TAGS_REF);
final String[] tagStrings = tagsString.split(",");
for (int j = 0; j < tagStrings.length; j++) {
final Category catetory = new Category();
entry.addCatetory(catetory);
catetory.setTerm(tagStrings[j]);
}
} }
renderer.setContent(feed.toString()); renderer.setContent(feed.toString());
...@@ -345,6 +307,35 @@ public class FeedProcessor { ...@@ -345,6 +307,35 @@ public class FeedProcessor {
} }
} }
private Entry getEntryForArticle(final List<JSONObject> articles, final boolean hasMultipleUsers, String authorName,
final boolean isFullContent, int i)
throws org.json.JSONException, org.b3log.latke.service.ServiceException {
final JSONObject article = articles.get(i);
final Entry entry = new Entry();
final String title = StringEscapeUtils.escapeXml(article.getString(Article.ARTICLE_TITLE));
entry.setTitle(title);
final String summary = isFullContent ? StringEscapeUtils.escapeXml(article.getString(Article.ARTICLE_CONTENT))
: StringEscapeUtils.escapeXml(article.optString(Article.ARTICLE_ABSTRACT));
entry.setSummary(summary);
final Date updated = (Date) article.get(Article.ARTICLE_UPDATE_DATE);
entry.setUpdated(updated);
final String link = Latkes.getServePath() + article.getString(Article.ARTICLE_PERMALINK);
entry.setLink(link);
entry.setId(link);
if (hasMultipleUsers) {
authorName = StringEscapeUtils.escapeXml(articleQueryService.getAuthor(article).getString(User.USER_NAME));
}
entry.setAuthor(authorName);
final String tagsString = article.getString(Article.ARTICLE_TAGS_REF);
final String[] tagStrings = tagsString.split(",");
for (int j = 0; j < tagStrings.length; j++) {
final Category catetory = new Category();
entry.addCatetory(catetory);
catetory.setTerm(tagStrings[j]);
}
return entry;
}
/** /**
* Blog articles RSS output. * Blog articles RSS output.
* *
...@@ -403,45 +394,8 @@ public class FeedProcessor { ...@@ -403,45 +394,8 @@ public class FeedProcessor {
final boolean isFullContent = "fullContent".equals(preference.getString(Option.ID_C_FEED_OUTPUT_MODE)); final boolean isFullContent = "fullContent".equals(preference.getString(Option.ID_C_FEED_OUTPUT_MODE));
for (int i = 0; i < articles.length(); i++) { for (int i = 0; i < articles.length(); i++) {
final JSONObject article = articles.getJSONObject(i); Item item = getItem(articles, hasMultipleUsers, authorName, isFullContent, i);
final Item item = new Item();
channel.addItem(item); channel.addItem(item);
final String title = StringEscapeUtils.escapeXml(article.getString(Article.ARTICLE_TITLE));
item.setTitle(title);
final String description = isFullContent
? StringEscapeUtils.escapeXml(article.getString(Article.ARTICLE_CONTENT))
: StringEscapeUtils.escapeXml(article.optString(Article.ARTICLE_ABSTRACT));
item.setDescription(description);
final Date pubDate = (Date) article.get(Article.ARTICLE_UPDATE_DATE);
item.setPubDate(pubDate);
final String link = Latkes.getServePath() + article.getString(Article.ARTICLE_PERMALINK);
item.setLink(link);
item.setGUID(link);
final String authorEmail = article.getString(Article.ARTICLE_AUTHOR_EMAIL);
if (hasMultipleUsers) {
authorName = StringEscapeUtils.escapeXml(articleQueryService.getAuthor(article).getString(User.USER_NAME));
}
item.setAuthor(authorEmail + "(" + authorName + ")");
final String tagsString = article.getString(Article.ARTICLE_TAGS_REF);
final String[] tagStrings = tagsString.split(",");
for (int j = 0; j < tagStrings.length; j++) {
final org.b3log.solo.model.feed.rss.Category catetory = new org.b3log.solo.model.feed.rss.Category();
item.addCatetory(catetory);
final String tag = tagStrings[j];
catetory.setTerm(tag);
}
} }
renderer.setContent(channel.toString()); renderer.setContent(channel.toString());
...@@ -456,6 +410,38 @@ public class FeedProcessor { ...@@ -456,6 +410,38 @@ public class FeedProcessor {
} }
} }
private Item getItem(final JSONArray articles, final boolean hasMultipleUsers, String authorName,
final boolean isFullContent, int i)
throws org.json.JSONException, org.b3log.latke.service.ServiceException {
final JSONObject article = articles.getJSONObject(i);
final Item item = new Item();
final String title = StringEscapeUtils.escapeXml(article.getString(Article.ARTICLE_TITLE));
item.setTitle(title);
final String description = isFullContent
? StringEscapeUtils.escapeXml(article.getString(Article.ARTICLE_CONTENT))
: StringEscapeUtils.escapeXml(article.optString(Article.ARTICLE_ABSTRACT));
item.setDescription(description);
final Date pubDate = (Date) article.get(Article.ARTICLE_UPDATE_DATE);
item.setPubDate(pubDate);
final String link = Latkes.getServePath() + article.getString(Article.ARTICLE_PERMALINK);
item.setLink(link);
item.setGUID(link);
final String authorEmail = article.getString(Article.ARTICLE_AUTHOR_EMAIL);
if (hasMultipleUsers) {
authorName = StringEscapeUtils.escapeXml(articleQueryService.getAuthor(article).getString(User.USER_NAME));
}
item.setAuthor(authorEmail + "(" + authorName + ")");
final String tagsString = article.getString(Article.ARTICLE_TAGS_REF);
final String[] tagStrings = tagsString.split(",");
for (int j = 0; j < tagStrings.length; j++) {
final org.b3log.solo.model.feed.rss.Category catetory = new org.b3log.solo.model.feed.rss.Category();
item.addCatetory(catetory);
final String tag = tagStrings[j];
catetory.setTerm(tag);
}
return item;
}
/** /**
* Tag articles RSS output. * Tag articles RSS output.
* *
...@@ -547,43 +533,8 @@ public class FeedProcessor { ...@@ -547,43 +533,8 @@ public class FeedProcessor {
final boolean isFullContent = "fullContent".equals(preference.getString(Option.ID_C_FEED_OUTPUT_MODE)); final boolean isFullContent = "fullContent".equals(preference.getString(Option.ID_C_FEED_OUTPUT_MODE));
for (int i = 0; i < articles.size(); i++) { for (int i = 0; i < articles.size(); i++) {
final JSONObject article = articles.get(i); Item item = getItemForArticles(articles, hasMultipleUsers, authorName, isFullContent, i);
final Item item = new Item();
channel.addItem(item); channel.addItem(item);
final String title = StringEscapeUtils.escapeXml(article.getString(Article.ARTICLE_TITLE));
item.setTitle(title);
final String description = isFullContent
? StringEscapeUtils.escapeXml(article.getString(Article.ARTICLE_CONTENT))
: StringEscapeUtils.escapeXml(article.optString(Article.ARTICLE_ABSTRACT));
item.setDescription(description);
final Date pubDate = (Date) article.get(Article.ARTICLE_UPDATE_DATE);
item.setPubDate(pubDate);
final String link = Latkes.getServePath() + article.getString(Article.ARTICLE_PERMALINK);
item.setLink(link);
item.setGUID(link);
final String authorEmail = article.getString(Article.ARTICLE_AUTHOR_EMAIL);
if (hasMultipleUsers) {
authorName = StringEscapeUtils.escapeXml(articleQueryService.getAuthor(article).getString(User.USER_NAME));
}
item.setAuthor(authorEmail + "(" + authorName + ")");
final String tagsString = article.getString(Article.ARTICLE_TAGS_REF);
final String[] tagStrings = tagsString.split(",");
for (int j = 0; j < tagStrings.length; j++) {
final org.b3log.solo.model.feed.rss.Category catetory = new org.b3log.solo.model.feed.rss.Category();
item.addCatetory(catetory);
catetory.setTerm(tagStrings[j]);
}
} }
renderer.setContent(channel.toString()); renderer.setContent(channel.toString());
...@@ -597,4 +548,35 @@ public class FeedProcessor { ...@@ -597,4 +548,35 @@ public class FeedProcessor {
} }
} }
} }
private Item getItemForArticles(final List<JSONObject> articles, final boolean hasMultipleUsers, String authorName,
final boolean isFullContent, int i)
throws org.json.JSONException, org.b3log.latke.service.ServiceException {
final JSONObject article = articles.get(i);
final Item item = new Item();
final String title = StringEscapeUtils.escapeXml(article.getString(Article.ARTICLE_TITLE));
item.setTitle(title);
final String description = isFullContent
? StringEscapeUtils.escapeXml(article.getString(Article.ARTICLE_CONTENT))
: StringEscapeUtils.escapeXml(article.optString(Article.ARTICLE_ABSTRACT));
item.setDescription(description);
final Date pubDate = (Date) article.get(Article.ARTICLE_UPDATE_DATE);
item.setPubDate(pubDate);
final String link = Latkes.getServePath() + article.getString(Article.ARTICLE_PERMALINK);
item.setLink(link);
item.setGUID(link);
final String authorEmail = article.getString(Article.ARTICLE_AUTHOR_EMAIL);
if (hasMultipleUsers) {
authorName = StringEscapeUtils.escapeXml(articleQueryService.getAuthor(article).getString(User.USER_NAME));
}
item.setAuthor(authorEmail + "(" + authorName + ")");
final String tagsString = article.getString(Article.ARTICLE_TAGS_REF);
final String[] tagStrings = tagsString.split(",");
for (int j = 0; j < tagStrings.length; j++) {
final org.b3log.solo.model.feed.rss.Category catetory = new org.b3log.solo.model.feed.rss.Category();
item.addCatetory(catetory);
catetory.setTerm(tagStrings[j]);
}
return item;
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment