Move api package to new rule

This commit is contained in:
Tomofumi Tanaka
2015-03-16 23:22:56 +09:00
parent 6acbd5b2cf
commit def1e877db
24 changed files with 110 additions and 106 deletions

View File

@@ -1,4 +1,4 @@
package api package gitbucket.core.api
import gitbucket.core.model.{Account, CommitState, CommitStatus} import gitbucket.core.model.{Account, CommitState, CommitStatus}

View File

@@ -1,7 +1,9 @@
package api package gitbucket.core.api
import gitbucket.core.model.IssueComment
import java.util.Date import java.util.Date
import gitbucket.core.model.IssueComment
/** /**
* https://developer.github.com/v3/issues/comments/ * https://developer.github.com/v3/issues/comments/

View File

@@ -1,12 +1,14 @@
package api package gitbucket.core.api
import java.util.Date
import org.eclipse.jgit.diff.DiffEntry
import gitbucket.core.util.JGitUtil import gitbucket.core.util.JGitUtil
import gitbucket.core.util.JGitUtil.CommitInfo import gitbucket.core.util.JGitUtil.CommitInfo
import gitbucket.core.util.RepositoryName import gitbucket.core.util.RepositoryName
import org.eclipse.jgit.diff.DiffEntry
import org.eclipse.jgit.api.Git import org.eclipse.jgit.api.Git
import java.util.Date
/** /**
* https://developer.github.com/v3/repos/commits/ * https://developer.github.com/v3/repos/commits/
*/ */
@@ -30,10 +32,15 @@ object ApiCommit{
id = commit.id, id = commit.id,
message = commit.fullMessage, message = commit.fullMessage,
timestamp = commit.commitTime, timestamp = commit.commitTime,
added = diffs._1.collect { case x if(x.changeType == DiffEntry.ChangeType.ADD) => x.newPath }, added = diffs._1.collect {
removed = diffs._1.collect { case x if(x.changeType == DiffEntry.ChangeType.DELETE) => x.oldPath }, case x if x.changeType == DiffEntry.ChangeType.ADD => x.newPath
modified = diffs._1.collect { case x if(x.changeType != DiffEntry.ChangeType.ADD && },
x.changeType != DiffEntry.ChangeType.DELETE) => x.newPath }, removed = diffs._1.collect {
case x if x.changeType == DiffEntry.ChangeType.DELETE => x.oldPath
},
modified = diffs._1.collect {
case x if x.changeType != DiffEntry.ChangeType.ADD && x.changeType != DiffEntry.ChangeType.DELETE => x.newPath
},
author = ApiPersonIdent.author(commit), author = ApiPersonIdent.author(commit),
committer = ApiPersonIdent.committer(commit) committer = ApiPersonIdent.committer(commit)
)(repositoryName) )(repositoryName)

View File

