func()

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), &params); 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), &params); 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
}