Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
solo
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
solo
Commits
20442f39
Commit
20442f39
authored
Jun 20, 2013
by
Liang Ding
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
#268
改造了一个点,底层依赖是 ArchiveDateArticleRepositoryImpl
parent
5418521c
Changes
23
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
162 additions
and
190 deletions
+162
-190
core/src/main/java/org/b3log/solo/api/metaweblog/MetaWeblogAPI.java
...ain/java/org/b3log/solo/api/metaweblog/MetaWeblogAPI.java
+5
-2
core/src/main/java/org/b3log/solo/api/symphony/ArticleReceiver.java
...ain/java/org/b3log/solo/api/symphony/ArticleReceiver.java
+5
-2
core/src/main/java/org/b3log/solo/dev/ArticleGenerator.java
core/src/main/java/org/b3log/solo/dev/ArticleGenerator.java
+7
-1
core/src/main/java/org/b3log/solo/processor/ArticleProcessor.java
.../main/java/org/b3log/solo/processor/ArticleProcessor.java
+12
-3
core/src/main/java/org/b3log/solo/processor/ErrorProcessor.java
...rc/main/java/org/b3log/solo/processor/ErrorProcessor.java
+3
-1
core/src/main/java/org/b3log/solo/processor/IndexProcessor.java
...rc/main/java/org/b3log/solo/processor/IndexProcessor.java
+4
-2
core/src/main/java/org/b3log/solo/processor/InitProcessor.java
...src/main/java/org/b3log/solo/processor/InitProcessor.java
+5
-2
core/src/main/java/org/b3log/solo/processor/LoginProcessor.java
...rc/main/java/org/b3log/solo/processor/LoginProcessor.java
+7
-3
core/src/main/java/org/b3log/solo/processor/PageProcessor.java
...src/main/java/org/b3log/solo/processor/PageProcessor.java
+3
-1
core/src/main/java/org/b3log/solo/processor/RepairProcessor.java
...c/main/java/org/b3log/solo/processor/RepairProcessor.java
+9
-1
core/src/main/java/org/b3log/solo/processor/TagProcessor.java
.../src/main/java/org/b3log/solo/processor/TagProcessor.java
+8
-5
core/src/main/java/org/b3log/solo/processor/UserTemplateProcessor.java
.../java/org/b3log/solo/processor/UserTemplateProcessor.java
+3
-1
core/src/main/java/org/b3log/solo/processor/console/AdminConsole.java
...n/java/org/b3log/solo/processor/console/AdminConsole.java
+3
-1
core/src/main/java/org/b3log/solo/processor/console/ArticleConsole.java
...java/org/b3log/solo/processor/console/ArticleConsole.java
+5
-2
core/src/main/java/org/b3log/solo/processor/util/Filler.java
core/src/main/java/org/b3log/solo/processor/util/Filler.java
+5
-34
core/src/main/java/org/b3log/solo/repository/impl/ArchiveDateArticleRepositoryImpl.java
...olo/repository/impl/ArchiveDateArticleRepositoryImpl.java
+8
-21
core/src/main/java/org/b3log/solo/service/ArticleMgmtService.java
.../main/java/org/b3log/solo/service/ArticleMgmtService.java
+10
-31
core/src/main/java/org/b3log/solo/service/ArticleQueryService.java
...main/java/org/b3log/solo/service/ArticleQueryService.java
+14
-35
core/src/main/java/org/b3log/solo/service/InitService.java
core/src/main/java/org/b3log/solo/service/InitService.java
+10
-30
core/src/main/resources/META-INF/beans.xml
core/src/main/resources/META-INF/beans.xml
+5
-0
core/src/test/java/org/b3log/solo/AbstractTestCase.java
core/src/test/java/org/b3log/solo/AbstractTestCase.java
+24
-5
core/src/test/java/org/b3log/solo/service/ArticleQueryServiceTestCase.java
...a/org/b3log/solo/service/ArticleQueryServiceTestCase.java
+6
-6
core/src/test/java/org/b3log/solo/service/CommentMgmtServiceTestCase.java
...va/org/b3log/solo/service/CommentMgmtServiceTestCase.java
+1
-1
No files found.
core/src/main/java/org/b3log/solo/api/metaweblog/MetaWeblogAPI.java
View file @
20442f39
...
...
@@ -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.
...
...
core/src/main/java/org/b3log/solo/api/symphony/ArticleReceiver.java
View file @
20442f39
...
...
@@ -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.
...
...
core/src/main/java/org/b3log/solo/dev/ArticleGenerator.java
View file @
20442f39
...
...
@@ -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
);
...
...
core/src/main/java/org/b3log/solo/processor/ArticleProcessor.java
View file @
20442f39
...
...
@@ -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
);
...
...
core/src/main/java/org/b3log/solo/processor/ErrorProcessor.java
View file @
20442f39
...
...
@@ -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.
...
...
core/src/main/java/org/b3log/solo/processor/IndexProcessor.java
View file @
20442f39
...
...
@@ -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"
);
...
...
core/src/main/java/org/b3log/solo/processor/InitProcessor.java
View file @
20442f39
...
...
@@ -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.
...
...
core/src/main/java/org/b3log/solo/processor/LoginProcessor.java
View file @
20442f39
...
...
@@ -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
);
...
...
core/src/main/java/org/b3log/solo/processor/PageProcessor.java
View file @
20442f39
...
...
@@ -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.
...
...
core/src/main/java/org/b3log/solo/processor/RepairProcessor.java
View file @
20442f39
...
...
@@ -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
());
...
...
core/src/main/java/org/b3log/solo/processor/TagProcessor.java
View file @
20442f39
...
...
@@ -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
);
...
...
core/src/main/java/org/b3log/solo/processor/UserTemplateProcessor.java
View file @
20442f39
...
...
@@ -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.
...
...
core/src/main/java/org/b3log/solo/processor/console/AdminConsole.java
View file @
20442f39
...
...
@@ -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.
...
...
core/src/main/java/org/b3log/solo/processor/console/ArticleConsole.java
View file @
20442f39
...
...
@@ -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.
...
...
core/src/main/java/org/b3log/solo/processor/util/Filler.java
View file @
20442f39
...
...
@@ -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
()
{}
}
}
core/src/main/java/org/b3log/solo/repository/impl/ArchiveDateArticleRepositoryImpl.java
View file @
20442f39
...
...
@@ -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
);
}
}
core/src/main/java/org/b3log/solo/service/ArticleMgmtService.java
View file @
20442f39
...
...
@@ -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
;
}
}
core/src/main/java/org/b3log/solo/service/ArticleQueryService.java
View file @
20442f39
...
...
@@ -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
;
}
}
core/src/main/java/org/b3log/solo/service/InitService.java
View file @
20442f39
...
...
@@ -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
;
}
}
core/src/main/resources/META-INF/beans.xml
0 → 100644
View file @
20442f39
<?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>
core/src/test/java/org/b3log/solo/AbstractTestCase.java
View file @
20442f39
...
...
@@ -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
();
}
...
...
core/src/test/java/org/b3log/solo/service/ArticleQueryServiceTestCase.java
View file @
20442f39
...
...
@@ -61,7 +61,7 @@ public class ArticleQueryServiceTestCase extends AbstractTestCase {
*/
@Test
(
dependsOnMethods
=
"init"
)
public
void
getRecentArticles
()
throws
Exception
{
final
ArticleQueryService
articleQueryService
=
ArticleQueryService
.
getInstan
ce
();
final
ArticleQueryService
articleQueryService
=
getArticleQueryServi
ce
();
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
.
getInstan
ce
();
final
ArticleQueryService
articleQueryService
=
getArticleQueryServi
ce
();
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
.
getInstan
ce
();
final
ArticleQueryService
articleQueryService
=
getArticleQueryServi
ce
();
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
.
getInstan
ce
();
final
ArticleQueryService
articleQueryService
=
getArticleQueryServi
ce
();
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
.
getInstan
ce
();
final
ArticleQueryService
articleQueryService
=
getArticleQueryServi
ce
();
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
.
getInstan
ce
();
final
ArticleQueryService
articleQueryService
=
getArticleQueryServi
ce
();
List
<
JSONObject
>
articles
=
articleQueryService
.
getArticlesByArchiveDate
(
archiveDate
.
getString
(
Keys
.
OBJECT_ID
),
1
,
Integer
.
MAX_VALUE
);
Assert
.
assertNotNull
(
articles
);
...
...
core/src/test/java/org/b3log/solo/service/CommentMgmtServiceTestCase.java
View file @
20442f39
...
...
@@ -63,7 +63,7 @@ public class CommentMgmtServiceTestCase extends AbstractTestCase {
*/
@Test
(
dependsOnMethods
=
"init"
)
public
void
addArticleComment
()
throws
Exception
{
final
ArticleQueryService
articleQueryService
=
ArticleQueryService
.
getInstan
ce
();
final
ArticleQueryService
articleQueryService
=
getArticleQueryServi
ce
();
final
List
<
JSONObject
>
articles
=
articleQueryService
.
getRecentArticles
(
10
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment