package examples
- Alphabetic
- Public
- All
Type Members
-
case class
Clone
(repoFolderLocation: String = "mockfixrexample/repos") extends Mapper[GitID, GitRepo] with Product with Serializable
This is a simple Mapper step that clones a GitID and gives back the GitRepo.
-
case class
CommitExtraction
() extends Mapper[GitRepo, GitCommitInfo] with Product with Serializable
This is a simple Mapper step that takes a GitRepo and gives back the GitCommits and the GitCommitInfos that we need.
-
case class
FindAuthor
() extends Reducer[GitCommitInfo, GitCommitGroups] with Product with Serializable
This is a simple Reducer step that takes the GitCommitInfo, finds the author, and increments their commit value.
-
case class
GitCommitGroups
(author: String, gitCommitInfos: Int) extends Identifiable[GitCommitGroups] with Product with Serializable
The Identifiable of which author created how many commits.
The Identifiable of which author created how many commits.
- author
The author that we're tracking.
- gitCommitInfos
The amount of git commits the author has made.
-
case class
GitCommitInfo
(gitRepo: GitRepo, hash: String, author: String) extends Identifiable[GitCommitInfo] with Product with Serializable
An Identifiable for a Commit of a GitRepo, with the hash and the person that created it.
An Identifiable for a Commit of a GitRepo, with the hash and the person that created it.
- gitRepo
The GitRepo
- hash
The hash of the commit
- author
The author that made the commit.
- case class GitFeatures (gitRepo: GitRepo, hash: String, file: String, protobuf: String) extends Identifiable[GitFeatures] with Product with Serializable
-
case class
GitID
(user: String, repo: String) extends Identifiable[GitID] with Product with Serializable
This is an Identifiable that represents a Github ID for a repo.
This is an Identifiable that represents a Github ID for a repo.
- user
The user that the repo belongs to.
- repo
The repo name.
-
case class
GitRepo
(gitID: GitID, repoPath: String) extends Identifiable[GitRepo] with Product with Serializable
An Identifiable that represents a Git Repo.
An Identifiable that represents a Git Repo.
- gitID
The GitID for the repo.
- repoPath
Where the repo actually lives.
Value Members
-
object
GitCommitGroupSerializer
extends JsonSerializer[GitCommitGroups]
A JsonSerializer for GitCommitGroups
-
object
GitCommitInfoSerializer
extends JsonSerializer[GitCommitInfo]
A JsonSerializer for a GitCommitInfo.
-
object
GitIDSerializer
extends JsonSerializer[GitID]
The JsonSerializer for GitIDs.
-
object
GitRepoSerializer
extends JsonSerializer[GitRepo]
A JsonSerializer for GitRepos.
-
object
MockProtocol2
extends DefaultJsonProtocol
Created by chanceroberts on 4/2/18.
Created by chanceroberts on 4/2/18. This is an example that was created to get a glimpse of BigGlue. In practice, this is kind of simple, being something that clones a repo, takes the commits, and finds which author created the most commits.
-
object
NestedWithGitRepo
For Solr, we have to make sure that the JSON is completely flat.
For Solr, we have to make sure that the JSON is completely flat. This is kind of a weird workaround to that, making it so nested repos are merged back and forth.
-
object
mockfixrexample
This is the actual code for the simple example.
This is the actual code for the simple example. It first gets the configuration file with PipeConfig.newConfig Then, it creates a few SolrDataMaps to put the data in within each step. To start, it also puts in a Git ID into gitID for the sake of having a starting point for the example. Then, with gitID:--Clone()-->clonedMap:--CommitExtraction()-->commitInfoMap:-+FindAuthor()+->authorMap, it creates this: bigglue.pipes.ReducerPipe(bigglue.pipes.MapperPipe(bigglue.pipes.MapperPipe(bigglue.pipes.Implicits.DataNode(gitID), Clone(), bigglue.pipes.Implicits.DataNode(clonedMap)), CommitExtraction(), bigglue.pipes.Implicits.DataNode(commitInfoMap)), FindAuthor(), bigglue.pipes.Implicits.DataNode(authorMap)) Then, with a pipe, we run bigglue.pipes.Pipe.check and bigglue.pipes.Pipe.init to initialize the pipeline. Finally, we run bigglue.pipes.Pipe.persist to start/resume the pipeline.