@@ -1,9 +1,9 @@
package api package gitbucket.core.api
import gitbucket.core.api.ApiCommitListItem._
import gitbucket.core.util.JGitUtil.CommitInfo import gitbucket.core.util.JGitUtil.CommitInfo
// TODO(tanacasino): Fix package name
import gitbucket.core.util.RepositoryName import gitbucket.core.util.RepositoryName
import ApiCommitListItem._
/** /**
* https://developer.github.com/v3/repos/commits/ * https://developer.github.com/v3/repos/commits/

View File

@@ -1,9 +1,11 @@
package api package gitbucket.core.api
import java.util.Date
import gitbucket.core.model.CommitStatus import gitbucket.core.model.CommitStatus
import gitbucket.core.util.RepositoryName import gitbucket.core.util.RepositoryName
import java.util.Date
/** /**
* https://developer.github.com/v3/repos/statuses/#create-a-status * https://developer.github.com/v3/repos/statuses/#create-a-status
* https://developer.github.com/v3/repos/statuses/#list-statuses-for-a-specific-ref * https://developer.github.com/v3/repos/statuses/#list-statuses-for-a-specific-ref
@@ -21,6 +23,7 @@ case class ApiCommitStatus(
val url = ApiPath(s"/api/v3/repos/${repositoryName.fullName}/commits/${sha}/statuses") val url = ApiPath(s"/api/v3/repos/${repositoryName.fullName}/commits/${sha}/statuses")
} }
object ApiCommitStatus { object ApiCommitStatus {
def apply(status: CommitStatus, creator:ApiUser): ApiCommitStatus = ApiCommitStatus( def apply(status: CommitStatus, creator:ApiUser): ApiCommitStatus = ApiCommitStatus(
created_at = status.registeredDate, created_at = status.registeredDate,

View File

@@ -1,4 +1,4 @@
package api package gitbucket.core.api
case class ApiError( case class ApiError(
message: String, message: String,

View File

@@ -1,7 +1,9 @@
package api package gitbucket.core.api
import gitbucket.core.model.Issue
import java.util.Date import java.util.Date
import gitbucket.core.model.Issue
/** /**
* https://developer.github.com/v3/issues/ * https://developer.github.com/v3/issues/

View File

@@ -1,4 +1,4 @@
package api package gitbucket.core.api
/** /**
* path for api url. if set path '/repos/aa/bb' then, expand 'http://server:post/repos/aa/bb' when converted to json. * path for api url. if set path '/repos/aa/bb' then, expand 'http://server:post/repos/aa/bb' when converted to json.

View File

@@ -1,13 +1,16 @@
package api package gitbucket.core.api
import gitbucket.core.util.JGitUtil.CommitInfo
import java.util.Date import java.util.Date
import gitbucket.core.util.JGitUtil.CommitInfo
case class ApiPersonIdent( case class ApiPersonIdent(
name: String, name: String,
email: String, email: String,
date: Date) date: Date)
object ApiPersonIdent { object ApiPersonIdent {
def author(commit: CommitInfo): ApiPersonIdent = def author(commit: CommitInfo): ApiPersonIdent =
ApiPersonIdent( ApiPersonIdent(

View File

@@ -1,7 +1,9 @@
package api package gitbucket.core.api
import gitbucket.core.model.{Issue, PullRequest}
import java.util.Date import java.util.Date
import gitbucket.core.model.{Issue, PullRequest}
/** /**
* https://developer.github.com/v3/pulls/ * https://developer.github.com/v3/pulls/

View File

@@ -1,8 +1,8 @@
package api package gitbucket.core.api
import gitbucket.core.util.JGitUtil.CommitInfo
import gitbucket.core.service.RepositoryService.RepositoryInfo
import gitbucket.core.model.{Account, Repository} import gitbucket.core.model.{Account, Repository}
import gitbucket.core.service.RepositoryService.RepositoryInfo
// https://developer.github.com/v3/repos/ // https://developer.github.com/v3/repos/
case class ApiRepository( case class ApiRepository(

View File

@@ -1,7 +1,9 @@
package api package gitbucket.core.api
import gitbucket.core.model.Account
import java.util.Date import java.util.Date
import gitbucket.core.model.Account
case class ApiUser( case class ApiUser(
login: String, login: String,
@@ -22,6 +24,7 @@ case class ApiUser(
// val received_events_url = ApiPath(s"/api/v3/users/${login}/received_events") // val received_events_url = ApiPath(s"/api/v3/users/${login}/received_events")
} }
object ApiUser{ object ApiUser{
def apply(user: Account): ApiUser = ApiUser( def apply(user: Account): ApiUser = ApiUser(
login = user.fullName, login = user.fullName,

View File

@@ -1,4 +1,4 @@
package api package gitbucket.core.api
/** /**
* https://developer.github.com/v3/issues/comments/#create-a-comment * https://developer.github.com/v3/issues/comments/#create-a-comment

View File

@@ -1,4 +1,4 @@
package api package gitbucket.core.api
import gitbucket.core.model.CommitState import gitbucket.core.model.CommitState

View File

@@ -1,13 +1,15 @@
package api package gitbucket.core.api
import org.json4s._
import org.json4s.jackson.Serialization
import scala.util.Try
import org.joda.time.format._
import org.joda.time.DateTime import org.joda.time.DateTime
import org.joda.time.DateTimeZone import org.joda.time.DateTimeZone
import org.joda.time.format._
import org.json4s._
import org.json4s.jackson.Serialization
import java.util.Date import java.util.Date
import scala.util.Try
object JsonFormat { object JsonFormat {
case class Context(baseUrl:String) case class Context(baseUrl:String)
@@ -22,6 +24,8 @@ object JsonFormat {
FieldSerializer[ApiCommitListItem.Parent]() + FieldSerializer[ApiCommitListItem]() + FieldSerializer[ApiCommitListItem.Commit]() + FieldSerializer[ApiCommitListItem.Parent]() + FieldSerializer[ApiCommitListItem]() + FieldSerializer[ApiCommitListItem.Commit]() +
FieldSerializer[ApiCommitStatus]() + FieldSerializer[ApiCommit]() + FieldSerializer[ApiCombinedCommitStatus]() + FieldSerializer[ApiCommitStatus]() + FieldSerializer[ApiCommit]() + FieldSerializer[ApiCombinedCommitStatus]() +
FieldSerializer[ApiPullRequest.Commit]() FieldSerializer[ApiPullRequest.Commit]()
def apiPathSerializer(c: Context) = new CustomSerializer[ApiPath](format => def apiPathSerializer(c: Context) = new CustomSerializer[ApiPath](format =>
( (
{ {

View File

@@ -1,26 +1,23 @@
package gitbucket.core.controller package gitbucket.core.controller
import gitbucket.core.account.html import gitbucket.core.account.html
import gitbucket.core.api._
import gitbucket.core.helper import gitbucket.core.helper
import gitbucket.core.model.GroupMember import gitbucket.core.model.GroupMember
import gitbucket.core.util._
import gitbucket.core.util.Implicits._
import gitbucket.core.util.Directory._
import gitbucket.core.util.ControlUtil._
import gitbucket.core.util.StringUtil._
import gitbucket.core.ssh.SshUtil
import gitbucket.core.service._ import gitbucket.core.service._
import gitbucket.core.service.WebHookService._ import gitbucket.core.ssh.SshUtil
import gitbucket.core.util.ControlUtil._
import gitbucket.core.util.Directory._
import gitbucket.core.util.Implicits._
import gitbucket.core.util.StringUtil._
import gitbucket.core.util._
import jp.sf.amateras.scalatra.forms._ import jp.sf.amateras.scalatra.forms._
import org.apache.commons.io.FileUtils import org.apache.commons.io.FileUtils
import org.scalatra.i18n.Messages
import org.eclipse.jgit.api.Git import org.eclipse.jgit.api.Git
import org.eclipse.jgit.lib.{FileMode, Constants}
import org.eclipse.jgit.dircache.DirCache import org.eclipse.jgit.dircache.DirCache
import org.eclipse.jgit.lib.{FileMode, Constants}
import org.scalatra.i18n.Messages
// TODO(tanacasino): Fix package name
import api._
class AccountController extends AccountControllerBase class AccountController extends AccountControllerBase
@@ -28,6 +25,7 @@ class AccountController extends AccountControllerBase
with OneselfAuthenticator with UsersAuthenticator with GroupManagerAuthenticator with ReadableUsersAuthenticator with OneselfAuthenticator with UsersAuthenticator with GroupManagerAuthenticator with ReadableUsersAuthenticator
with AccessTokenService with WebHookService with AccessTokenService with WebHookService
trait AccountControllerBase extends AccountManagementControllerBase { trait AccountControllerBase extends AccountManagementControllerBase {
self: AccountService with RepositoryService with ActivityService with WikiService with LabelsService with SshKeyService self: AccountService with RepositoryService with ActivityService with WikiService with LabelsService with SshKeyService
with OneselfAuthenticator with UsersAuthenticator with GroupManagerAuthenticator with ReadableUsersAuthenticator with OneselfAuthenticator with UsersAuthenticator with GroupManagerAuthenticator with ReadableUsersAuthenticator

View File

@@ -1,5 +1,6 @@
package gitbucket.core.controller package gitbucket.core.controller
import gitbucket.core.api.ApiError
import gitbucket.core.model.Account import gitbucket.core.model.Account
import gitbucket.core.service.{AccountService, SystemSettingsService} import gitbucket.core.service.{AccountService, SystemSettingsService}
import gitbucket.core.util.ControlUtil._ import gitbucket.core.util.ControlUtil._
@@ -113,7 +114,7 @@ abstract class ControllerBase extends ScalatraFilter
org.scalatra.NotFound() org.scalatra.NotFound()
} else if(request.hasAttribute(Keys.Request.APIv3)){ } else if(request.hasAttribute(Keys.Request.APIv3)){
contentType = formats("json") contentType = formats("json")
org.scalatra.NotFound(api.ApiError("Not Found")) org.scalatra.NotFound(ApiError("Not Found"))
} else { } else {
org.scalatra.NotFound(gitbucket.core.html.error("Not Found")) org.scalatra.NotFound(gitbucket.core.html.error("Not Found"))
} }
@@ -123,7 +124,7 @@ abstract class ControllerBase extends ScalatraFilter
org.scalatra.Unauthorized() org.scalatra.Unauthorized()
} else if(request.hasAttribute(Keys.Request.APIv3)){ } else if(request.hasAttribute(Keys.Request.APIv3)){
contentType = formats("json") contentType = formats("json")
org.scalatra.Unauthorized(api.ApiError("Requires authentication")) org.scalatra.Unauthorized(ApiError("Requires authentication"))
} else { } else {
if(context.loginAccount.isDefined){ if(context.loginAccount.isDefined){
org.scalatra.Unauthorized(redirect("/")) org.scalatra.Unauthorized(redirect("/"))

View File

@@ -1,17 +1,20 @@
package gitbucket.core.controller package gitbucket.core.controller
import gitbucket.core.html import gitbucket.core.api._
import gitbucket.core.helper.xml import gitbucket.core.helper.xml
import gitbucket.core.html
import gitbucket.core.model.Account import gitbucket.core.model.Account
import gitbucket.core.service.{RepositoryService, ActivityService, AccountService} import gitbucket.core.service.{RepositoryService, ActivityService, AccountService}
import gitbucket.core.util.{LDAPUtil, Keys, UsersAuthenticator}
import gitbucket.core.util.Implicits._ import gitbucket.core.util.Implicits._
import gitbucket.core.util.{LDAPUtil, Keys, UsersAuthenticator}
import jp.sf.amateras.scalatra.forms._ import jp.sf.amateras.scalatra.forms._
import api._
class IndexController extends IndexControllerBase class IndexController extends IndexControllerBase
with RepositoryService with ActivityService with AccountService with UsersAuthenticator with RepositoryService with ActivityService with AccountService with UsersAuthenticator
trait IndexControllerBase extends ControllerBase { trait IndexControllerBase extends ControllerBase {
self: RepositoryService with ActivityService with AccountService with UsersAuthenticator => self: RepositoryService with ActivityService with AccountService with UsersAuthenticator =>
@@ -114,6 +117,6 @@ trait IndexControllerBase extends ControllerBase {
get("/api/v3/rate_limit"){ get("/api/v3/rate_limit"){
contentType = formats("json") contentType = formats("json")
// this message is same as github enterprise... // this message is same as github enterprise...
org.scalatra.NotFound(api.ApiError("Rate limiting is not enabled.")) org.scalatra.NotFound(ApiError("Rate limiting is not enabled."))
} }
} }

View File

@@ -1,25 +1,20 @@
package gitbucket.core.controller package gitbucket.core.controller
import gitbucket.core.api._
import gitbucket.core.issues.html import gitbucket.core.issues.html
import gitbucket.core.model.Issue import gitbucket.core.model.Issue
import gitbucket.core.service.IssuesService._
import gitbucket.core.service._ import gitbucket.core.service._
import gitbucket.core.service.WebHookService._
import gitbucket.core.util._
import gitbucket.core.util.ControlUtil._ import gitbucket.core.util.ControlUtil._
import gitbucket.core.util.Implicits._ import gitbucket.core.util.Implicits._
import gitbucket.core.util._
import gitbucket.core.view import gitbucket.core.view
import gitbucket.core.view.Markdown import gitbucket.core.view.Markdown
import jp.sf.amateras.scalatra.forms._ import jp.sf.amateras.scalatra.forms._
import IssuesService._
import org.scalatra.Ok import org.scalatra.Ok
// TODO(tanacasino): Fix package name
import api._
class IssuesController extends IssuesControllerBase class IssuesController extends IssuesControllerBase
with IssuesService with RepositoryService with AccountService with LabelsService with MilestonesService with ActivityService with IssuesService with RepositoryService with AccountService with LabelsService with MilestonesService with ActivityService
with ReadableUsersAuthenticator with ReferrerAuthenticator with CollaboratorsAuthenticator with PullRequestService with WebHookIssueCommentService with ReadableUsersAuthenticator with ReferrerAuthenticator with CollaboratorsAuthenticator with PullRequestService with WebHookIssueCommentService

View File

@@ -1,12 +1,12 @@
package gitbucket.core.controller package gitbucket.core.controller
import gitbucket.core.model.{Account, CommitStatus, CommitState, Repository, PullRequest, Issue} import gitbucket.core.api._
import gitbucket.core.model.{Account, CommitState, Repository, PullRequest, Issue}
import gitbucket.core.pulls.html import gitbucket.core.pulls.html
import gitbucket.core.service.CommitStatusService import gitbucket.core.service.CommitStatusService
import gitbucket.core.service.MergeService import gitbucket.core.service.MergeService
import gitbucket.core.service.IssuesService._ import gitbucket.core.service.IssuesService._
import gitbucket.core.service.PullRequestService._ import gitbucket.core.service.PullRequestService._
import gitbucket.core.service.WebHookService._
import gitbucket.core.service._ import gitbucket.core.service._
import gitbucket.core.util.ControlUtil._ import gitbucket.core.util.ControlUtil._
import gitbucket.core.util.Directory._ import gitbucket.core.util.Directory._
@@ -18,23 +18,18 @@ import gitbucket.core.view.helpers
import jp.sf.amateras.scalatra.forms._ import jp.sf.amateras.scalatra.forms._
import org.eclipse.jgit.api.Git import org.eclipse.jgit.api.Git
import org.eclipse.jgit.errors.NoMergeBaseException import org.eclipse.jgit.lib.PersonIdent
import org.eclipse.jgit.lib.{ObjectId, CommitBuilder, PersonIdent}
import org.eclipse.jgit.merge.MergeStrategy
import org.eclipse.jgit.transport.RefSpec
import org.slf4j.LoggerFactory import org.slf4j.LoggerFactory
import scala.collection.JavaConverters._ import scala.collection.JavaConverters._
// TODO(tanacasino): Fix package name
import api._
class PullRequestsController extends PullRequestsControllerBase class PullRequestsController extends PullRequestsControllerBase
with RepositoryService with AccountService with IssuesService with PullRequestService with MilestonesService with LabelsService with RepositoryService with AccountService with IssuesService with PullRequestService with MilestonesService with LabelsService
with CommitsService with ActivityService with WebHookPullRequestService with ReferrerAuthenticator with CollaboratorsAuthenticator with CommitsService with ActivityService with WebHookPullRequestService with ReferrerAuthenticator with CollaboratorsAuthenticator
with CommitStatusService with MergeService with CommitStatusService with MergeService
trait PullRequestsControllerBase extends ControllerBase { trait PullRequestsControllerBase extends ControllerBase {
self: RepositoryService with AccountService with IssuesService with MilestonesService with LabelsService self: RepositoryService with AccountService with IssuesService with MilestonesService with LabelsService
with CommitsService with ActivityService with PullRequestService with WebHookPullRequestService with ReferrerAuthenticator with CollaboratorsAuthenticator with CommitsService with ActivityService with PullRequestService with WebHookPullRequestService with ReferrerAuthenticator with CollaboratorsAuthenticator

View File

@@ -1,5 +1,6 @@
package gitbucket.core.controller package gitbucket.core.controller
import gitbucket.core.api._
import gitbucket.core.repo.html import gitbucket.core.repo.html
import gitbucket.core.helper import gitbucket.core.helper
import gitbucket.core.service._ import gitbucket.core.service._
@@ -24,9 +25,6 @@ import org.eclipse.jgit.revwalk.RevCommit
import org.eclipse.jgit.treewalk._ import org.eclipse.jgit.treewalk._
import org.scalatra._ import org.scalatra._
// TODO(tanacasino) Fix package name
import api._
class RepositoryViewerController extends RepositoryViewerControllerBase class RepositoryViewerController extends RepositoryViewerControllerBase
with RepositoryService with AccountService with ActivityService with IssuesService with WebHookService with CommitsService with RepositoryService with AccountService with ActivityService with IssuesService with WebHookService with CommitsService

View File

@@ -1,33 +1,18 @@
package gitbucket.core.service package gitbucket.core.service
import gitbucket.core.model.{WebHook, Account, Issue, PullRequest, IssueComment, Repository} import gitbucket.core.api._
import gitbucket.core.model.{WebHook, Account, Issue, PullRequest, IssueComment}
import gitbucket.core.model.Profile._ import gitbucket.core.model.Profile._
import profile.simple._ import profile.simple._
import gitbucket.core.service.RepositoryService.RepositoryInfo
import gitbucket.core.util.JGitUtil
import gitbucket.core.util.JGitUtil.CommitInfo import gitbucket.core.util.JGitUtil.CommitInfo
import gitbucket.core.util.RepositoryName import gitbucket.core.util.RepositoryName
import org.slf4j.LoggerFactory
import gitbucket.core.service.RepositoryService.RepositoryInfo import gitbucket.core.service.RepositoryService.RepositoryInfo
import org.slf4j.LoggerFactory
import RepositoryService.RepositoryInfo
import org.eclipse.jgit.diff.DiffEntry
import JGitUtil.CommitInfo
import org.eclipse.jgit.api.Git
import org.apache.http.message.BasicNameValuePair
import org.apache.http.client.entity.UrlEncodedFormEntity
import org.apache.http.NameValuePair import org.apache.http.NameValuePair
import java.util.Date import org.apache.http.client.entity.UrlEncodedFormEntity
import org.apache.http.message.BasicNameValuePair
// TODO(tanacasino): Fix package name import org.eclipse.jgit.api.Git
import api._ import org.slf4j.LoggerFactory
trait WebHookService { trait WebHookService {

View File

@@ -1,8 +1,16 @@
package gitbucket.core.servlet package gitbucket.core.servlet
import gitbucket.core.api
import gitbucket.core.model.Session import gitbucket.core.model.Session
import gitbucket.core.service.IssuesService.IssueSearchCondition
import gitbucket.core.service.WebHookService._
import gitbucket.core.service._ import gitbucket.core.service._
import gitbucket.core.util.ControlUtil._
import gitbucket.core.util.Implicits._
import gitbucket.core.util.JGitUtil.CommitInfo
import gitbucket.core.util._ import gitbucket.core.util._
import org.eclipse.jgit.api.Git
import org.eclipse.jgit.http.server.GitServlet import org.eclipse.jgit.http.server.GitServlet
import org.eclipse.jgit.lib._ import org.eclipse.jgit.lib._
import org.eclipse.jgit.transport._ import org.eclipse.jgit.transport._
@@ -12,13 +20,7 @@ import org.slf4j.LoggerFactory
import javax.servlet.ServletConfig import javax.servlet.ServletConfig
import javax.servlet.ServletContext import javax.servlet.ServletContext
import javax.servlet.http.{HttpServletResponse, HttpServletRequest} import javax.servlet.http.{HttpServletResponse, HttpServletRequest}
import gitbucket.core.util.StringUtil
import gitbucket.core.util.ControlUtil._
import gitbucket.core.util.Implicits._
import WebHookService._
import org.eclipse.jgit.api.Git
import JGitUtil.CommitInfo
import IssuesService.IssueSearchCondition
/** /**
* Provides Git repository via HTTP. * Provides Git repository via HTTP.

View File

@@ -1,5 +1,6 @@
package gitbucket.core.util package gitbucket.core.util
import gitbucket.core.api.JsonFormat
import gitbucket.core.controller.Context import gitbucket.core.controller.Context
import gitbucket.core.servlet.Database import gitbucket.core.servlet.Database
@@ -19,7 +20,7 @@ object Implicits {
// Convert to slick session. // Convert to slick session.
implicit def request2Session(implicit request: HttpServletRequest): JdbcBackend#Session = Database.getSession(request) implicit def request2Session(implicit request: HttpServletRequest): JdbcBackend#Session = Database.getSession(request)
implicit def context2ApiJsonFormatContext(implicit context: Context): api.JsonFormat.Context = api.JsonFormat.Context(context.baseUrl) implicit def context2ApiJsonFormatContext(implicit context: Context): JsonFormat.Context = JsonFormat.Context(context.baseUrl)
implicit class RichSeq[A](seq: Seq[A]) { implicit class RichSeq[A](seq: Seq[A]) {