package com.its.op.global;

import com.its.op.entity.its.vds.TbVdsCtlr;
import com.its.op.dao.repository.its.vds.TbVdsCtlrRepository;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;
import java.util.List;
import java.util.concurrent.ConcurrentHashMap;

@Slf4j
@RequiredArgsConstructor
@Getter
@Component
public class VdsManager {

    private final TbVdsCtlrRepository repo;

    private static final ConcurrentHashMap<String, TbVdsCtlr> objMap = new ConcurrentHashMap<>();

    @PostConstruct
    void init() {
        load();
    }

    public void load() {

        List<TbVdsCtlr> objList = repo.findAll();
        objList.forEach(obj -> {
            objMap.put(obj.getVdsCtlrId(), obj);
        });
        //log.info("=== {}", objMap);
    }

    public static TbVdsCtlr get(String id) {
        if (id == null) {
            return null;
        }
        return objMap.get(id);
    }
}
