shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/cloud/ui/web/controller/RegistryCenterController.java [71:123]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    @GetMapping("/load")
    public ResponseResult<Collection<RegistryCenterConfiguration>> load(final HttpServletRequest request) {
        regCenterService.loadActivated().ifPresent(regCenterConfig -> setRegistryCenterNameToSession(regCenterConfig, request.getSession()));
        return ResponseResultUtil.build(regCenterService.loadAll().getRegistryCenterConfiguration());
    }
    
    /**
     * Add registry center.
     *
     * @param config registry center configuration
     * @return success to add or not
     */
    @PostMapping("/add")
    public ResponseResult<Boolean> add(@RequestBody final RegistryCenterConfiguration config) {
        return ResponseResultUtil.build(regCenterService.add(config));
    }
    
    /**
     * Delete registry center.
     *
     * @param config registry center configuration
     */
    @DeleteMapping
    public ResponseResult delete(@RequestBody final RegistryCenterConfiguration config) {
        regCenterService.delete(config.getName());
        return ResponseResultUtil.success();
    }
    
    /**
     * Connect to registry center.
     *
     * @param config  config of registry center
     * @param request HTTP request
     * @return connected or not
     */
    @PostMapping(value = "/connect")
    public ResponseResult<Boolean> connect(@RequestBody final RegistryCenterConfiguration config, final HttpServletRequest request) {
        boolean isConnected = setRegistryCenterNameToSession(regCenterService.find(config.getName(), regCenterService.loadAll()), request.getSession());
        if (isConnected) {
            regCenterService.load(config.getName());
        }
        return ResponseResultUtil.build(isConnected);
    }
    
    private boolean setRegistryCenterNameToSession(final RegistryCenterConfiguration regCenterConfig, final HttpSession session) {
        session.setAttribute(REG_CENTER_CONFIG_KEY, regCenterConfig);
        try {
            RegistryCenterFactory.createCoordinatorRegistryCenter(regCenterConfig.getZkAddressList(), regCenterConfig.getNamespace(), regCenterConfig.getDigest());
            SessionRegistryCenterConfiguration.setRegistryCenterConfiguration((RegistryCenterConfiguration) session.getAttribute(REG_CENTER_CONFIG_KEY));
        } catch (final RegException ex) {
            return false;
        }
        return true;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



shardingsphere-elasticjob-lite-ui/shardingsphere-elasticjob-lite-ui-backend/src/main/java/org/apache/shardingsphere/elasticjob/lite/ui/web/controller/RegistryCenterController.java [71:123]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    @GetMapping("/load")
    public ResponseResult<Collection<RegistryCenterConfiguration>> load(final HttpServletRequest request) {
        regCenterService.loadActivated().ifPresent(regCenterConfig -> setRegistryCenterNameToSession(regCenterConfig, request.getSession()));
        return ResponseResultUtil.build(regCenterService.loadAll().getRegistryCenterConfiguration());
    }
    
    /**
     * Add registry center.
     *
     * @param config registry center configuration
     * @return success to add or not
     */
    @PostMapping("/add")
    public ResponseResult<Boolean> add(@RequestBody final RegistryCenterConfiguration config) {
        return ResponseResultUtil.build(regCenterService.add(config));
    }
    
    /**
     * Delete registry center.
     *
     * @param config registry center configuration
     */
    @DeleteMapping
    public ResponseResult delete(@RequestBody final RegistryCenterConfiguration config) {
        regCenterService.delete(config.getName());
        return ResponseResultUtil.success();
    }
    
    /**
     * Connect to registry center.
     *
     * @param config  config of registry center
     * @param request HTTP request
     * @return connected or not
     */
    @PostMapping(value = "/connect")
    public ResponseResult<Boolean> connect(@RequestBody final RegistryCenterConfiguration config, final HttpServletRequest request) {
        boolean isConnected = setRegistryCenterNameToSession(regCenterService.find(config.getName(), regCenterService.loadAll()), request.getSession());
        if (isConnected) {
            regCenterService.load(config.getName());
        }
        return ResponseResultUtil.build(isConnected);
    }
    
    private boolean setRegistryCenterNameToSession(final RegistryCenterConfiguration regCenterConfig, final HttpSession session) {
        session.setAttribute(REG_CENTER_CONFIG_KEY, regCenterConfig);
        try {
            RegistryCenterFactory.createCoordinatorRegistryCenter(regCenterConfig.getZkAddressList(), regCenterConfig.getNamespace(), regCenterConfig.getDigest());
            SessionRegistryCenterConfiguration.setRegistryCenterConfiguration((RegistryCenterConfiguration) session.getAttribute(REG_CENTER_CONFIG_KEY));
        } catch (final RegException ex) {
            return false;
        }
        return true;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



