123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- package com.its.vms.config;
- import com.its.app.utils.NettyUtils;
- import com.its.app.utils.SysUtils;
- import com.its.vms.domain.VmsConstants;
- import lombok.Getter;
- import lombok.Setter;
- import lombok.ToString;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.boot.context.properties.ConfigurationProperties;
- import org.springframework.context.annotation.Configuration;
- import javax.annotation.PostConstruct;
- import java.io.File;
- import java.nio.file.Path;
- import java.nio.file.Paths;
- @Slf4j
- @Getter
- @Setter
- @ToString
- @Configuration
- @ConfigurationProperties(prefix = "application")
- public class ApplicationConfig {
- public static String FTP_FORM = "FORM";
- public static String FTP_VIDEO = "VIDEO";
- public static String FTP_STATIC = "STATIC";
- public static String FTP_IMAGE = "IMAGE";
- private String bootingDateTime;
- private boolean startSchedule;
- private String id = "VMS01";
- private String name = "VMS Communication Server";
- private boolean history = true;
- private boolean statistics = true;
- private String userId = "admin";
- private String userPswd = "1234";
- // Center Communication Config
- private boolean centerCommEnable = true;
- private int listenPort = 30200;
- protected String bindingAddr = "0.0.0.0";
- protected int backlog = 0;
- protected int acceptThreads = 0;
- protected int workerThreads = 0;
- protected int rcvBuf = 0;
- protected int sndBuf = 0;
- protected int readerIdleTimeSeconds = 0;
- protected int writerIdleTimeSeconds = 0;
- protected int allIdleTimeSeconds = 0;
- protected int connectTimeoutSeconds = 0;
- private String ftpHomeDir = "./ftp";
- private String ftpServerIp = "";
- private int ftpServerPort = 9871;
- private int ftpPassiveMode = 0;
- private String ftpUserId = "vmsuser";
- private String ftpUserPswd = "vmsuser#1234";
- private String ftpFormDir ; // FTP Form Directory
- private String ftpVideoDir; // FTP Video Directory
- private String ftpStaticDir; // FTP 정적폼 Directory
- private String ftpImageDir; // FTP Image Directory
- private boolean loadDb = true;
- private boolean requestDeviceId = true;
- private int maxDownloadForms = 10;
- private int cngstContCount = 2;
- private int maxCngstForms = 5;
- private int bottomTrafficMax = 1;
- private int bottomTrafficCycle = 0;
- private boolean figureTrafficCenter = true;
- private boolean textTrafficCenter = true;
- private String figureTrafGrad1 = "원활";
- private String figureTrafGrad2 = "지체";
- private String figureTrafGrad3 = "정체";
- private String textTrafGrad1 = "소통원활";
- private String textTrafGrad2 = "지 체";
- private String textTrafGrad3 = "정 체";
- private boolean imageSeqSave = false;
- private float fontSizeRatio = 1.35f;
- private boolean checkNewForm = true;
- private boolean downloadBitmapForm = false;
- private boolean useParking = false;
- @PostConstruct
- private void init() {
- this.startSchedule = false;
- final int DEFAULT_EVENT_THREADS = Runtime.getRuntime().availableProcessors() * 2;
- if (this.bindingAddr.equals("")) {
- this.bindingAddr = "0.0.0.0";
- }
- if (this.backlog == 0) {
- this.backlog = 32;
- }
- if (this.acceptThreads == 0) {
- this.acceptThreads = DEFAULT_EVENT_THREADS;
- }
- if (this.workerThreads == 0) {
- this.workerThreads = DEFAULT_EVENT_THREADS;
- }
- if (this.rcvBuf == 0) {
- this.rcvBuf = Short.MAX_VALUE / 2;
- }
- if (this.sndBuf == 0) {
- this.sndBuf = Short.MAX_VALUE / 2;
- }
- this.bootingDateTime = SysUtils.getSysTimeStr();
- if (this.maxDownloadForms < VmsConstants.VMS_MIN_DOWNLOAD_FORMS) this.maxDownloadForms = VmsConstants.VMS_MIN_DOWNLOAD_FORMS;
- if (this.maxDownloadForms > VmsConstants.VMS_MAX_DOWNLOAD_FORMS) this.maxDownloadForms = VmsConstants.VMS_MAX_DOWNLOAD_FORMS;
- if (this.ftpHomeDir == null || this.ftpHomeDir.trim().length() == 0) {
- Path filePath = Paths.get(System.getProperty("user.dir"), "ftp");
- this.ftpHomeDir = filePath.toFile().getAbsolutePath();
- }
- this.ftpHomeDir = this.ftpHomeDir.trim();
- this.ftpFormDir = this.ftpHomeDir + File.separator + FTP_FORM + File.separator; // FTP Form Directory
- this.ftpVideoDir = this.ftpHomeDir + File.separator + FTP_VIDEO + File.separator; // FTP Video Directory
- this.ftpStaticDir = this.ftpHomeDir + File.separator + FTP_STATIC + File.separator; // FTP 정적폼 Directory
- this.ftpImageDir = this.ftpHomeDir + File.separator + FTP_IMAGE + File.separator; // FTP Image Directory
- makeDirectory(this.ftpHomeDir, "ftp Home directory");
- makeDirectory(this.ftpFormDir, "ftp Form directory");
- makeDirectory(this.ftpVideoDir, "ftp Video directory");
- makeDirectory(this.ftpStaticDir, "ftp Static Form directory");
- makeDirectory(this.ftpImageDir, "ftp Image directory");
- this.ftpServerIp = this.ftpServerIp.trim();
- if (this.ftpServerIp.isEmpty()) {
- this.ftpServerIp = NettyUtils.getLocalAddress();
- log.error("dddddddddddddddddddddddddddddddddd: {}", this.ftpServerIp);
- }
- if (this.fontSizeRatio == 0f) {
- this.fontSizeRatio = 1.35f;
- }
- log.info("{}", this);
- }
- public boolean makeDirectory(String path, String desc) {
- boolean result = false;
- File folder = new File(path);
- if (!folder.exists()) {
- try {
- result = folder.mkdir(); //폴더 생성합니다.
- log.info("{}, ({}) created.", folder.getAbsolutePath(), desc);
- }
- catch(Exception e) {
- log.error("{}, ({}) create failed. {}.", folder.getAbsolutePath(), desc, e.getMessage());
- }
- }
- return result;
- }
- }
|