All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jgrapht.graph.sample.AbTestInstanceWorker Maven / Gradle / Ivy

package org.jgrapht.graph.sample;

import java.util.Map;

import org.apache.commons.collections4.MapUtils;
import org.jgrapht.graph.DagStatus;
import org.jgrapht.graph.dagger.VertexDataset;
import org.jgrapht.graph.dagger.VertexStateful;
import org.jgrapht.graph.pipeline.DataPipeline;

import com.spring.boxes.dollar.RandomUtils;

// 示例算子
public class AbTestInstanceWorker implements DataPipeline {

    @Override
    public VertexDataset pipeline(String vertexId, Map context) {
        VertexStateful vertexDataset = new VertexStateful();
        vertexDataset.setDagStatus(DagStatus.RUNNING);
        context.put(vertexId, RandomUtils.randomNumber(5));
        vertexDataset.setContext(context);
        if(vertexId.equalsIgnoreCase("abTestInstanceWorker_1")){
            int path = MapUtils.getIntValue(context, "path", 0);
            if(path == 3){
                // 选择resourceAbTestInstanceWorker_3结点
                vertexDataset.setTargetVertexId("abTestInstanceWorker_3");
            } else {
                // 选择resourceAbTestInstanceWorker_3结点
                vertexDataset.setTargetVertexId("visitorPortraitCheckWorker_2");
            }
            return vertexDataset;
        }
        if(vertexId.equalsIgnoreCase("abTestInstanceWorker_5")){
            int path = MapUtils.getIntValue(context, "path", 0);
            if(path == 0){
                vertexDataset.setTargetVertexId("abTestInstanceWorker_3");
            } else {
                vertexDataset.setTargetVertexId("grayTestInstanceDataWorker_4");
            }
        }
        // 选择resourceAbTestInstanceWorker_3结点
        return vertexDataset;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy