com.greenline.hrs.admin.web.war.cache.redis.RedisConnConfigController.java Source code

Java tutorial

Introduction

Here is the source code for com.greenline.hrs.admin.web.war.cache.redis.RedisConnConfigController.java

Source

/*
 * Project: admin-parent
 * 
 * File Created at 2014-04-01
 * 
 * Copyright 2012 Greenline.com Corporation Limited.
 * All rights reserved.
 *
 * This software is the confidential and proprietary information of
 * Greenline Company. ("Confidential Information").  You shall not
 * disclose such Confidential Information and shall use it only in
 * accordance with the terms of the license agreement you entered into
 * with Greenline.com.
 */
package com.greenline.hrs.admin.web.war.cache.redis;

import com.greenline.hrs.admin.cache.redis.po.RedisConnConfig;
import com.greenline.hrs.admin.cache.redis.service.RedisConnConfigService;
import com.greenline.hrs.admin.cache.redis.util.RedisValidationUtil;
import com.greenline.hrs.admin.web.base.cache.cons.RedisResponseConst;
import com.greenline.hrs.admin.web.base.cache.cons.RedisViewsConst;
import com.greenline.hrs.admin.web.base.common.cons.WebResponseConst;
import com.greenline.hrs.admin.web.base.user.cons.UserResponseConst;
import com.greenline.hrs.admin.web.base.util.JSONResponseUtil;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @author July
 * @Type RedisConnConfigController
 * @Desc Redis??Controller
 * @date 2014-04-01
 * @Version V1.0
 */
@Controller
@RequestMapping("/cache/redis/conn")
public class RedisConnConfigController {

    /**
     * 
     */
    private static final Log LOG = LogFactory.getLog(RedisConnConfigController.class);

    @Autowired
    private RedisConnConfigService redisConnConfService;

    /**
     * redis??
     *
     * @return id?, ??PO, ??, ??.
     */
    @RequestMapping(value = "edit/{id:\\d+}", method = RequestMethod.GET)
    public String editRedisConnectionPage(@PathVariable Long id, ModelMap modelMap) {
        if (id != null && id > 0) {
            RedisConnConfig redisConnConfig = redisConnConfService.getById(id);
            if (redisConnConfig != null) {
                modelMap.put("redisConnConfig", redisConnConfig);
            }
        }
        return RedisViewsConst.EDIT_REDIS_CONNECTION_VIEW;
    }

    /**
     * Redis
     *
     * @param redisConnConfig ???
     * @param modelMap        ?Map
     * @return ??
     */
    @RequestMapping(value = "edit", method = RequestMethod.POST)
    public String editRedisConnection(@ModelAttribute RedisConnConfig redisConnConfig, ModelMap modelMap) {
        modelMap.remove(WebResponseConst.ERROR_MESSAGES);
        modelMap.remove(WebResponseConst.INFO_MESSAGES);
        List<String> infoMessages = null;
        List<String> errorMessages = null;
        if (RedisValidationUtil.isConfigRight(redisConnConfig)) {
            infoMessages = new ArrayList<String>();
            infoMessages.add(RedisResponseConst.CONNECTION_SUCCESS);
            Date now = new Date();
            redisConnConfig.setCreateTime(now);
            redisConnConfig.setUpdateTime(now);
            // TODO Set the operator ID
            redisConnConfig.setUserId(0L);
            redisConnConfig.setGroupId(0);
            if (redisConnConfig.getId() != null
                    && redisConnConfService.updateRedisConnectionConfig(redisConnConfig)) {
                infoMessages.add(RedisResponseConst.CONNECTION_SAVE_SUCCESS);
            } else if (redisConnConfig.getId() == null
                    && redisConnConfService.addRedisConnectionConfig(redisConnConfig) != null) {
                infoMessages.add(RedisResponseConst.CONNECTION_SAVE_SUCCESS);
            } else {
                errorMessages = new ArrayList<String>();
                errorMessages.add(RedisResponseConst.CONNECTION_SAVE_ERROR);
                modelMap.put(WebResponseConst.ERROR_MESSAGES, errorMessages);
            }
            modelMap.put(WebResponseConst.INFO_MESSAGES, infoMessages);
        } else {
            errorMessages = new ArrayList<String>();
            errorMessages.add(RedisResponseConst.CONNECTION_ERROR);
            modelMap.put(WebResponseConst.ERROR_MESSAGES, errorMessages);
        }
        modelMap.put("redisConnConfig", redisConnConfig);
        return RedisViewsConst.EDIT_REDIS_CONNECTION_VIEW;
    }

    /**
     * ?redis?
     *
     * @param modelMap
     * @return
     */
    @RequestMapping(value = "list", method = RequestMethod.GET)
    public String listRedisConnectionPage(ModelMap modelMap) {
        modelMap.put("redisConnList", redisConnConfService.getListByUid(0L));
        return RedisViewsConst.LIST_REDIS_CONNECTION_VIEW;
    }

    /**
     * 
     *
     * @param paramsMap ?,redisid.
     * @return JSON?, ???.
     */
    @RequestMapping(value = "/del", method = RequestMethod.POST, produces = { "application/json;charset=UTF-8" })
    @ResponseBody
    public String deleteRedisConnection(@RequestBody MultiValueMap<String, String> paramsMap) {
        String uidStr = paramsMap.getFirst("rid");
        //redisid??,
        if (!StringUtils.isNumeric(uidStr)) {
            LOG.info(UserResponseConst.ADD_USER_FAIL + uidStr);
            return JSONResponseUtil.failString(RedisResponseConst.CONNECTION_DEL_ERROR);
        }
        redisConnConfService.delete(Long.valueOf(uidStr));
        return JSONResponseUtil.successString(RedisResponseConst.CONNECTION_DEL_SUCCESS);
    }

}