Package com.bazoud.elasticsearch.river.git

Source Code of com.bazoud.elasticsearch.river.git.FunctionFlowFactory

package com.bazoud.elasticsearch.river.git;

import com.bazoud.elasticsearch.river.git.beans.Context;
import com.bazoud.elasticsearch.river.git.flow.CloneRepositoryFunction;
import com.bazoud.elasticsearch.river.git.flow.CommitIndexFunction;
import com.bazoud.elasticsearch.river.git.flow.FetchRepositoryFunction;
import com.bazoud.elasticsearch.river.git.flow.FileIndexFunction;
import com.bazoud.elasticsearch.river.git.flow.InitializeFunction;
import com.bazoud.elasticsearch.river.git.flow.TagIndexFunction;
import com.bazoud.elasticsearch.river.git.flow.predicates.FetchOrCloneRepositoryPredicate;
import com.bazoud.elasticsearch.river.git.guava.FunctionFlow;
import com.bazoud.elasticsearch.river.git.guava.PredicateFunction;

/**
* @author Olivier Bazoud
*/
public class FunctionFlowFactory {
    public FunctionFlow<Context> create() {
        return FunctionFlow.<Context>flow()
            .add(new InitializeFunction())
            .add(
                new PredicateFunction<Context, Context>(
                    new FetchRepositoryFunction(),
                    new CloneRepositoryFunction(),
                    new FetchOrCloneRepositoryPredicate()
                )
            )
            .add(new CommitIndexFunction())
            .add(new TagIndexFunction())
            .add(new FileIndexFunction())
            .build();
    }
}
TOP

Related Classes of com.bazoud.elasticsearch.river.git.FunctionFlowFactory

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.