package com.baidu.disconf.web.web.config.validator; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import com.baidu.disconf.web.service.app.bo.App; import com.baidu.disconf.web.service.app.service.AppMgr; import com.baidu.disconf.web.service.config.form.ConfForm; import com.baidu.disconf.web.service.config.service.ConfigMgr; import com.baidu.disconf.web.service.env.bo.Env; import com.baidu.disconf.web.service.env.service.EnvMgr; import com.baidu.disconf.web.web.config.dto.ConfigFullModel; import com.baidu.dsp.common.exception.FieldException; /** * @author knightliao */ @Service public class ConfigValidator4Fetch { @Autowired private AppMgr appMgr; @Autowired private EnvMgr envMgr; @Autowired private ConfigMgr configMgr; /** * 此接口是客户的接口,非常 重要,目前没有权限的控制 * * @param confForm */ public ConfigFullModel verifyConfForm(ConfForm confForm, boolean unCheckKey) { // // app // if (StringUtils.isEmpty(confForm.getApp())) { throw new FieldException("app", "app is empty", null); } App app = appMgr.getByName(confForm.getApp()); if (app == null) { throw new FieldException("app", "app " + confForm.getApp() + " doesn't exist in db.", null); } // // env // if (StringUtils.isEmpty(confForm.getEnv())) { throw new FieldException("env", "env is empty", null); } Env env = envMgr.getByName(confForm.getEnv()); if (env == null) { throw new FieldException("env", "env " + confForm.getEnv() + " doesn't exist in db.", null); } // // key // if (!unCheckKey && StringUtils.isEmpty(confForm.getKey())) { throw new FieldException("key", "key is empty", null); } // // version // if (StringUtils.isEmpty(confForm.getVersion())) { throw new FieldException("version", "version is empty", null); } return new ConfigFullModel(app, env, confForm.getVersion(), confForm.getKey()); } }