package cokr.xit.fims;

import java.util.List;

import org.springframework.core.io.ClassPathResource;

import cokr.xit.foundation.AbstractComponent;
import cokr.xit.foundation.data.JSON;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class FimsConf extends AbstractComponent {
	private static final FimsConf conf;

	static {
		try {
			conf = new JSON().parse(new ClassPathResource("xit-fims.conf").getInputStream(), FimsConf.class);
		} catch (Exception e) {
			throw runtimeException(e);
		}
	}

	public static FimsConf get() {
		return conf;
	}

	private String sgg; // WAS서버 시군구코드

	private List<String> tasks; // 업무코드
	private List<String> taskUrlNames; // 업무URL명칭
	private String systemGubun;
	private boolean urlPrefixedWithTask; //URL에 업무코드 추가 여부

	private List<String> sggNet; // 시군구별 내부망 IP대역
	private List<String> externalEntNet; // 외부 협력업체PC IP

	private String publicInfoCarYn; // 차적조회연계 행공센연계여부
	private String nxrpDemonYn; // 차세대연계 별도 프로세스 여부

	private String disabledParkingDemonYn; // 장애인표지조회연계 별도 프로세스 여부
	private String disabledParkingDemonUrl;// 장애인표지조회연계 API 아이피,포트
	private String violationFileDir; // 단속파일 디렉토리
	private String txtCharset;

	private boolean disableLvis;  // 차적정보 연계 사용하지 않음
	private boolean lookupEqpPlc; // cctv연계파일에서 단속장소 설정 시 단속장비/장소 테이블 참조 여부

	public String violationFileDir(String dir) {
		String root = blankIfEmpty(violationFileDir).replace("\\", "/");
		return  root + (root.endsWith("/")  ? dir : "/" + dir);
	}
}