/**
 * <p>Copyright:Copyright(c) 2017</p>
 * <p>Company:上海中信信息发展股份有限公司</p>
 * <p>包名:com.cesgroup.cesmonitor.ws</p>
 * <p>文件名:MapServiceController.java</p>
 * <p>创建时间:2017年8月27日 下午2:09:59</p>
 * <p>作者:Administrator</p>
 */

package com.cesgroup.cesmonitor.ws;

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

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.cesgroup.cesmonitor.service.IdentityService;
import com.cesgroup.cesmonitor.service.MapService;

/**
 *
 * @author cloud
 * @version 1.0.0 2017年8月27日
 */
@Controller
@RequestMapping(value = "/ws/map")
public class MapServiceController {

    @Autowired
    MapService mapService;

    @Autowired
    protected IdentityService identityService;

    /**
     *
     * @param name
     *            拓扑图名称
     * @param gatewayIPs
     *            网关节点列表
     * @param layoutFlag
     *            布局方式1:基本布局；1：伞型(纵向)；2：扇形(纵向)；3：伞型（横向）；4：扇形（横向）
     */
    @RequestMapping(value = "creatMapByHosts")
    @ResponseBody
    public void creatMapByHosts(String name, String gatewayIPs, int layoutFlag) {
        IdentifyServiceController.checkLogin(identityService);
        //将String字符串转换成List<String>类型
        String temp[] = gatewayIPs.split(",");
        List<String> ips = new ArrayList<String>();

        for (int i = 0; i < temp.length; i++) {
            ips.add(temp[i]);
        }
        mapService.createFromHosts(name, ips, layoutFlag);
    }

    /**
     *
     * 根据zabbix IT服务创建拓扑图
     *
     * @param serviceId
     *            IT服务节点ID
     */
    @RequestMapping(value = "createFromITService")
    @ResponseBody
    public void createFromITService(Integer serviceId) {
        IdentifyServiceController.checkLogin(identityService);
        mapService.createFromITService(serviceId);
    }
}
