p

bigglue

examples

package examples

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. case class GitFeatures (gitRepo: GitRepo, hash: String, file: String, protobuf: String) extends Identifiable[GitFeatures] with Product with Serializable
  7. 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.

  8. 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

  1. object GitCommitGroupSerializer extends JsonSerializer[GitCommitGroups]

    A JsonSerializer for GitCommitGroups

  2. object GitCommitInfoSerializer extends JsonSerializer[GitCommitInfo]

    A JsonSerializer for a GitCommitInfo.

  3. object GitIDSerializer extends JsonSerializer[GitID]

    The JsonSerializer for GitIDs.

  4. object GitRepoSerializer extends JsonSerializer[GitRepo]

    A JsonSerializer for GitRepos.

  5. 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.

  6. 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.

  7. 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.

Ungrouped