Refactor to use ProjectService instead of JGitUtil directly to retrieve project information.

This commit is contained in:
takezoe
2013-06-02 15:47:12 +09:00
parent 43e9da54b7
commit f92018ee50
23 changed files with 61 additions and 61 deletions

View File

@@ -78,7 +78,7 @@ trait CreateRepositoryControllerBase extends ControllerBase { self: ProjectServi
def validate(name: String, value: String): Option[String] = {
if(!value.matches("^[a-zA-Z0-9\\-_]+$")){
Some("Repository name contains invalid character.")
} else if(getRepositories(context.loginUser).contains(value)){
} else if(getRepositories(context.loginUser, servletContext).contains(value)){
Some("Repository already exists.")
} else {
None

View File

@@ -27,7 +27,7 @@ trait RepositoryViewerControllerBase extends ControllerBase { self: ProjectServi
get("/:owner") {
val owner = params("owner")
html.user(owner, getProjects(owner, servletContext))
html.user(owner, getRepositories(owner, servletContext))
}
/**
@@ -72,7 +72,7 @@ trait RepositoryViewerControllerBase extends ControllerBase { self: ProjectServi
JGitUtil.withGit(getRepositoryDir(owner, repository)){ git =>
val (logs, hasNext) = JGitUtil.getCommitLog(git, branchName, page, 30)
repo.html.commits(Nil, branchName, JGitUtil.getRepositoryInfo(owner, repository, servletContext),
repo.html.commits(Nil, branchName, getRepository(owner, repository, servletContext).get,
logs.splitWith{ (commit1, commit2) =>
view.helpers.date(commit1.time) == view.helpers.date(commit2.time)
}, page, hasNext)
@@ -92,7 +92,7 @@ trait RepositoryViewerControllerBase extends ControllerBase { self: ProjectServi
JGitUtil.withGit(getRepositoryDir(owner, repository)){ git =>
val (logs, hasNext) = JGitUtil.getCommitLog(git, branchName, page, 30, path)
repo.html.commits(path.split("/").toList, branchName, JGitUtil.getRepositoryInfo(owner, repository, servletContext),
repo.html.commits(path.split("/").toList, branchName, getRepository(owner, repository, servletContext).get,
logs.splitWith{ (commit1, commit2) =>
view.helpers.date(commit1.time) == view.helpers.date(commit2.time)
}, page, hasNext)
@@ -109,7 +109,7 @@ trait RepositoryViewerControllerBase extends ControllerBase { self: ProjectServi
val id = params("id") // branch name or commit id
val raw = params.get("raw").getOrElse("false").toBoolean
val path = multiParams("splat").head //.replaceFirst("^tree/.+?/", "")
val repositoryInfo = JGitUtil.getRepositoryInfo(owner, repository, servletContext)
val repositoryInfo = getRepository(owner, repository, servletContext).get
JGitUtil.withGit(getRepositoryDir(owner, repository)){ git =>
val revCommit = JGitUtil.getRevCommitFromId(git, git.getRepository.resolve(id))
@@ -153,7 +153,7 @@ trait RepositoryViewerControllerBase extends ControllerBase { self: ProjectServi
JGitUtil.withGit(getRepositoryDir(owner, repository)){ git =>
val revCommit = JGitUtil.getRevCommitFromId(git, git.getRepository.resolve(id))
repo.html.commit(id, new JGitUtil.CommitInfo(revCommit),
JGitUtil.getRepositoryInfo(owner, repository, servletContext), JGitUtil.getDiffs(git, id))
getRepository(owner, repository, servletContext).get, JGitUtil.getDiffs(git, id))
}
}
@@ -164,7 +164,7 @@ trait RepositoryViewerControllerBase extends ControllerBase { self: ProjectServi
val owner = params("owner")
val repository = params("repository")
repo.html.tags(JGitUtil.getRepositoryInfo(owner, repository, servletContext))
repo.html.tags(getRepository(owner, repository, servletContext).get)
}
/**
@@ -239,7 +239,7 @@ trait RepositoryViewerControllerBase extends ControllerBase { self: ProjectServi
// current branch
revision,
// repository
JGitUtil.getRepositoryInfo(owner, repository, servletContext),
getRepository(owner, repository, servletContext).get,
// current path
if(path == ".") Nil else path.split("/").toList,
// latest commit

View File

@@ -1,8 +1,11 @@
package app
import util.JGitUtil
import service._
class SettingsController extends ControllerBase {
class SettingsController extends SettingsControllerBase with ProjectService with AccountService
trait SettingsControllerBase extends ControllerBase { self: ProjectService =>
get("/:owner/:repository/settings") {
val owner = params("owner")
@@ -14,14 +17,14 @@ class SettingsController extends ControllerBase {
val owner = params("owner")
val repository = params("repository")
settings.html.options(JGitUtil.getRepositoryInfo(owner, repository, servletContext))
settings.html.options(getRepository(owner, repository, servletContext).get)
}
get("/:owner/:repository/settings/collaborators") {
val owner = params("owner")
val repository = params("repository")
settings.html.collaborators(JGitUtil.getRepositoryInfo(owner, repository, servletContext))
settings.html.collaborators(getRepository(owner, repository, servletContext).get)
}
}

View File

@@ -4,11 +4,10 @@ import service._
import util.JGitUtil
import util.Directory._
import jp.sf.amateras.scalatra.forms._
import org.eclipse.jgit.api.Git
class WikiController extends WikiControllerBase with WikiService
class WikiController extends WikiControllerBase with WikiService with ProjectService with AccountService
trait WikiControllerBase extends ControllerBase { self: WikiService =>
trait WikiControllerBase extends ControllerBase { self: WikiService with ProjectService =>
case class WikiPageEditForm(pageName: String, content: String, message: Option[String], currentPageName: String)
@@ -31,10 +30,8 @@ trait WikiControllerBase extends ControllerBase { self: WikiService =>
val repository = params("repository")
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,
JGitUtil.getRepositoryInfo(owner, repository, servletContext))
case Some(page) => wiki.html.wiki("Home", page, getRepository(owner, repository, servletContext).get)
case None => wiki.html.wikiedit("Home", None, getRepository(owner, repository, servletContext).get)
}
}
@@ -44,10 +41,8 @@ trait WikiControllerBase extends ControllerBase { self: WikiService =>
val pageName = params("page")
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,
JGitUtil.getRepositoryInfo(owner, repository, servletContext))
case Some(page) => wiki.html.wiki(pageName, page, getRepository(owner, repository, servletContext).get)
case None => wiki.html.wikiedit(pageName, None, getRepository(owner, repository, servletContext).get)
}
}
@@ -58,8 +53,7 @@ trait WikiControllerBase extends ControllerBase { self: WikiService =>
JGitUtil.withGit(getWikiRepositoryDir(owner, repository)){ git =>
wiki.html.wikihistory(Some(page),
JGitUtil.getCommitLog(git, "master", path = page + ".md")._1,
JGitUtil.getRepositoryInfo(owner, repository, servletContext))
JGitUtil.getCommitLog(git, "master", path = page + ".md")._1, getRepository(owner, repository, servletContext).get)
}
}
@@ -71,8 +65,7 @@ trait WikiControllerBase extends ControllerBase { self: WikiService =>
JGitUtil.withGit(getWikiRepositoryDir(owner, repository)){ git =>
wiki.html.wikicompare(Some(page),
getWikiDiffs(git, commitId(0), commitId(1)),
JGitUtil.getRepositoryInfo(owner, repository, servletContext))
getWikiDiffs(git, commitId(0), commitId(1)), getRepository(owner, repository, servletContext).get)
}
}
@@ -83,8 +76,7 @@ trait WikiControllerBase extends ControllerBase { self: WikiService =>
JGitUtil.withGit(getWikiRepositoryDir(owner, repository)){ git =>
wiki.html.wikicompare(None,
getWikiDiffs(git, commitId(0), commitId(1)),
JGitUtil.getRepositoryInfo(owner, repository, servletContext))
getWikiDiffs(git, commitId(0), commitId(1)), getRepository(owner, repository, servletContext).get)
}
}
@@ -94,8 +86,7 @@ trait WikiControllerBase extends ControllerBase { self: WikiService =>
val page = params("page")
wiki.html.wikiedit(page,
getWikiPage(owner, repository, page),
JGitUtil.getRepositoryInfo(owner, repository, servletContext))
getWikiPage(owner, repository, page), getRepository(owner, repository, servletContext).get)
}
post("/:owner/:repository/wiki/_edit", editForm){ form =>
@@ -112,8 +103,7 @@ trait WikiControllerBase extends ControllerBase { self: WikiService =>
val owner = params("owner")
val repository = params("repository")
wiki.html.wikiedit("", None,
JGitUtil.getRepositoryInfo(owner, repository, servletContext))
wiki.html.wikiedit("", None, getRepository(owner, repository, servletContext).get)
}
post("/:owner/:repository/wiki/_new", newForm){ form =>
@@ -140,8 +130,7 @@ trait WikiControllerBase extends ControllerBase { self: WikiService =>
val owner = params("owner")
val repository = params("repository")
wiki.html.wikipages(getWikiPageList(owner, repository),
JGitUtil.getRepositoryInfo(owner, repository, servletContext))
wiki.html.wikipages(getWikiPageList(owner, repository), getRepository(owner, repository, servletContext).get)
}
get("/:owner/:repository/wiki/_history"){
@@ -150,8 +139,7 @@ trait WikiControllerBase extends ControllerBase { self: WikiService =>
JGitUtil.withGit(getWikiRepositoryDir(owner, repository)){ git =>
wiki.html.wikihistory(None,
JGitUtil.getCommitLog(git, "master")._1,
JGitUtil.getRepositoryInfo(owner, repository, servletContext))
JGitUtil.getCommitLog(git, "master")._1, getRepository(owner, repository, servletContext).get)
}
}
@@ -160,7 +148,7 @@ trait WikiControllerBase extends ControllerBase { self: WikiService =>
val repository = params("repository")
val content = params("content")
contentType = "text/html"
view.helpers.markdown(content, JGitUtil.getRepositoryInfo(owner, repository, servletContext), true)
view.helpers.markdown(content, getRepository(owner, repository, servletContext).get, true)
}
/**