package com.evp.comm.server.dto; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import lombok.extern.slf4j.Slf4j; import java.nio.ByteBuffer; import java.nio.ByteOrder; @Slf4j @Data @Builder @NoArgsConstructor//(access = AccessLevel.PROTECTED) @AllArgsConstructor public class EvpsCenter { private int idx; private String centerId; /* 지역 코드 */ private String centerNm; /* 지역 명 */ private String ipAddress; /* IP Address */ private boolean useYn; private boolean dump; // 센터 네트워크 상태 정보 private NetState netState; private ByteBuffer serviceBuffer = null; private ByteBuffer nodeBuffer = null; private ByteBuffer signalBuffer = null; public String getLogKey() { return this.centerId; } public void update(EvpsCenter dto) { this.centerNm = dto.getCenterNm(); this.ipAddress = dto.getIpAddress(); this.useYn = dto.isUseYn(); this.dump = dto.isDump(); } public void clearServiceBuffer() { this.serviceBuffer = null; } public void clearNodeBuffer() { this.nodeBuffer = null; } public void clearSignalBuffer() { this.signalBuffer = null; } public void addServiceBuffer(byte[] buffer) { if (buffer == null) { return; } if (this.serviceBuffer == null) { this.serviceBuffer = ByteBuffer.wrap(buffer); serviceBuffer.order(ByteOrder.BIG_ENDIAN); } else { byte[] prevBuffer = this.serviceBuffer.array(); this.serviceBuffer = ByteBuffer.allocate(prevBuffer.length + buffer.length); this.serviceBuffer.put(prevBuffer); this.serviceBuffer.put(buffer); } } public void addNodeBuffer(byte[] buffer) { if (buffer == null) { return; } if (this.nodeBuffer == null) { this.nodeBuffer = ByteBuffer.wrap(buffer); nodeBuffer.order(ByteOrder.BIG_ENDIAN); } else { byte[] prevBuffer = this.nodeBuffer.array(); this.nodeBuffer = ByteBuffer.allocate(prevBuffer.length + buffer.length); this.nodeBuffer.put(prevBuffer); this.nodeBuffer.put(buffer); } } public void addSignalBuffer(byte[] buffer) { if (buffer == null) { return; } if (this.signalBuffer == null) { this.signalBuffer = ByteBuffer.wrap(buffer); signalBuffer.order(ByteOrder.BIG_ENDIAN); } else { byte[] prevBuffer = this.signalBuffer.array(); this.signalBuffer = ByteBuffer.allocate(prevBuffer.length + buffer.length); this.signalBuffer.put(prevBuffer); this.signalBuffer.put(buffer); } } }