WikiUtil moved to WikiService and applied cake pattern to

WikiController.
This commit is contained in:
takezoe
2013-05-07 02:31:39 +09:00
parent 2280b626a0
commit 358f59261a
5 changed files with 225 additions and 197 deletions

View File

@@ -1,10 +1,14 @@
package app
import util.{WikiUtil, JGitUtil}
import service._
import util.JGitUtil
import util.Directory._
import jp.sf.amateras.scalatra.forms._
import org.eclipse.jgit.api.Git
class WikiController extends ControllerBase {
class WikiController extends WikiControllerBase with WikiService
trait WikiControllerBase extends ControllerBase { self: WikiService =>
case class WikiPageEditForm(pageName: String, content: String, message: Option[String], currentPageName: String)
@@ -26,7 +30,7 @@ class WikiController extends ControllerBase {
val owner = params("owner")
val repository = params("repository")
WikiUtil.getPage(owner, repository, "Home") match {
getWikiPage(owner, repository, "Home") match {
case Some(page) => wiki.html.wiki("Home", page,
JGitUtil.getRepositoryInfo(owner, repository, servletContext))
case None => wiki.html.wikiedit("Home", None,
@@ -39,7 +43,7 @@ class WikiController extends ControllerBase {
val repository = params("repository")
val pageName = params("page")
WikiUtil.getPage(owner, repository, pageName) match {
getWikiPage(owner, repository, pageName) match {
case Some(page) => wiki.html.wiki(pageName, page,
JGitUtil.getRepositoryInfo(owner, repository, servletContext))
case None => wiki.html.wikiedit(pageName, None,
@@ -52,7 +56,7 @@ class WikiController extends ControllerBase {
val repository = params("repository")
val page = params("page")
JGitUtil.withGit(WikiUtil.getWikiRepositoryDir(owner, repository)){ git =>
JGitUtil.withGit(getWikiRepositoryDir(owner, repository)){ git =>
wiki.html.wikihistory(Some(page),
JGitUtil.getCommitLog(git, "master", path = page + ".md")._1,
JGitUtil.getRepositoryInfo(owner, repository, servletContext))
@@ -65,9 +69,9 @@ class WikiController extends ControllerBase {
val page = params("page")
val commitId = params("commitId").split("\\.\\.\\.")
JGitUtil.withGit(WikiUtil.getWikiRepositoryDir(owner, repository)){ git =>
JGitUtil.withGit(getWikiRepositoryDir(owner, repository)){ git =>
wiki.html.wikicompare(Some(page),
WikiUtil.getDiffs(git, commitId(0), commitId(1)),
getWikiDiffs(git, commitId(0), commitId(1)),
JGitUtil.getRepositoryInfo(owner, repository, servletContext))
}
}
@@ -77,9 +81,9 @@ class WikiController extends ControllerBase {
val repository = params("repository")
val commitId = params("commitId").split("\\.\\.\\.")
JGitUtil.withGit(WikiUtil.getWikiRepositoryDir(owner, repository)){ git =>
JGitUtil.withGit(getWikiRepositoryDir(owner, repository)){ git =>
wiki.html.wikicompare(None,
WikiUtil.getDiffs(git, commitId(0), commitId(1)),
getWikiDiffs(git, commitId(0), commitId(1)),
JGitUtil.getRepositoryInfo(owner, repository, servletContext))
}
}
@@ -90,7 +94,7 @@ class WikiController extends ControllerBase {
val page = params("page")
wiki.html.wikiedit(page,
WikiUtil.getPage(owner, repository, page),
getWikiPage(owner, repository, page),
JGitUtil.getRepositoryInfo(owner, repository, servletContext))
}
@@ -98,7 +102,7 @@ class WikiController extends ControllerBase {
val owner = params("owner")
val repository = params("repository")
WikiUtil.savePage(owner, repository, form.currentPageName, form.pageName,
saveWikiPage(owner, repository, form.currentPageName, form.pageName,
form.content, context.loginUser, form.message.getOrElse(""))
redirect("%s/%s/wiki/%s".format(owner, repository, form.pageName))
@@ -116,7 +120,7 @@ class WikiController extends ControllerBase {
val owner = params("owner")
val repository = params("repository")
WikiUtil.savePage(owner, repository, form.currentPageName, form.pageName,
saveWikiPage(owner, repository, form.currentPageName, form.pageName,
form.content, context.loginUser, form.message.getOrElse(""))
redirect("%s/%s/wiki/%s".format(owner, repository, form.pageName))
@@ -127,7 +131,7 @@ class WikiController extends ControllerBase {
val repository = params("repository")
val page = params("page")
WikiUtil.deletePage(owner, repository, page, context.loginUser, "Delete %s".format(page))
deleteWikiPage(owner, repository, page, context.loginUser, "Delete %s".format(page))
redirect("%s/%s/wiki".format(owner, repository))
}
@@ -136,7 +140,7 @@ class WikiController extends ControllerBase {
val owner = params("owner")
val repository = params("repository")
wiki.html.wikipages(WikiUtil.getPageList(owner, repository),
wiki.html.wikipages(getWikiPageList(owner, repository),
JGitUtil.getRepositoryInfo(owner, repository, servletContext))
}
@@ -144,7 +148,7 @@ class WikiController extends ControllerBase {
val owner = params("owner")
val repository = params("repository")
JGitUtil.withGit(WikiUtil.getWikiRepositoryDir(owner, repository)){ git =>
JGitUtil.withGit(getWikiRepositoryDir(owner, repository)){ git =>
wiki.html.wikihistory(None,
JGitUtil.getCommitLog(git, "master")._1,
JGitUtil.getRepositoryInfo(owner, repository, servletContext))
@@ -174,7 +178,7 @@ class WikiController extends ControllerBase {
def unique: Constraint = new Constraint(){
def validate(name: String, value: String): Option[String] = {
if(WikiUtil.getPageList(params("owner"), params("repository")).contains(value)){
if(getWikiPageList(params("owner"), params("repository")).contains(value)){
Some("Page already exists.")
} else {
None