Commit 20442f39 authored by Liang Ding's avatar Liang Ding

#268

改造了一个点,底层依赖是 ArchiveDateArticleRepositoryImpl
parent 5418521c
......@@ -19,6 +19,7 @@ package org.b3log.solo.api.metaweblog;
import java.text.ParseException;
import java.util.Date;
import java.util.List;
import javax.inject.Inject;
import javax.servlet.ServletInputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
......@@ -98,12 +99,14 @@ public final class MetaWeblogAPI {
/**
* Article query service.
*/
private ArticleQueryService articleQueryService = ArticleQueryService.getInstance();
@Inject
private ArticleQueryService articleQueryService;
/**
* Article management service.
*/
private ArticleMgmtService articleMgmtService = ArticleMgmtService.getInstance();
@Inject
private ArticleMgmtService articleMgmtService;
/**
* Article repository.
......
......@@ -16,6 +16,7 @@
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;
......@@ -64,12 +65,14 @@ public final class ArticleReceiver {
/**
* Article management service.
*/
private ArticleMgmtService articleMgmtService = ArticleMgmtService.getInstance();
@Inject
private ArticleMgmtService articleMgmtService;
/**
* Article query service.
*/
private ArticleQueryService articleQueryService = ArticleQueryService.getInstance();
@Inject
private ArticleQueryService articleQueryService;
/**
* Article abstract length.
......
......@@ -18,6 +18,7 @@ package org.b3log.solo.dev;
import java.io.IOException;
import java.util.Date;
import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.time.DateUtils;
......@@ -51,6 +52,12 @@ public final class ArticleGenerator {
* Logger.
*/
private static final Logger LOGGER = Logger.getLogger(ArticleGenerator.class.getName());
/**
* Article management service.
*/
@Inject
private ArticleMgmtService articleMgmtService;
/**
* Generates some dummy articles with the specified context.
......@@ -77,7 +84,6 @@ public final class ArticleGenerator {
final int num = Integer.valueOf(requestURI.substring((Latkes.getContextPath() + "/dev/articles/gen/").length()));
try {
final ArticleMgmtService articleMgmtService = ArticleMgmtService.getInstance();
final UserQueryService userQueryService = UserQueryService.getInstance();
final JSONObject admin = userQueryService.getAdmin();
final String authorEmail = admin.optString(User.USER_EMAIL);
......
......@@ -20,6 +20,7 @@ import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.*;
import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
......@@ -82,7 +83,8 @@ public final class ArticleProcessor {
/**
* Article query service.
*/
private ArticleQueryService articleQueryService = ArticleQueryService.getInstance();
@Inject
private ArticleQueryService articleQueryService;
/**
* Tag query service.
......@@ -97,7 +99,8 @@ public final class ArticleProcessor {
/**
* Filler.
*/
private Filler filler = Filler.getInstance();
@Inject
private Filler filler;
/**
* Language service.
......@@ -123,6 +126,12 @@ public final class ArticleProcessor {
* User query service.
*/
private UserQueryService userQueryService = UserQueryService.getInstance();
/**
* Article management service.
*/
@Inject
private ArticleMgmtService articleMgmtService;
/**
* Shows the article view password form.
......@@ -949,7 +958,7 @@ public final class ArticleProcessor {
dataModel);
if (!Requests.hasBeenServed(request, response)) {
ArticleMgmtService.getInstance().incViewCount(articleId);
articleMgmtService.incViewCount(articleId);
}
} catch (final Exception e) {
LOGGER.log(Level.ERROR, e.getMessage(), e);
......
......@@ -19,6 +19,7 @@ package org.b3log.solo.processor;
import java.io.File;
import java.io.IOException;
import java.util.Map;
import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
......@@ -57,7 +58,8 @@ public final class ErrorProcessor {
/**
* Filler.
*/
private Filler filler = Filler.getInstance();
@Inject
private Filler filler;
/**
* Preference query service.
......
......@@ -21,6 +21,7 @@ import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Map;
import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
......@@ -70,7 +71,8 @@ public final class IndexProcessor {
/**
* Filler.
*/
private Filler filler = Filler.getInstance();
@Inject
private Filler filler;
/**
* Preference query service.
......@@ -171,7 +173,7 @@ public final class IndexProcessor {
Keys.fillServer(dataModel);
Keys.fillRuntime(dataModel);
filler.fillMinified(dataModel);
dataModel.put(Keys.PAGE_TYPE, PageTypes.KILL_BROWSER);
request.setAttribute(PageCaches.CACHED_OID, "No id");
......
......@@ -19,6 +19,7 @@ package org.b3log.solo.processor;
import java.util.Calendar;
import java.util.Locale;
import java.util.Map;
import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.b3log.latke.Keys;
......@@ -65,12 +66,14 @@ public final class InitProcessor {
/**
* Initialization service.
*/
private InitService initService = InitService.getInstance();
@Inject
private InitService initService;
/**
* Filler.
*/
private Filler filler = Filler.getInstance();
@Inject
private Filler filler;
/**
* Language service.
......
......@@ -19,6 +19,7 @@ package org.b3log.solo.processor;
import java.io.IOException;
import java.util.Calendar;
import java.util.Map;
import javax.inject.Inject;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
......@@ -103,7 +104,8 @@ public final class LoginProcessor {
/**
* Filler.
*/
private Filler filler = Filler.getInstance();
@Inject
private Filler filler;
/**
* Preference query service.
......@@ -375,7 +377,8 @@ public final class LoginProcessor {
* @throws ServiceException the ServiceException
* @throws IOException the IOException
*/
private void sendRandomPwd(final JSONObject user, final String userEmail, final JSONObject jsonObject) throws JSONException, ServiceException, IOException {
private void sendRandomPwd(final JSONObject user, final String userEmail, final JSONObject jsonObject) throws JSONException,
ServiceException, IOException {
final JSONObject preference = preferenceQueryService.getPreference();
final String randomPwd = new Randoms().nextString();
final String blogTitle = preference.getString(Preference.BLOG_TITLE);
......@@ -411,7 +414,8 @@ public final class LoginProcessor {
* @throws JSONException the JSONException
* @throws ServiceException the ServiceException
*/
private void renderPage(final HTTPRequestContext context, final String pageTemplate, final String destinationURL) throws JSONException, ServiceException {
private void renderPage(final HTTPRequestContext context, final String pageTemplate, final String destinationURL) throws JSONException,
ServiceException {
final AbstractFreeMarkerRenderer renderer = new ConsoleRenderer();
renderer.setTemplateName(pageTemplate);
......
......@@ -19,6 +19,7 @@ package org.b3log.solo.processor;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.b3log.latke.Keys;
......@@ -70,7 +71,8 @@ public final class PageProcessor {
/**
* Filler.
*/
private Filler filler = Filler.getInstance();
@Inject
private Filler filler;
/**
* Preference query service.
......
......@@ -20,11 +20,13 @@ import java.io.IOException;
import java.util.List;
import java.util.Set;
import java.util.concurrent.ExecutionException;
import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.b3log.latke.Keys;
import org.b3log.latke.Latkes;
import org.b3log.latke.cache.PageCaches;
import org.b3log.latke.ioc.LatkeBeanManager;
import org.b3log.latke.logging.Level;
import org.b3log.latke.logging.Logger;
import org.b3log.latke.mail.MailService;
......@@ -77,6 +79,12 @@ public final class RepairProcessor {
* Logger.
*/
private static final Logger LOGGER = Logger.getLogger(RepairProcessor.class.getName());
/**
* Bean manager.
*/
@Inject
private LatkeBeanManager beanManager;
/**
* Preference query service.
......@@ -363,7 +371,7 @@ public final class RepairProcessor {
boolean succeed = false;
try {
remove(ArchiveDateArticleRepositoryImpl.getInstance());
remove((Repository) beanManager.getReference(ArchiveDateArticleRepositoryImpl.class));
remove(ArchiveDateRepositoryImpl.getInstance());
remove(ArticleRepositoryImpl.getInstance());
remove(CommentRepositoryImpl.getInstance());
......
......@@ -22,6 +22,7 @@ import java.net.URLEncoder;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.b3log.latke.Keys;
......@@ -77,7 +78,8 @@ public final class TagProcessor {
/**
* Filler.
*/
private Filler filler = Filler.getInstance();
@Inject
private Filler filler;
/**
* Language service.
......@@ -97,7 +99,8 @@ public final class TagProcessor {
/**
* Article query service.
*/
private ArticleQueryService articleQueryService = ArticleQueryService.getInstance();
@Inject
private ArticleQueryService articleQueryService;
/**
* Tag query service.
......@@ -203,9 +206,9 @@ public final class TagProcessor {
final List<Integer> pageNums = Paginator.paginate(currentPageNum, pageSize, pageCount, windowSize);
LOGGER.log(Level.TRACE, "tag-articles[pageNums={0}]", pageNums);
Collections.sort(articles, Comparators.ARTICLE_CREATE_DATE_COMPARATOR);
fillPagination(dataModel, pageCount, currentPageNum, articles, pageNums);
dataModel.put(Common.PATH, "/tags/" + URLEncoder.encode(tagTitle, "UTF-8"));
dataModel.put(Keys.OBJECT_ID, tagId);
......@@ -332,7 +335,7 @@ public final class TagProcessor {
if (Strings.isEmptyOrNull(tagTitle)) {
return -1;
}
final String pageNumString = requestURI.substring((Latkes.getContextPath() + "/tags/" + tagTitle + "/").length());
return Requests.getCurrentPageNum(pageNumString);
......
......@@ -19,6 +19,7 @@ package org.b3log.solo.processor;
import freemarker.template.Template;
import java.io.IOException;
import java.util.Map;
import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
......@@ -69,7 +70,8 @@ public final class UserTemplateProcessor {
/**
* Filler.
*/
private Filler filler = Filler.getInstance();
@Inject
private Filler filler;
/**
* Preference query service.
......
......@@ -20,6 +20,7 @@ import java.util.Calendar;
import java.util.Locale;
import java.util.Map;
import java.util.TimeZone;
import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang.StringUtils;
import org.b3log.latke.Keys;
......@@ -84,7 +85,8 @@ public final class AdminConsole {
/**
* Filler.
*/
private Filler filler = Filler.getInstance();
@Inject
private Filler filler;
/**
* Event manager.
......
......@@ -16,6 +16,7 @@
package org.b3log.solo.processor.console;
import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
......@@ -61,12 +62,14 @@ public final class ArticleConsole {
/**
* Article management service.
*/
private ArticleMgmtService articleMgmtService = ArticleMgmtService.getInstance();
@Inject
private ArticleMgmtService articleMgmtService;
/**
* Article query service.
*/
private ArticleQueryService articleQueryService = ArticleQueryService.getInstance();
@Inject
private ArticleQueryService articleQueryService;
/**
* User utilities.
......
......@@ -24,6 +24,7 @@ import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang.StringEscapeUtils;
......@@ -41,6 +42,7 @@ import org.b3log.latke.model.User;
import org.b3log.latke.plugin.ViewLoadEventData;
import org.b3log.latke.repository.*;
import org.b3log.latke.service.ServiceException;
import org.b3log.latke.service.annotation.Service;
import org.b3log.latke.util.*;
import org.b3log.latke.util.freemarker.Templates;
import org.b3log.solo.SoloServletListener;
......@@ -77,6 +79,7 @@ import org.json.JSONObject;
* @version 1.0.6.5, May 17, 2013
* @since 0.3.1
*/
@Service
public final class Filler {
/**
......@@ -137,7 +140,8 @@ public final class Filler {
/**
* Article query service.
*/
private ArticleQueryService articleQueryService = ArticleQueryService.getInstance();
@Inject
private ArticleQueryService articleQueryService;
/**
* {@code true} for published.
......@@ -1030,37 +1034,4 @@ public final class Filler {
article.put(Article.ARTICLE_ABSTRACT, article.optString(Article.ARTICLE_CONTENT));
}
}
/**
* Gets the {@link Filler} singleton.
*
* @return the singleton
*/
public static Filler getInstance() {
return SingletonHolder.SINGLETON;
}
/**
* Private default constructor.
*/
private Filler() {}
/**
* Singleton holder.
*
* @author <a href="mailto:DL88250@gmail.com">Liang Ding</a>
* @version 1.0.0.0, Jan 12, 2011
*/
private static final class SingletonHolder {
/**
* Singleton.
*/
private static final Filler SINGLETON = new Filler();
/**
* Private default constructor.
*/
private SingletonHolder() {}
}
}
......@@ -16,6 +16,8 @@
package org.b3log.solo.repository.impl;
import javax.inject.Named;
import javax.inject.Singleton;
import org.b3log.latke.Keys;
import org.b3log.latke.repository.*;
import org.b3log.solo.model.Article;
......@@ -32,13 +34,16 @@ import org.json.JSONObject;
* @version 1.0.0.6, Nov 9, 2011
* @since 0.3.1
*/
@Named
@Singleton
public final class ArchiveDateArticleRepositoryImpl extends AbstractRepository implements ArchiveDateArticleRepository {
/**
* Singleton.
* Public constructor.
*/
private static final ArchiveDateArticleRepositoryImpl SINGLETON = new ArchiveDateArticleRepositoryImpl(
ArchiveDate.ARCHIVE_DATE + "_" + Article.ARTICLE);
public ArchiveDateArticleRepositoryImpl() {
super(ArchiveDate.ARCHIVE_DATE + "_" + Article.ARTICLE);
}
@Override
public JSONObject getByArchiveDateId(final String archiveDateId, final int currentPageNum, final int pageSize)
......@@ -64,22 +69,4 @@ public final class ArchiveDateArticleRepositoryImpl extends AbstractRepository i
return array.optJSONObject(0);
}
/**
* Gets the {@link ArchiveDateArticleRepositoryImpl} singleton.
*
* @return the singleton
*/
public static ArchiveDateArticleRepositoryImpl getInstance() {
return SINGLETON;
}
/**
* Private constructor.
*
* @param name the specified name
*/
private ArchiveDateArticleRepositoryImpl(final String name) {
super(name);
}
}
......@@ -21,6 +21,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import javax.inject.Inject;
import org.apache.commons.lang.time.DateFormatUtils;
import org.apache.commons.lang.time.DateUtils;
import org.b3log.latke.Keys;
......@@ -33,6 +34,7 @@ import org.b3log.latke.repository.RepositoryException;
import org.b3log.latke.repository.Transaction;
import org.b3log.latke.service.LangPropsService;
import org.b3log.latke.service.ServiceException;
import org.b3log.latke.service.annotation.Service;
import org.b3log.latke.util.CollectionUtils;
import org.b3log.latke.util.Ids;
import org.b3log.latke.util.Strings;
......@@ -46,7 +48,6 @@ import org.b3log.solo.repository.CommentRepository;
import org.b3log.solo.repository.TagArticleRepository;
import org.b3log.solo.repository.TagRepository;
import org.b3log.solo.repository.UserRepository;
import org.b3log.solo.repository.impl.ArchiveDateArticleRepositoryImpl;
import org.b3log.solo.repository.impl.ArchiveDateRepositoryImpl;
import org.b3log.solo.repository.impl.ArticleRepositoryImpl;
import org.b3log.solo.repository.impl.CommentRepositoryImpl;
......@@ -71,6 +72,7 @@ import org.json.JSONObject;
* @version 1.0.1.5, Jan 30, 2013
* @since 0.3.5
*/
@Service
public final class ArticleMgmtService {
/**
......@@ -101,7 +103,8 @@ public final class ArticleMgmtService {
/**
* Archive date-Article repository.
*/
private ArchiveDateArticleRepository archiveDateArticleRepository = ArchiveDateArticleRepositoryImpl.getInstance();
@Inject
private ArchiveDateArticleRepository archiveDateArticleRepository;
/**
* Tag-Article repository.
......@@ -1205,35 +1208,11 @@ public final class ArticleMgmtService {
}
/**
* Gets the {@link ArticleMgmtService} singleton.
*
* @return the singleton
*/
public static ArticleMgmtService getInstance() {
return SingletonHolder.SINGLETON;
}
/**
* Private constructor.
*/
private ArticleMgmtService() {}
/**
* Singleton holder.
*
* @author <a href="mailto:DL88250@gmail.com">Liang Ding</a>
* @version 1.0.0.0, Oct 3, 2011
* Sets archive date article repository with the specified archive date article repository.
*
* @param archiveDateArticleRepository the specified archive date article repository
*/
private static final class SingletonHolder {
/**
* Singleton.
*/
private static final ArticleMgmtService SINGLETON = new ArticleMgmtService();
/**
* Private default constructor.
*/
private SingletonHolder() {}
public void setArchiveDateArticleRepository(final ArchiveDateArticleRepository archiveDateArticleRepository) {
this.archiveDateArticleRepository = archiveDateArticleRepository;
}
}
......@@ -22,6 +22,7 @@ import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import javax.inject.Inject;
import org.b3log.latke.Keys;
import org.b3log.latke.logging.Level;
import org.b3log.latke.logging.Logger;
......@@ -29,6 +30,7 @@ import org.b3log.latke.model.Pagination;
import org.b3log.latke.model.User;
import org.b3log.latke.repository.*;
import org.b3log.latke.service.ServiceException;
import org.b3log.latke.service.annotation.Service;
import org.b3log.latke.util.CollectionUtils;
import org.b3log.latke.util.Paginator;
import org.b3log.latke.util.Stopwatchs;
......@@ -43,7 +45,6 @@ import org.b3log.solo.repository.ArchiveDateArticleRepository;
import org.b3log.solo.repository.ArticleRepository;
import org.b3log.solo.repository.TagArticleRepository;
import org.b3log.solo.repository.TagRepository;
import org.b3log.solo.repository.impl.ArchiveDateArticleRepositoryImpl;
import org.b3log.solo.repository.impl.ArticleRepositoryImpl;
import org.b3log.solo.repository.impl.TagArticleRepositoryImpl;
import org.b3log.solo.repository.impl.TagRepositoryImpl;
......@@ -63,6 +64,7 @@ import org.json.JSONObject;
* @version 1.0.1.2, Jan 30, 2013
* @since 0.3.5
*/
@Service
public final class ArticleQueryService {
/**
......@@ -93,7 +95,8 @@ public final class ArticleQueryService {
/**
* Archive date-Article repository.
*/
private ArchiveDateArticleRepository archiveDateArticleRepository = ArchiveDateArticleRepositoryImpl.getInstance();
@Inject
private ArchiveDateArticleRepository archiveDateArticleRepository;
/**
* Statistic utilities.
......@@ -273,7 +276,7 @@ public final class ArticleQueryService {
} else {
articleCount = statistics.getPublishedBlogArticleCount();
}
final int pageCount = (int) Math.ceil((double) articleCount / (double) pageSize);
query.setPageCount(pageCount);
......@@ -365,7 +368,7 @@ public final class ArticleQueryService {
// Skips the unpublished article
continue;
}
article.put(ARTICLE_CREATE_TIME, ((Date) article.get(ARTICLE_CREATE_DATE)).getTime());
// Markdown to HTML for content and abstract
......@@ -425,7 +428,7 @@ public final class ArticleQueryService {
// Skips the unpublished article
continue;
}
article.put(ARTICLE_CREATE_TIME, ((Date) article.get(ARTICLE_CREATE_DATE)).getTime());
// Markdown to HTML for content and abstract
......@@ -657,7 +660,7 @@ public final class ArticleQueryService {
final JSONObject article = articles.getJSONObject(i);
article.put(ARTICLE_CREATE_TIME, ((Date) article.get(ARTICLE_CREATE_DATE)).getTime());
// Markdown to HTML for content and abstract
markdown(article);
......@@ -810,35 +813,11 @@ public final class ArticleQueryService {
}
/**
* Gets the {@link ArticleQueryService} singleton.
*
* @return the singleton
*/
public static ArticleQueryService getInstance() {
return SingletonHolder.SINGLETON;
}
/**
* Private constructor.
*/
private ArticleQueryService() {}
/**
* Singleton holder.
*
* @author <a href="mailto:DL88250@gmail.com">Liang Ding</a>
* @version 1.0.0.0, Oct 3, 2011
* Sets archive date article repository with the specified archive date article repository.
*
* @param archiveDateArticleRepository the specified archive date article repository
*/
private static final class SingletonHolder {
/**
* Singleton.
*/
private static final ArticleQueryService SINGLETON = new ArticleQueryService();
/**
* Private default constructor.
*/
private SingletonHolder() {}
public void setArchiveDateArticleRepository(final ArchiveDateArticleRepository archiveDateArticleRepository) {
this.archiveDateArticleRepository = archiveDateArticleRepository;
}
}
......@@ -22,6 +22,7 @@ import java.text.ParseException;
import java.util.Date;
import java.util.List;
import java.util.Set;
import javax.inject.Inject;
import org.apache.commons.lang.StringEscapeUtils;
import org.apache.commons.lang.time.DateFormatUtils;
import org.apache.commons.lang.time.DateUtils;
......@@ -38,6 +39,7 @@ import org.b3log.latke.repository.jdbc.util.JdbcRepositories;
import org.b3log.latke.repository.jdbc.util.JdbcRepositories.CreateTableResult;
import org.b3log.latke.service.LangPropsService;
import org.b3log.latke.service.ServiceException;
import org.b3log.latke.service.annotation.Service;
import org.b3log.latke.util.Ids;
import org.b3log.latke.util.MD5;
import org.b3log.latke.util.freemarker.Templates;
......@@ -62,6 +64,7 @@ import org.json.JSONObject;
* @version 1.0.1.6, May 17, 2013
* @since 0.4.0
*/
@Service
public final class InitService {
/**
......@@ -97,7 +100,8 @@ public final class InitService {
/**
* Archive date-Article repository.
*/
private ArchiveDateArticleRepository archiveDateArticleRepository = ArchiveDateArticleRepositoryImpl.getInstance();
@Inject
private ArchiveDateArticleRepository archiveDateArticleRepository;
/**
* Tag repository.
......@@ -583,35 +587,11 @@ public final class InitService {
}
/**
* Gets the {@link InitService} singleton.
*
* @return the singleton
*/
public static InitService getInstance() {
return SingletonHolder.SINGLETON;
}
/**
* Private constructor.
*/
private InitService() {}
/**
* Singleton holder.
*
* @author <a href="mailto:DL88250@gmail.com">Liang Ding</a>
* @version 1.0.0.0, Oct 24, 2011
* Sets archive date article repository with the specified archive date article repository.
*
* @param archiveDateArticleRepository the specified archive date article repository
*/
private static final class SingletonHolder {
/**
* Singleton.
*/
private static final InitService SINGLETON = new InitService();
/**
* Private default constructor.
*/
private SingletonHolder() {}
public void setArchiveDateArticleRepository(final ArchiveDateArticleRepository archiveDateArticleRepository) {
this.archiveDateArticleRepository = archiveDateArticleRepository;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
</beans>
......@@ -245,31 +245,50 @@ public abstract class AbstractTestCase {
pageRepository = PageRepositoryImpl.getInstance();
commentRepository = CommentRepositoryImpl.getInstance();
archiveDateRepository = ArchiveDateRepositoryImpl.getInstance();
archiveDateArticleRepository =
ArchiveDateArticleRepositoryImpl.getInstance();
archiveDateArticleRepository = new ArchiveDateArticleRepositoryImpl();
pluginRepository = PluginRepositoryImpl.getInstance();
preferenceRepository = PreferenceRepositoryImpl.getInstance();
statisticRepository = StatisticRepositoryImpl.getInstance();
optionRepository = OptionRepositoryImpl.getInstance();
// Services
initService = InitService.getInstance();
initService = new InitService();
initService.setArchiveDateArticleRepository(archiveDateArticleRepository);
userMgmtService = UserMgmtService.getInstance();
userQueryService = UserQueryService.getInstance();
articleMgmtService = ArticleMgmtService.getInstance();
articleQueryService = ArticleQueryService.getInstance();
articleMgmtService = new ArticleMgmtService();
articleMgmtService.setArchiveDateArticleRepository(archiveDateArticleRepository);
articleQueryService = new ArticleQueryService();
articleQueryService.setArchiveDateArticleRepository(archiveDateArticleRepository);
pageMgmtService = PageMgmtService.getInstance();
pageQueryService = PageQueryService.getInstance();
linkMgmtService = LinkMgmtService.getInstance();
linkQueryService = LinkQueryService.getInstance();
preferenceMgmtService = PreferenceMgmtService.getInstance();
preferenceQueryService = PreferenceQueryService.getInstance();
tagQueryService = TagQueryService.getInstance();
tagMgmtService = TagMgmtService.getInstance();
commentQueryService = CommentQueryService.getInstance();
commentMgmtService = CommentMgmtService.getInstance();
archiveDateQueryService = ArchiveDateQueryService.getInstance();
optionMgmtService = OptionMgmtService.getInstance();
optionQueryService = OptionQueryService.getInstance();
}
......
......@@ -61,7 +61,7 @@ public class ArticleQueryServiceTestCase extends AbstractTestCase {
*/
@Test(dependsOnMethods = "init")
public void getRecentArticles() throws Exception {
final ArticleQueryService articleQueryService = ArticleQueryService.getInstance();
final ArticleQueryService articleQueryService = getArticleQueryService();
final List<JSONObject> articles = articleQueryService.getRecentArticles(10);
Assert.assertEquals(articles.size(), 1);
......@@ -74,7 +74,7 @@ public class ArticleQueryServiceTestCase extends AbstractTestCase {
*/
@Test(dependsOnMethods = "getRecentArticles")
public void getArticle() throws Exception {
final ArticleQueryService articleQueryService = ArticleQueryService.getInstance();
final ArticleQueryService articleQueryService = getArticleQueryService();
final List<JSONObject> articles = articleQueryService.getRecentArticles(10);
Assert.assertEquals(articles.size(), 1);
......@@ -93,7 +93,7 @@ public class ArticleQueryServiceTestCase extends AbstractTestCase {
*/
@Test(dependsOnMethods = "getRecentArticles")
public void getArticleById() throws Exception {
final ArticleQueryService articleQueryService = ArticleQueryService.getInstance();
final ArticleQueryService articleQueryService = getArticleQueryService();
final List<JSONObject> articles = articleQueryService.getRecentArticles(10);
Assert.assertEquals(articles.size(), 1);
......@@ -112,7 +112,7 @@ public class ArticleQueryServiceTestCase extends AbstractTestCase {
*/
@Test(dependsOnMethods = "getRecentArticles")
public void getArticleContent() throws Exception {
final ArticleQueryService articleQueryService = ArticleQueryService.getInstance();
final ArticleQueryService articleQueryService = getArticleQueryService();
final List<JSONObject> articles = articleQueryService.getRecentArticles(10);
......@@ -140,7 +140,7 @@ public class ArticleQueryServiceTestCase extends AbstractTestCase {
final String tagId = tag.getString(Keys.OBJECT_ID);
final ArticleQueryService articleQueryService = ArticleQueryService.getInstance();
final ArticleQueryService articleQueryService = getArticleQueryService();
final List<JSONObject> articles = articleQueryService.getArticlesByTag(tagId, 1, Integer.MAX_VALUE);
Assert.assertNotNull(articles);
Assert.assertEquals(articles.size(), 1);
......@@ -162,7 +162,7 @@ public class ArticleQueryServiceTestCase extends AbstractTestCase {
final JSONObject archiveDate = archiveDates.get(0);
final ArticleQueryService articleQueryService = ArticleQueryService.getInstance();
final ArticleQueryService articleQueryService = getArticleQueryService();
List<JSONObject> articles =
articleQueryService.getArticlesByArchiveDate(archiveDate.getString(Keys.OBJECT_ID), 1, Integer.MAX_VALUE);
Assert.assertNotNull(articles);
......
......@@ -63,7 +63,7 @@ public class CommentMgmtServiceTestCase extends AbstractTestCase {
*/
@Test(dependsOnMethods = "init")
public void addArticleComment() throws Exception {
final ArticleQueryService articleQueryService = ArticleQueryService.getInstance();
final ArticleQueryService articleQueryService = getArticleQueryService();
final List<JSONObject> articles = articleQueryService.getRecentArticles(10);
......
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