SignalStateData.java 1.07 KB
package com.bsth.data.gpsdata;

import com.bsth.data.gpsdata.arrival.entity.SignalState;
import com.bsth.websocket.handler.SendUtils;
import com.google.common.base.Splitter;
import com.google.common.collect.ArrayListMultimap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

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

/**
 * 信号状态数据
 * Created by panzhao on 2016/12/30.
 */
@Component
public class SignalStateData {

    @Autowired
    SendUtils sendUtils;

    private static ArrayListMultimap<String, SignalState> listMultimap = ArrayListMultimap.create();

    public void put(SignalState state){
        listMultimap.put(state.getLineCode(), state);
        //推送到客户端
        sendUtils.sendSignalState(state);
    }

    public List<SignalState> get(String idx){
        List<SignalState> rs = new ArrayList<>();
        List<String> ids = Splitter.on(",").splitToList(idx);

        for(String lineCode : ids){
            rs.addAll(listMultimap.get(lineCode));
        }
        return rs;
    }
}