TsiNodeManager.java 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package com.tsi.comm.server.repository;
  2. import com.tsi.comm.server.vo.TsiNodeVo;
  3. import lombok.Getter;
  4. import lombok.RequiredArgsConstructor;
  5. import lombok.extern.slf4j.Slf4j;
  6. import org.springframework.stereotype.Component;
  7. import java.util.Map;
  8. import java.util.concurrent.ConcurrentHashMap;
  9. @Slf4j
  10. @Getter
  11. @RequiredArgsConstructor
  12. @Component
  13. public class TsiNodeManager {
  14. private final ConcurrentHashMap<Long, TsiNodeVo> tsiNodeVoMap = new ConcurrentHashMap<>();
  15. private final ConcurrentHashMap<String, TsiNodeVo> ipAddrMap = new ConcurrentHashMap<>();
  16. public TsiNodeVo get(long nodeId) {
  17. return this.tsiNodeVoMap.get(nodeId);
  18. }
  19. public void put(long nodeId, TsiNodeVo vo) {
  20. this.tsiNodeVoMap.put(nodeId, vo);
  21. }
  22. public int size() {
  23. return this.tsiNodeVoMap.size();
  24. }
  25. public TsiNodeVo getIpAddr(String ipAddr) {
  26. if (ipAddr == null || ipAddr.isEmpty()) {
  27. return null;
  28. }
  29. return this.ipAddrMap.get(ipAddr);
  30. }
  31. public void putIpAddr(String ipAddr, TsiNodeVo vo) {
  32. if (ipAddr == null || ipAddr.isEmpty()) {
  33. return;
  34. }
  35. this.ipAddrMap.put(ipAddr, vo);
  36. }
  37. public int sizeIpAddr() {
  38. return this.ipAddrMap.size();
  39. }
  40. public boolean containsKey(long key) {
  41. return this.tsiNodeVoMap.containsKey(key);
  42. }
  43. public void beforeLoading() {
  44. for (Map.Entry<Long, TsiNodeVo> obj : this.tsiNodeVoMap.entrySet()) {
  45. obj.getValue().setCheckInstalled(false);
  46. }
  47. }
  48. public void afterLoading() {
  49. for (Map.Entry<Long, TsiNodeVo> obj : this.tsiNodeVoMap.entrySet()) {
  50. if (obj.getValue().isRegistered()) {
  51. obj.getValue().setInstalled(obj.getValue().isCheckInstalled());
  52. }
  53. }
  54. }
  55. public void initDump() {
  56. for (Map.Entry<Long, TsiNodeVo> obj : this.tsiNodeVoMap.entrySet()) {
  57. TsiNodeVo node = obj.getValue();
  58. node.setDump(false);
  59. }
  60. }
  61. }