Commit 833e48c8 authored by Liang Ding's avatar Liang Ding

🐛 Fix #12207

parent f0e02a93
...@@ -15,9 +15,6 @@ ...@@ -15,9 +15,6 @@
*/ */
package org.b3log.solo.api.symphony; package org.b3log.solo.api.symphony;
import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.b3log.latke.Keys; import org.b3log.latke.Keys;
import org.b3log.latke.logging.Level; import org.b3log.latke.logging.Level;
import org.b3log.latke.logging.Logger; import org.b3log.latke.logging.Logger;
...@@ -42,11 +39,15 @@ import org.json.JSONObject; ...@@ -42,11 +39,15 @@ import org.json.JSONObject;
import org.jsoup.Jsoup; import org.jsoup.Jsoup;
import org.jsoup.safety.Whitelist; import org.jsoup.safety.Whitelist;
import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/** /**
* Article receiver (from B3log Symphony). * Article receiver (from B3log Symphony).
* *
* @author <a href="http://88250.b3log.org">Liang Ding</a> * @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.0.2.7, Nov 8, 2016 * @version 1.0.3.7, Jan 15, 2017
* @since 0.5.5 * @since 0.5.5
*/ */
@RequestProcessor @RequestProcessor
...@@ -56,39 +57,33 @@ public class ArticleReceiver { ...@@ -56,39 +57,33 @@ public class ArticleReceiver {
* Logger. * Logger.
*/ */
private static final Logger LOGGER = Logger.getLogger(ArticleReceiver.class.getName()); private static final Logger LOGGER = Logger.getLogger(ArticleReceiver.class.getName());
/**
* Article abstract length.
*/
private static final int ARTICLE_ABSTRACT_LENGTH = 500;
/** /**
* Preference query service. * Preference query service.
*/ */
@Inject @Inject
private PreferenceQueryService preferenceQueryService; private PreferenceQueryService preferenceQueryService;
/** /**
* Article management service. * Article management service.
*/ */
@Inject @Inject
private ArticleMgmtService articleMgmtService; private ArticleMgmtService articleMgmtService;
/** /**
* Article query service. * Article query service.
*/ */
@Inject @Inject
private ArticleQueryService articleQueryService; private ArticleQueryService articleQueryService;
/** /**
* User query service. * User query service.
*/ */
@Inject @Inject
private UserQueryService userQueryService; private UserQueryService userQueryService;
/**
* Article abstract length.
*/
private static final int ARTICLE_ABSTRACT_LENGTH = 500;
/** /**
* Adds an article with the specified request. * Adds an article with the specified request.
*
* <p> * <p>
* Renders the response with a json object, for example, * Renders the response with a json object, for example,
* <pre> * <pre>
...@@ -100,8 +95,7 @@ public class ArticleReceiver { ...@@ -100,8 +95,7 @@ public class ArticleReceiver {
* </pre> * </pre>
* </p> * </p>
* *
* @param request the specified http servlet request, for example, <pre> * @param request the specified http servlet request, for example,
* {
* "article": { * "article": {
* "oId": "", * "oId": "",
* "articleTitle": "", * "articleTitle": "",
...@@ -110,9 +104,6 @@ public class ArticleReceiver { ...@@ -110,9 +104,6 @@ public class ArticleReceiver {
* "userB3Key": "", * "userB3Key": "",
* "articleEditorType": "" * "articleEditorType": ""
* } * }
* }
* </pre>
*
* @param response the specified http servlet response * @param response the specified http servlet response
* @param context the specified http request context * @param context the specified http request context
* @throws Exception exception * @throws Exception exception
...@@ -179,7 +170,6 @@ public class ArticleReceiver { ...@@ -179,7 +170,6 @@ public class ArticleReceiver {
/** /**
* Updates an article with the specified request. * Updates an article with the specified request.
*
* <p> * <p>
* Renders the response with a json object, for example, * Renders the response with a json object, for example,
* <pre> * <pre>
...@@ -190,8 +180,7 @@ public class ArticleReceiver { ...@@ -190,8 +180,7 @@ public class ArticleReceiver {
* </pre> * </pre>
* </p> * </p>
* *
* @param request the specified http servlet request, for example, <pre> * @param request the specified http servlet request, for example,
* {
* "article": { * "article": {
* "oId": "", // Symphony Article#clientArticleId * "oId": "", // Symphony Article#clientArticleId
* "articleTitle": "", * "articleTitle": "",
...@@ -200,9 +189,6 @@ public class ArticleReceiver { ...@@ -200,9 +189,6 @@ public class ArticleReceiver {
* "userB3Key": "", * "userB3Key": "",
* "articleEditorType": "" * "articleEditorType": ""
* } * }
* }
* </pre>
*
* @param response the specified http servlet response * @param response the specified http servlet response
* @param context the specified http request context * @param context the specified http request context
* @throws Exception exception * @throws Exception exception
...@@ -240,8 +226,8 @@ public class ArticleReceiver { ...@@ -240,8 +226,8 @@ public class ArticleReceiver {
return; return;
} }
final String plainTextContent = Jsoup.parse(article.optString(Article.ARTICLE_CONTENT)).text(); final String articleContent = article.optString(Article.ARTICLE_CONTENT);
final String plainTextContent = Jsoup.clean(Markdowns.toHTML(articleContent), Whitelist.none());
if (plainTextContent.length() > ARTICLE_ABSTRACT_LENGTH) { if (plainTextContent.length() > ARTICLE_ABSTRACT_LENGTH) {
article.put(Article.ARTICLE_ABSTRACT, plainTextContent.substring(0, ARTICLE_ABSTRACT_LENGTH) + "...."); article.put(Article.ARTICLE_ABSTRACT, plainTextContent.substring(0, ARTICLE_ABSTRACT_LENGTH) + "....");
} else { } else {
......
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