in model/experiment.go [96:142]
func (r *ExperimentResult) Init() {
buf := bytes.NewBuffer(nil)
if r.ExperimentRoom != nil {
buf.WriteString("ER")
buf.WriteString(strconv.Itoa(int(r.ExperimentRoom.ExpRoomId)))
}
for _, layer := range r.Layers {
buf.WriteString("_L")
buf.WriteString(strconv.Itoa(int(layer.LayerId)))
if experimentGroup, found := r.layer2ExperimentGroup[layer.LayerName]; found {
buf.WriteString("#")
buf.WriteString("EG")
buf.WriteString(strconv.Itoa(int(experimentGroup.ExpGroupId)))
layerParams := NewLayerParams()
params := make(map[string]interface{}, 0)
if experimentGroup.ExpGroupConfig != "" {
if err := json.Unmarshal([]byte(experimentGroup.ExpGroupConfig), ¶ms); err == nil {
layerParams.AddParams(params)
}
}
if experiment, found := r.layer2Experiment[layer.LayerName]; found {
if experiment.Type != common.Experiment_Type_Default {
buf.WriteString("#")
buf.WriteString("E")
buf.WriteString(strconv.Itoa(int(experiment.ExperimentId)))
}
//buf.WriteString("#")
if experiment.ExperimentConfig != "" {
if err := json.Unmarshal([]byte(experiment.ExperimentConfig), ¶ms); err == nil {
layerParams.AddParams(params)
}
}
}
r.layerParamsMap[layer.LayerName] = layerParams
}
}
id := buf.String()
if len(id) > 0 {
if id[len(id)-1] == '#' || id[len(id)-1] == '_' {
id = id[0 : len(id)-1]
}
}
r.ExpId = id
}