File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
2022-11-06
File name
Commit message
Commit date
File name
Commit message
Commit date
2022-11-06
2022-11-06
2022-11-06
2022-11-06
2022-11-06
2022-11-06
2022-11-06
package common.vo;
import java.util.LinkedHashMap;
import java.util.Map;
public class SystemCode {
//191자 => mariaDB에서 indexing가능한 최대 크기 765Byte/한글 4Byte(utf8mb4)
public final static int DEFAULT_VARCHAR_SIZE = 191;
//mariaDB에서 indexing가능한 varchar 최대 크기 765Byte
public final static int MAX_VARCHAR_SIZE = 765;
//프로그램 이름
public final static String PROGRAM_TITLE = "도로교통 위험분석시스템";
//프로그램 이름 앞에 붙는 문자열
public final static String PROGRAM_TITLE_PREFIX = "";
/**
* @author 최정우
* @since 2020.12.24
*
* 시스템의 사용자 권한을 정의한 상수 Class 입니다.
*/
public enum AuthorityType {
ROLE_ADMIN("관리자")
, ROLE_USER("사용자")
, permitAll("API연계 수집");
private AuthorityType (String value) {
this.value = value;
}
/**
* 한글값
*/
final private String value;
/**
* 한글값 조회
*/
public String getValue () {
return value;
}
/**
* 데이터 수집 타입 목록 조회
*/
public static Map<AuthorityType, String> getAuthorityTypeList () {
Map<AuthorityType, String> info = new LinkedHashMap<AuthorityType, String>();
AuthorityType[] array = AuthorityType.values();
for (int i = 0; i < array.length; i++) {
info.put(array[i], array[i].getValue());
}
return info;
}
}
/**
* @author 최정우
* @since 2020.12.24
*
* 시스템의 사용자 권한을 정의한 상수 Class 입니다.
*/
public enum TrafficAnalysisResultType {
CAR_TO_CAR("차 대 차")
, CAR_TO_PEOPLE("차 대 사람")
, ROAD_CRACK("도로 크랙")
, ROAD_HOLE("도로 웅덩이");
private TrafficAnalysisResultType (String value) {
this.value = value;
}
/**
* 한글값
*/
final private String value;
/**
* 한글값 조회
*/
public String getValue () {
return value;
}
/**
* 데이터 수집 타입 목록 조회
*/
public static Map<TrafficAnalysisResultType, String> getTrafficAnalysisResultTypeList () {
Map<TrafficAnalysisResultType, String> info = new LinkedHashMap<TrafficAnalysisResultType, String>();
TrafficAnalysisResultType[] array = TrafficAnalysisResultType.values();
for (int i = 0; i < array.length; i++) {
info.put(array[i], array[i].getValue());
}
return info;
}
public static TrafficAnalysisResultType codeToType (String code) {
if (code != null && code.length() > 0) {
if (code.equals("0")) {
return ROAD_CRACK;
} else if (code.equals("1")) {
return ROAD_HOLE;
} else if (code.equals("2")) {
return CAR_TO_CAR;
} else if (code.equals("3")) {
return CAR_TO_PEOPLE;
} else {
return null;
}
} else {
return null;
}
}
}
/**
* @author 최정우
* @since 2020.12.24
*
* OpenAPI의 서비스 타입을 정의한 상수 Class 입니다.
*/
public enum APIType {
REST
, RSS
, SOAP;
/**
* 데이터 수집 타입 목록 조회
*/
public static Map<APIType, String> getAPITypeList () {
Map<APIType, String> info = new LinkedHashMap<APIType, String>();
APIType[] array = APIType.values();
for (int i = 0; i < array.length; i++) {
info.put(array[i], array[i].toString());
}
return info;
}
}
/**
* @author 최정우
* @since 2020.12.24
*
* OpenAPI의 데이터 포맷 타입을 정의한 상수 Class 입니다.
*/
public enum APIDataFormatType {
JSON
, XML;
/**
* 데이터 수집 타입 목록 조회
*/
public static Map<APIDataFormatType, String> getAPIDataFormatTypeList () {
Map<APIDataFormatType, String> info = new LinkedHashMap<APIDataFormatType, String>();
APIDataFormatType[] array = APIDataFormatType.values();
for (int i = 0; i < array.length; i++) {
info.put(array[i], array[i].toString());
}
return info;
}
}
/**
* @author 최정우
* @since 2019.11.13
*
* 업로드 파일에 대한 저장 폴더 경로를 정의한 상수 Class
* MAIN-메인 저장소, TEMP-임시 저장소
*/
public enum FileUploadPath {
/* 관리 시스템 파일 업로드 경로 */
//상대 경로 저장소(프로젝트 내부 -> Windows, Linux 구분 없음)
MAIN_RELATIVE_PATH("\\resources\\common\\file\\upload\\main", "/resources/common/file/upload/main")
, TEMP_RELATIVE_PATH("\\resources\\common\\file\\upload\\temp", "/resources/common/file/upload/temp")
//절대 경로 저장소(Windows, Linux)
, MAIN_ABSOLUTE_PATH("C:\\bigdata\\common\\upload\\main", "/bigdata/common/upload/main")
, TEMP_ABSOLUTE_PATH("C:\\bigdata\\common\\upload\\temp", "/bigdata/common/upload/temp");
private FileUploadPath(String windowFileUploadPath, String linuxFileUploadPath) {
this.windowFileUploadPath = windowFileUploadPath;
this.linuxFileUploadPath = linuxFileUploadPath;
}
final private String windowFileUploadPath;
final private String linuxFileUploadPath;
public String getWindowFileUploadPath() {
return windowFileUploadPath;
}
public String getLinuxFileUploadPath() {
return linuxFileUploadPath;
}
/**
* OS 타입별 파일 업로드 경로 return
*/
public String getOSFileUploadPath() {
if (System.getProperty("os.name").indexOf("Windows") > -1) {
return windowFileUploadPath;
} else {
return linuxFileUploadPath;
}
}
}
/**
* @author 최정우
* @since 2019.11.13
*
* 데이터 수집 타입을 정의한 상수 Class 입니다.
*/
public enum CollectionType {
FILE("파일 수집")
, DB("DB연계 수집")
, API("API연계 수집")
, CRAWLING("웹데이터 수집")
, SOCKET("소켓통신 수집");
private CollectionType (String value) {
this.value = value;
}
/**
* 한글값
*/
final private String value;
/**
* 한글값 조회
*/
public String getValue () {
return value;
}
/**
* 데이터 수집 타입 목록 조회
*/
public static Map<CollectionType, String> getCollectionTypeList () {
Map<CollectionType, String> info = new LinkedHashMap<CollectionType, String>();
CollectionType[] array = CollectionType.values();
for (int i = 0; i < array.length; i++) {
info.put(array[i], array[i].getValue());
}
return info;
}
}
/**
* @author 최정우
* @since 2019.12.03
*
* 스케줄 작업 상태 타입을 정의한 상수 Class 입니다.
*/
public enum TaskStatus {
START("작동 시작")
, COMPLETE("작동 완료")
, ERROR("작동 오류");
private TaskStatus (String message) {
this.message = message;
}
/**
* 한글 메세지
*/
final private String message;
/**
* 한글 메세지 조회
*/
public String getMessage () {
return message;
}
/**
* 스케줄 상태 타입 목록 조회
*/
public static Map<TaskStatus, String> getTaskStatusList () {
Map<TaskStatus, String> info = new LinkedHashMap<TaskStatus, String>();
TaskStatus[] array = TaskStatus.values();
for (int i = 0; i < array.length; i++) {
info.put(array[i], array[i].getMessage());
}
return info;
}
}
/**
* @author 최정우
* @since 2019.12.03
*
* 날짜 통계 관련 타입을 정의한 상수 Class 입니다.
*/
public enum DateStatsGroupType {
DATE_FLOW("시계열")
, DATE_CYCLE("주기별");//통계 데이터 조회 총 행 수: 31(1, 2, 3, ..., 31)
private DateStatsGroupType (String message) {
this.message = message;
}
/**
* 한글 메세지
*/
final private String message;
/**
* 한글 메세지 조회
*/
public String getMessage () {
return message;
}
/**
* 날짜 통계 관련 타입 목록 조회
*/
public static Map<DateStatsGroupType, String> getDateStatusType () {
Map<DateStatsGroupType, String> info = new LinkedHashMap<DateStatsGroupType, String>();
DateStatsGroupType[] array = DateStatsGroupType.values();
for (int i = 0; i < array.length; i++) {
info.put(array[i], array[i].getMessage());
}
return info;
}
}
/**
* @author 최정우
* @since 2019.12.03
*
* 날짜 통계 관련 타입을 정의한 상수 Class 입니다.
*/
public enum DateStatsType {
YEAR("년도별(시계열)")//시계열도 되고 주기도됨 (최상위 Date이기 때문)
, DATE_FLOW_QUARTER("분기별(시계열)")
, DATE_FLOW_MONTH("월별(시계열)")
, DATE_FLOW_WEEK("주별(시계열)")
, DATE_FLOW_DAY("일별(시계열)")
, DATE_CYCLE_QUARTER("분기별(주기별)")//통계 데이터 조회 총 행 수: 4(1분기, 2분기, 3분기, 4분기)
, DATE_CYCLE_MONTH("월별(주기별)")//통계 데이터 조회 총 행 수: 12(1월, 2월, 3월, ..., 12월)
, DATE_CYCLE_WEEK("요일별(주기별)")//통계 데이터 조회 총 행 수: 7(월, 화, 수, ..., 일)
, DATE_CYCLE_DAY("일별(주기별)")//통계 데이터 조회 총 행 수: 31(1, 2, 3, ..., 31)
, DATE_CYCLE_TIME("시간별(주기별)");//통계 데이터 조회 총 행 수: 31(1, 2, 3, ..., 31)
private DateStatsType (String message) {
this.message = message;
}
/**
* 한글 메세지
*/
final private String message;
/**
* 한글 메세지 조회
*/
public String getMessage () {
return message;
}
/**
* 날짜 통계 관련 타입 목록 조회
*/
public static Map<DateStatsType, String> getDateStatusType () {
Map<DateStatsType, String> info = new LinkedHashMap<DateStatsType, String>();
DateStatsType[] array = DateStatsType.values();
for (int i = 0; i < array.length; i++) {
info.put(array[i], array[i].getMessage());
}
return info;
}
}
}