win 0503
parent
b3c9c1d35f
commit
9b3d6e0fed
|
@ -0,0 +1,5 @@
|
||||||
|
package kr.gmtc.gw.elastic.parser;
|
||||||
|
|
||||||
|
public class ElasticMessageParser {
|
||||||
|
|
||||||
|
}
|
|
@ -10,8 +10,8 @@ import kr.gmtc.gw.elastic.vo.ElasticMsgHeader;
|
||||||
import kr.gmtc.gw.elastic.vo.ElasticResultMsgVO;
|
import kr.gmtc.gw.elastic.vo.ElasticResultMsgVO;
|
||||||
import kr.gmtc.gw.elastic.vo.LogMsgParserVO;
|
import kr.gmtc.gw.elastic.vo.LogMsgParserVO;
|
||||||
import kr.gmtc.gw.elastic.vo.ReplayLog.AsdeVO;
|
import kr.gmtc.gw.elastic.vo.ReplayLog.AsdeVO;
|
||||||
import kr.gmtc.gw.elastic.vo.ReplayLog.StandRouteVO;
|
import kr.gmtc.gw.elastic.vo.ReplayLog.StandardRouteVO;
|
||||||
import kr.gmtc.gw.elastic.vo.ReplayLog.StandRouteVO.RoutePoints;
|
import kr.gmtc.gw.elastic.vo.ReplayLog.StandardRouteVO.RoutePoints;
|
||||||
|
|
||||||
public class ParserAade {
|
public class ParserAade {
|
||||||
|
|
||||||
|
@ -58,8 +58,16 @@ public class ParserAade {
|
||||||
logVO.setHeader(logHeader);
|
logVO.setHeader(logHeader);
|
||||||
/*** 메시지 Header 변환 END ***/
|
/*** 메시지 Header 변환 END ***/
|
||||||
|
|
||||||
/*** 메시지 data(body) 변환 START ***/
|
String sDatas = null;
|
||||||
String sDatas = split_Div[1];
|
|
||||||
|
try {
|
||||||
|
/*** 메시지 data(body) 변환 START ***/
|
||||||
|
sDatas = split_Div[1];
|
||||||
|
} catch (Exception e) {
|
||||||
|
// continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( sDatas == null ) continue;
|
||||||
|
|
||||||
String[] split_Data = null;
|
String[] split_Data = null;
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,121 @@
|
||||||
|
package kr.gmtc.gw.elastic.parser.logingIndex;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Queue;
|
||||||
|
import java.util.concurrent.LinkedBlockingQueue;
|
||||||
|
|
||||||
|
import kr.gmtc.gw.elastic.utils.LogMsgParserUtile;
|
||||||
|
import kr.gmtc.gw.elastic.vo.ElasticMsgHeader;
|
||||||
|
import kr.gmtc.gw.elastic.vo.ElasticResultMsgVO;
|
||||||
|
import kr.gmtc.gw.elastic.vo.LogMsgParserVO;
|
||||||
|
import kr.gmtc.gw.elastic.vo.ReplayLog.RadarVO;
|
||||||
|
import kr.gmtc.gw.elastic.vo.ReplayLog.StandardRouteVO;
|
||||||
|
import kr.gmtc.gw.elastic.vo.ReplayLog.StandardRouteVO.RoutePoints;
|
||||||
|
|
||||||
|
public class ParserRadar {
|
||||||
|
|
||||||
|
private List<ElasticResultMsgVO> logMsgs;
|
||||||
|
|
||||||
|
Queue<LogMsgParserVO> parserAiLocQ = new LinkedBlockingQueue<LogMsgParserVO>();
|
||||||
|
|
||||||
|
LogMsgParserUtile pUtile;
|
||||||
|
|
||||||
|
public ParserRadar(){
|
||||||
|
|
||||||
|
pUtile = new LogMsgParserUtile();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void logParser(List<ElasticResultMsgVO> recvMsgs){
|
||||||
|
|
||||||
|
this.logMsgs = recvMsgs;
|
||||||
|
|
||||||
|
List<RadarVO> parserList = new ArrayList<RadarVO>();
|
||||||
|
RadarVO parserVO;
|
||||||
|
|
||||||
|
LogMsgParserVO logVO;
|
||||||
|
ElasticMsgHeader logHeader;
|
||||||
|
|
||||||
|
for( ElasticResultMsgVO mv : logMsgs){
|
||||||
|
|
||||||
|
String sMsg = mv.getMessage();
|
||||||
|
|
||||||
|
logVO = new LogMsgParserVO();
|
||||||
|
|
||||||
|
/*** 메시지 Pipe(|) 구분 ***/
|
||||||
|
String[] split_Div = pUtile.splitString(sMsg, pUtile.DIV_PIPE);
|
||||||
|
|
||||||
|
/*** 메시지 Header 변환 START ***/
|
||||||
|
String[] split_Header = pUtile.splitString(split_Div[0], pUtile.DIV_COMMA);
|
||||||
|
|
||||||
|
logHeader = new ElasticMsgHeader();
|
||||||
|
logHeader.setLog_dt(split_Header[0]);
|
||||||
|
logHeader.setLog_se(split_Header[1]);
|
||||||
|
logHeader.setSw_se(split_Header[2]);
|
||||||
|
logHeader.setServer_se(split_Header[3]);
|
||||||
|
|
||||||
|
logVO.setHeader(logHeader);
|
||||||
|
/*** 메시지 Header 변환 END ***/
|
||||||
|
|
||||||
|
String sDatas = null;
|
||||||
|
|
||||||
|
try {
|
||||||
|
/*** 메시지 data(body) 변환 START ***/
|
||||||
|
sDatas = split_Div[1];
|
||||||
|
} catch (Exception e) {
|
||||||
|
// continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( sDatas == null ) continue;
|
||||||
|
|
||||||
|
String[] split_Data = null;
|
||||||
|
|
||||||
|
//Data부 여러줄 인지 확인(^)
|
||||||
|
int iDivCnt_Datas = pUtile.countDivInMsg(sDatas, pUtile.DIV_CARET);
|
||||||
|
|
||||||
|
// Data부 여러줄인경우 분리(^)
|
||||||
|
if(iDivCnt_Datas > 0){
|
||||||
|
split_Data = pUtile.splitString(sDatas, pUtile.DIV_CARET);
|
||||||
|
}else{
|
||||||
|
split_Data = new String[1];
|
||||||
|
split_Data[0] = sDatas;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**** Data부 한줄씩 처리 START ****/
|
||||||
|
for(String loop1Data : split_Data){
|
||||||
|
|
||||||
|
parserVO = new RadarVO();
|
||||||
|
|
||||||
|
// 일반 필드 분리(,)
|
||||||
|
String[] split_Field = pUtile.splitString(loop1Data, pUtile.DIV_COMMA);
|
||||||
|
|
||||||
|
parserVO.setTrgt_id(split_Field[0]);
|
||||||
|
parserVO.setRecptn_dt(split_Field[1]);
|
||||||
|
parserVO.setLat(split_Field[2]);
|
||||||
|
parserVO.setLon(split_Field[3]);
|
||||||
|
parserVO.setSpd(split_Field[4]);
|
||||||
|
parserVO.setCos(split_Field[5]);
|
||||||
|
parserVO.setDetct_cnt(split_Field[6]);
|
||||||
|
parserVO.setUndetct_cnt(split_Field[7]);
|
||||||
|
|
||||||
|
parserList.add(parserVO);
|
||||||
|
}
|
||||||
|
/**** Data부 한줄씩 처리 END ****/
|
||||||
|
|
||||||
|
logVO.setData(parserList);
|
||||||
|
/*** 메시지 data(body) 변환 END ***/
|
||||||
|
|
||||||
|
// Que에 파싱 데이터 담기
|
||||||
|
parserAiLocQ.offer(logVO) ;
|
||||||
|
|
||||||
|
} // for( ElasticResultMsgVO mv : logMsgs){... END
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -10,8 +10,6 @@ import kr.gmtc.gw.elastic.vo.ElasticMsgHeader;
|
||||||
import kr.gmtc.gw.elastic.vo.ElasticResultMsgVO;
|
import kr.gmtc.gw.elastic.vo.ElasticResultMsgVO;
|
||||||
import kr.gmtc.gw.elastic.vo.LogMsgParserVO;
|
import kr.gmtc.gw.elastic.vo.LogMsgParserVO;
|
||||||
import kr.gmtc.gw.elastic.vo.ReplayLog.AiLocationVO;
|
import kr.gmtc.gw.elastic.vo.ReplayLog.AiLocationVO;
|
||||||
import kr.gmtc.gw.elastic.vo.ReplayLog.StandRouteVO;
|
|
||||||
import kr.gmtc.gw.elastic.vo.ReplayLog.StandRouteVO.RoutePoints;
|
|
||||||
|
|
||||||
public class ParserAILocation {
|
public class ParserAILocation {
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,146 @@
|
||||||
|
package kr.gmtc.gw.elastic.parser.replayLog;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Queue;
|
||||||
|
import java.util.concurrent.LinkedBlockingQueue;
|
||||||
|
|
||||||
|
import kr.gmtc.gw.elastic.utils.LogMsgParserUtile;
|
||||||
|
import kr.gmtc.gw.elastic.vo.ElasticMsgHeader;
|
||||||
|
import kr.gmtc.gw.elastic.vo.ElasticResultMsgVO;
|
||||||
|
import kr.gmtc.gw.elastic.vo.LogMsgParserVO;
|
||||||
|
import kr.gmtc.gw.elastic.vo.ReplayLog.AnaVO;
|
||||||
|
import kr.gmtc.gw.elastic.vo.ReplayLog.AnaVO.Area;
|
||||||
|
import kr.gmtc.gw.elastic.vo.ReplayLog.AnaVO.Target;
|
||||||
|
|
||||||
|
public class ParserAna {
|
||||||
|
|
||||||
|
private List<ElasticResultMsgVO> logMsgs;
|
||||||
|
|
||||||
|
Queue<LogMsgParserVO> parserAiLocQ = new LinkedBlockingQueue<LogMsgParserVO>();
|
||||||
|
|
||||||
|
LogMsgParserUtile pUtile;
|
||||||
|
|
||||||
|
public ParserAna(){
|
||||||
|
|
||||||
|
pUtile = new LogMsgParserUtile();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void logParser(List<ElasticResultMsgVO> recvMsgs){
|
||||||
|
|
||||||
|
this.logMsgs = recvMsgs;
|
||||||
|
|
||||||
|
List<AnaVO> parserList = new ArrayList<AnaVO>();
|
||||||
|
|
||||||
|
AnaVO parserVO;
|
||||||
|
Area area;
|
||||||
|
Target trgt;
|
||||||
|
|
||||||
|
LogMsgParserVO logVO;
|
||||||
|
ElasticMsgHeader logHeader;
|
||||||
|
|
||||||
|
for( ElasticResultMsgVO mv : logMsgs){
|
||||||
|
|
||||||
|
String sMsg = mv.getMessage();
|
||||||
|
|
||||||
|
logVO = new LogMsgParserVO();
|
||||||
|
|
||||||
|
/*** 메시지 Pipe(|) 구분 ***/
|
||||||
|
String[] split_Div = pUtile.splitString(sMsg, pUtile.DIV_PIPE);
|
||||||
|
|
||||||
|
/*** 메시지 Header 변환 START ***/
|
||||||
|
String[] split_Header = pUtile.splitString(split_Div[0], pUtile.DIV_COMMA);
|
||||||
|
|
||||||
|
logHeader = new ElasticMsgHeader();
|
||||||
|
logHeader.setLog_dt(split_Header[0]);
|
||||||
|
logHeader.setLog_se(split_Header[1]);
|
||||||
|
logHeader.setSw_se(split_Header[2]);
|
||||||
|
logHeader.setServer_se(split_Header[3]);
|
||||||
|
|
||||||
|
logVO.setHeader(logHeader);
|
||||||
|
/*** 메시지 Header 변환 END ***/
|
||||||
|
|
||||||
|
/*** 메시지 data(body) 변환 START ***/
|
||||||
|
String sDatas = split_Div[1];
|
||||||
|
|
||||||
|
String[] split_Data = null;
|
||||||
|
|
||||||
|
//Data부 여러줄 인지 확인(^)
|
||||||
|
int iDivCnt_Datas = pUtile.countDivInMsg(sDatas, pUtile.DIV_CARET);
|
||||||
|
|
||||||
|
// Data부 여러줄인경우 분리(^)
|
||||||
|
if(iDivCnt_Datas > 0){
|
||||||
|
split_Data = pUtile.splitString(sDatas, pUtile.DIV_CARET);
|
||||||
|
}else{
|
||||||
|
split_Data = new String[1];
|
||||||
|
split_Data[0] = sDatas;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**** Data부 한줄씩 처리 START ****/
|
||||||
|
for(String loop1Data : split_Data){
|
||||||
|
|
||||||
|
parserVO = new AnaVO();
|
||||||
|
|
||||||
|
area = new Area();
|
||||||
|
|
||||||
|
|
||||||
|
// 일반 필드 분리(,)
|
||||||
|
String[] split_Field = pUtile.splitString(loop1Data, pUtile.DIV_COMMA);
|
||||||
|
|
||||||
|
parserVO.setAnals_id(split_Field[0]);
|
||||||
|
parserVO.setAnals_dt(split_Field[1]);
|
||||||
|
parserVO.setAnals_ty(split_Field[2]);
|
||||||
|
// parserVO.setArea(pUtile.splitString(split_Field[3], pUtile.DIV_AT));
|
||||||
|
// parserVO.setTarget1(pUtile.splitString(split_Field[4], pUtile.DIV_AT));
|
||||||
|
// parserVO.setTarget2(pUtile.splitString(split_Field[5], pUtile.DIV_AT));
|
||||||
|
|
||||||
|
String[] split_Array = null;
|
||||||
|
|
||||||
|
split_Array = pUtile.splitString(split_Field[3], pUtile.DIV_AT);
|
||||||
|
|
||||||
|
area.setArea_id(split_Array[0]);
|
||||||
|
area.setArea_type(split_Array[1]);
|
||||||
|
|
||||||
|
parserVO.setArea(area);
|
||||||
|
|
||||||
|
trgt = new Target();
|
||||||
|
split_Array = pUtile.splitString(split_Field[3], pUtile.DIV_AT);
|
||||||
|
|
||||||
|
trgt.setTrgt_id(split_Array[0]);
|
||||||
|
trgt.setTrgt_ty(split_Array[1]);
|
||||||
|
|
||||||
|
parserVO.setTarget1(trgt);
|
||||||
|
|
||||||
|
trgt = new Target();
|
||||||
|
split_Array = pUtile.splitString(split_Field[3], pUtile.DIV_AT);
|
||||||
|
|
||||||
|
area.setArea_id(split_Array[0]);
|
||||||
|
area.setArea_type(split_Array[1]);
|
||||||
|
|
||||||
|
parserVO.setTarget2(trgt);
|
||||||
|
|
||||||
|
parserVO.setAnals_msg(split_Field[6]);
|
||||||
|
parserVO.setAnalsMsg(split_Field[7]);
|
||||||
|
parserVO.setRls_ty(split_Field[8]);
|
||||||
|
|
||||||
|
parserList.add(parserVO);
|
||||||
|
}
|
||||||
|
/**** Data부 한줄씩 처리 END ****/
|
||||||
|
|
||||||
|
logVO.setData(parserList);
|
||||||
|
/*** 메시지 data(body) 변환 END ***/
|
||||||
|
|
||||||
|
// Que에 파싱 데이터 담기
|
||||||
|
parserAiLocQ.offer(logVO) ;
|
||||||
|
|
||||||
|
} // for( ElasticResultMsgVO mv : logMsgs){... END
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,145 @@
|
||||||
|
package kr.gmtc.gw.elastic.parser.replayLog;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Queue;
|
||||||
|
import java.util.concurrent.LinkedBlockingQueue;
|
||||||
|
|
||||||
|
import kr.gmtc.gw.elastic.utils.LogMsgParserUtile;
|
||||||
|
import kr.gmtc.gw.elastic.vo.ElasticMsgHeader;
|
||||||
|
import kr.gmtc.gw.elastic.vo.ElasticResultMsgVO;
|
||||||
|
import kr.gmtc.gw.elastic.vo.LogMsgParserVO;
|
||||||
|
import kr.gmtc.gw.elastic.vo.ReplayLog.FusionVO;
|
||||||
|
import kr.gmtc.gw.elastic.vo.ReplayLog.FusionVO.BoundingBox;
|
||||||
|
|
||||||
|
|
||||||
|
public class ParserFusion {
|
||||||
|
|
||||||
|
private List<ElasticResultMsgVO> logMsgs;
|
||||||
|
|
||||||
|
Queue<LogMsgParserVO> parserAiLocQ = new LinkedBlockingQueue<LogMsgParserVO>();
|
||||||
|
|
||||||
|
LogMsgParserUtile pUtile;
|
||||||
|
|
||||||
|
public ParserFusion(){
|
||||||
|
|
||||||
|
pUtile = new LogMsgParserUtile();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void logParser(List<ElasticResultMsgVO> recvMsgs){
|
||||||
|
|
||||||
|
this.logMsgs = recvMsgs;
|
||||||
|
|
||||||
|
List<FusionVO> parserList = new ArrayList<FusionVO>();
|
||||||
|
|
||||||
|
FusionVO parserVO;
|
||||||
|
BoundingBox bBox;
|
||||||
|
|
||||||
|
LogMsgParserVO logVO;
|
||||||
|
ElasticMsgHeader logHeader;
|
||||||
|
|
||||||
|
for( ElasticResultMsgVO mv : logMsgs){
|
||||||
|
|
||||||
|
String sMsg = mv.getMessage();
|
||||||
|
|
||||||
|
logVO = new LogMsgParserVO();
|
||||||
|
|
||||||
|
/*** 메시지 Pipe(|) 구분 ***/
|
||||||
|
String[] split_Div = pUtile.splitString(sMsg, pUtile.DIV_PIPE);
|
||||||
|
|
||||||
|
/*** 메시지 Header 변환 START ***/
|
||||||
|
String[] split_Header = pUtile.splitString(split_Div[0], pUtile.DIV_COMMA);
|
||||||
|
|
||||||
|
logHeader = new ElasticMsgHeader();
|
||||||
|
logHeader.setLog_dt(split_Header[0]);
|
||||||
|
logHeader.setLog_se(split_Header[1]);
|
||||||
|
logHeader.setSw_se(split_Header[2]);
|
||||||
|
logHeader.setServer_se(split_Header[3]);
|
||||||
|
|
||||||
|
logVO.setHeader(logHeader);
|
||||||
|
/*** 메시지 Header 변환 END ***/
|
||||||
|
|
||||||
|
/*** 메시지 data(body) 변환 START ***/
|
||||||
|
String sDatas = split_Div[1];
|
||||||
|
|
||||||
|
String[] split_Data = null;
|
||||||
|
|
||||||
|
//Data부 여러줄 인지 확인(^)
|
||||||
|
int iDivCnt_Datas = pUtile.countDivInMsg(sDatas, pUtile.DIV_CARET);
|
||||||
|
|
||||||
|
// Data부 여러줄인경우 분리(^)
|
||||||
|
if(iDivCnt_Datas > 0){
|
||||||
|
split_Data = pUtile.splitString(sDatas, pUtile.DIV_CARET);
|
||||||
|
}else{
|
||||||
|
split_Data = new String[1];
|
||||||
|
split_Data[0] = sDatas;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**** Data부 한줄씩 처리 START ****/
|
||||||
|
for(String loop1Data : split_Data){
|
||||||
|
|
||||||
|
parserVO = new FusionVO();
|
||||||
|
|
||||||
|
// 일반 필드 분리(,)
|
||||||
|
String[] split_Field = pUtile.splitString(loop1Data, pUtile.DIV_COMMA);
|
||||||
|
|
||||||
|
parserVO.setTrgt_id(split_Field[0]);
|
||||||
|
parserVO.setRecptn_dt(split_Field[1]);
|
||||||
|
parserVO.setLat(split_Field[2]);
|
||||||
|
parserVO.setLon(split_Field[3]);
|
||||||
|
parserVO.setSpd(split_Field[4]);
|
||||||
|
parserVO.setCos(split_Field[5]);
|
||||||
|
parserVO.setAlt(split_Field[6]);
|
||||||
|
parserVO.setTrgt_ty(split_Field[7]);
|
||||||
|
parserVO.setSchdul_id(split_Field[8]);
|
||||||
|
parserVO.setMode_s_cd(split_Field[9]);
|
||||||
|
parserVO.setSsr_cd(split_Field[10]);
|
||||||
|
parserVO.setClsgn(split_Field[11]);
|
||||||
|
parserVO.setTail_no(split_Field[12]);
|
||||||
|
parserVO.setCrrct_lat(split_Field[13]);
|
||||||
|
parserVO.setCrrct_lon(split_Field[14]);
|
||||||
|
parserVO.setIs_cntrlzone(split_Field[15]);
|
||||||
|
|
||||||
|
parserVO.setBbox(new ArrayList<BoundingBox>());
|
||||||
|
|
||||||
|
// bbox 담기
|
||||||
|
String[] split_List = pUtile.splitString(split_Field[17], pUtile.DIV_DOLLAR);
|
||||||
|
|
||||||
|
for(String loopList : split_List){
|
||||||
|
|
||||||
|
bBox = new BoundingBox();
|
||||||
|
|
||||||
|
String[] split_Array = pUtile.splitString(loopList, pUtile.DIV_AT);
|
||||||
|
|
||||||
|
bBox.setLt_x(split_Array[0]);
|
||||||
|
bBox.setLt_y(split_Array[1]);
|
||||||
|
bBox.setRb_x(split_Array[2]);
|
||||||
|
bBox.setRb_y(split_Array[3]);
|
||||||
|
bBox.setPx(split_Array[4]);
|
||||||
|
bBox.setPy(split_Array[5]);
|
||||||
|
|
||||||
|
parserVO.getBbox().add(bBox);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
parserList.add(parserVO);
|
||||||
|
}
|
||||||
|
/**** Data부 한줄씩 처리 END ****/
|
||||||
|
|
||||||
|
logVO.setData(parserList);
|
||||||
|
/*** 메시지 data(body) 변환 END ***/
|
||||||
|
|
||||||
|
// Que에 파싱 데이터 담기
|
||||||
|
parserAiLocQ.offer(logVO) ;
|
||||||
|
|
||||||
|
} // for( ElasticResultMsgVO mv : logMsgs){... END
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -9,8 +9,8 @@ import kr.gmtc.gw.elastic.utils.LogMsgParserUtile;
|
||||||
import kr.gmtc.gw.elastic.vo.ElasticMsgHeader;
|
import kr.gmtc.gw.elastic.vo.ElasticMsgHeader;
|
||||||
import kr.gmtc.gw.elastic.vo.ElasticResultMsgVO;
|
import kr.gmtc.gw.elastic.vo.ElasticResultMsgVO;
|
||||||
import kr.gmtc.gw.elastic.vo.LogMsgParserVO;
|
import kr.gmtc.gw.elastic.vo.LogMsgParserVO;
|
||||||
import kr.gmtc.gw.elastic.vo.ReplayLog.StandRouteVO;
|
import kr.gmtc.gw.elastic.vo.ReplayLog.StandardRouteVO;
|
||||||
import kr.gmtc.gw.elastic.vo.ReplayLog.StandRouteVO.RoutePoints;
|
import kr.gmtc.gw.elastic.vo.ReplayLog.StandardRouteVO.RoutePoints;
|
||||||
|
|
||||||
public class ParserRoute {
|
public class ParserRoute {
|
||||||
|
|
||||||
|
@ -30,10 +30,10 @@ public class ParserRoute {
|
||||||
|
|
||||||
this.logMsgs = recvMsgs;
|
this.logMsgs = recvMsgs;
|
||||||
|
|
||||||
StandRouteVO routeVO;
|
StandardRouteVO routeVO;
|
||||||
RoutePoints routePoints;
|
RoutePoints routePoints;
|
||||||
|
|
||||||
List<StandRouteVO> routeList = new ArrayList<StandRouteVO>();
|
List<StandardRouteVO> routeList = new ArrayList<StandardRouteVO>();
|
||||||
|
|
||||||
LogMsgParserVO logVO;
|
LogMsgParserVO logVO;
|
||||||
ElasticMsgHeader logHeader;
|
ElasticMsgHeader logHeader;
|
||||||
|
@ -77,7 +77,7 @@ public class ParserRoute {
|
||||||
/**** Data부 한줄씩 처리 START ****/
|
/**** Data부 한줄씩 처리 START ****/
|
||||||
for(String loop1Data : split_Data){
|
for(String loop1Data : split_Data){
|
||||||
|
|
||||||
routeVO = new StandRouteVO();
|
routeVO = new StandardRouteVO();
|
||||||
|
|
||||||
// 일반 필드 분리(,)
|
// 일반 필드 분리(,)
|
||||||
String[] split_Field = pUtile.splitString(loop1Data, pUtile.DIV_COMMA);
|
String[] split_Field = pUtile.splitString(loop1Data, pUtile.DIV_COMMA);
|
||||||
|
|
|
@ -0,0 +1,126 @@
|
||||||
|
package kr.gmtc.gw.elastic.parser.replayLog;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Queue;
|
||||||
|
import java.util.concurrent.LinkedBlockingQueue;
|
||||||
|
|
||||||
|
import kr.gmtc.gw.elastic.utils.LogMsgParserUtile;
|
||||||
|
import kr.gmtc.gw.elastic.vo.ElasticMsgHeader;
|
||||||
|
import kr.gmtc.gw.elastic.vo.ElasticResultMsgVO;
|
||||||
|
import kr.gmtc.gw.elastic.vo.LogMsgParserVO;
|
||||||
|
import kr.gmtc.gw.elastic.vo.ReplayLog.StandStatusVO;
|
||||||
|
import kr.gmtc.gw.elastic.vo.ReplayLog.StandStatusVO.StandSttusTy;
|
||||||
|
import kr.gmtc.gw.elastic.vo.ReplayLog.StandardRouteVO.RoutePoints;
|
||||||
|
|
||||||
|
public class ParserStandStatus {
|
||||||
|
|
||||||
|
private List<ElasticResultMsgVO> logMsgs;
|
||||||
|
|
||||||
|
Queue<LogMsgParserVO> parserAiLocQ = new LinkedBlockingQueue<LogMsgParserVO>();
|
||||||
|
|
||||||
|
LogMsgParserUtile pUtile;
|
||||||
|
|
||||||
|
public ParserStandStatus(){
|
||||||
|
|
||||||
|
pUtile = new LogMsgParserUtile();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void logParser(List<ElasticResultMsgVO> recvMsgs){
|
||||||
|
|
||||||
|
this.logMsgs = recvMsgs;
|
||||||
|
|
||||||
|
List<StandStatusVO> parserList = new ArrayList<StandStatusVO>();
|
||||||
|
|
||||||
|
StandStatusVO parserVO;
|
||||||
|
StandSttusTy aistandsts;
|
||||||
|
|
||||||
|
LogMsgParserVO logVO;
|
||||||
|
ElasticMsgHeader logHeader;
|
||||||
|
|
||||||
|
for( ElasticResultMsgVO mv : logMsgs){
|
||||||
|
|
||||||
|
String sMsg = mv.getMessage();
|
||||||
|
|
||||||
|
logVO = new LogMsgParserVO();
|
||||||
|
|
||||||
|
/*** 메시지 Pipe(|) 구분 ***/
|
||||||
|
String[] split_Div = pUtile.splitString(sMsg, pUtile.DIV_PIPE);
|
||||||
|
|
||||||
|
/*** 메시지 Header 변환 START ***/
|
||||||
|
String[] split_Header = pUtile.splitString(split_Div[0], pUtile.DIV_COMMA);
|
||||||
|
|
||||||
|
logHeader = new ElasticMsgHeader();
|
||||||
|
logHeader.setLog_dt(split_Header[0]);
|
||||||
|
logHeader.setLog_se(split_Header[1]);
|
||||||
|
logHeader.setSw_se(split_Header[2]);
|
||||||
|
logHeader.setServer_se(split_Header[3]);
|
||||||
|
|
||||||
|
logVO.setHeader(logHeader);
|
||||||
|
/*** 메시지 Header 변환 END ***/
|
||||||
|
|
||||||
|
/*** 메시지 data(body) 변환 START ***/
|
||||||
|
String sDatas = split_Div[1];
|
||||||
|
|
||||||
|
String[] split_Data = null;
|
||||||
|
|
||||||
|
//Data부 여러줄 인지 확인(^)
|
||||||
|
int iDivCnt_Datas = pUtile.countDivInMsg(sDatas, pUtile.DIV_CARET);
|
||||||
|
|
||||||
|
// Data부 여러줄인경우 분리(^)
|
||||||
|
if(iDivCnt_Datas > 0){
|
||||||
|
split_Data = pUtile.splitString(sDatas, pUtile.DIV_CARET);
|
||||||
|
}else{
|
||||||
|
split_Data = new String[1];
|
||||||
|
split_Data[0] = sDatas;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**** Data부 한줄씩 처리 START ****/
|
||||||
|
for(String loop1Data : split_Data){
|
||||||
|
|
||||||
|
parserVO = new StandStatusVO();
|
||||||
|
|
||||||
|
// 일반 필드 분리(,)
|
||||||
|
String[] split_Field = pUtile.splitString(loop1Data, pUtile.DIV_COMMA);
|
||||||
|
|
||||||
|
parserVO.setStand_no(split_Field[0]);
|
||||||
|
//parserVO.setStand_sttus_ty(pUtile.splitString(split_Field[1], pUtile.DIV_AT));
|
||||||
|
|
||||||
|
aistandsts = new StandSttusTy();
|
||||||
|
|
||||||
|
String[] split_Array = pUtile.splitString(split_Field[1], pUtile.DIV_AT);
|
||||||
|
|
||||||
|
aistandsts.setArcft_stand(split_Array[0]);
|
||||||
|
aistandsts.setBrdg_cnnctd(split_Array[1]);
|
||||||
|
aistandsts.setCrg_dr_opnd(split_Array[2]);
|
||||||
|
aistandsts.setPad_clear(split_Array[3]);
|
||||||
|
aistandsts.setTwng_cr_cnnctd(split_Array[4]);
|
||||||
|
|
||||||
|
parserVO.setStand_sttus_ty(aistandsts);
|
||||||
|
|
||||||
|
parserVO.setAircraft_sttus_ty(split_Field[2]);
|
||||||
|
parserVO.setClsgn(split_Field[3]);
|
||||||
|
parserVO.setSchdul_id(split_Field[4]);
|
||||||
|
parserVO.setAc_reg_no(split_Field[5]);
|
||||||
|
|
||||||
|
parserList.add(parserVO);
|
||||||
|
}
|
||||||
|
/**** Data부 한줄씩 처리 END ****/
|
||||||
|
|
||||||
|
logVO.setData(parserList);
|
||||||
|
/*** 메시지 data(body) 변환 END ***/
|
||||||
|
|
||||||
|
// Que에 파싱 데이터 담기
|
||||||
|
parserAiLocQ.offer(logVO) ;
|
||||||
|
|
||||||
|
} // for( ElasticResultMsgVO mv : logMsgs){... END
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -18,6 +18,8 @@ import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import kr.gmtc.gw.elastic.parser.logingIndex.ParserAade;
|
import kr.gmtc.gw.elastic.parser.logingIndex.ParserAade;
|
||||||
import kr.gmtc.gw.elastic.parser.replayLog.ParserAILocation;
|
import kr.gmtc.gw.elastic.parser.replayLog.ParserAILocation;
|
||||||
|
import kr.gmtc.gw.elastic.parser.replayLog.ParserAna;
|
||||||
|
import kr.gmtc.gw.elastic.parser.replayLog.ParserFusion;
|
||||||
import kr.gmtc.gw.elastic.parser.replayLog.ParserRoute;
|
import kr.gmtc.gw.elastic.parser.replayLog.ParserRoute;
|
||||||
import kr.gmtc.gw.elastic.vo.ElasticResultMsgVO;
|
import kr.gmtc.gw.elastic.vo.ElasticResultMsgVO;
|
||||||
|
|
||||||
|
@ -32,14 +34,14 @@ public class ElkSearchService {
|
||||||
|
|
||||||
private List<ElasticResultMsgVO> logMsgMatches;
|
private List<ElasticResultMsgVO> logMsgMatches;
|
||||||
|
|
||||||
private ParserAade logParser;
|
private ParserFusion logParser;
|
||||||
|
|
||||||
public ElkSearchService(ElasticsearchOperations elasticsearchOperations){
|
public ElkSearchService(ElasticsearchOperations elasticsearchOperations){
|
||||||
this.elasticsearchOperations = elasticsearchOperations;
|
this.elasticsearchOperations = elasticsearchOperations;
|
||||||
|
|
||||||
logMsgMatches = new ArrayList<ElasticResultMsgVO>();
|
logMsgMatches = new ArrayList<ElasticResultMsgVO>();
|
||||||
//logParser = new ReplayLogParser_Route();
|
//logParser = new ReplayLogParser_Route();
|
||||||
logParser = new ParserAade();
|
logParser = new ParserFusion();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String elkSearch_replay_log(String sLogType, String sStartDt, String sEndDt) {
|
public String elkSearch_replay_log(String sLogType, String sStartDt, String sEndDt) {
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
package kr.gmtc.gw.elastic.vo.ReplayLog;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
@Setter
|
||||||
|
@Getter
|
||||||
|
public class AnaVO {
|
||||||
|
|
||||||
|
private String anals_id;
|
||||||
|
private String anals_dt;
|
||||||
|
private String anals_ty;
|
||||||
|
private Area area;
|
||||||
|
private Target target1;
|
||||||
|
private Target target2;
|
||||||
|
private String anals_msg;
|
||||||
|
private String analsMsg;
|
||||||
|
private String rls_ty;
|
||||||
|
|
||||||
|
@Setter
|
||||||
|
@Getter
|
||||||
|
public static class Area {
|
||||||
|
private String area_type;
|
||||||
|
private String area_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Setter
|
||||||
|
@Getter
|
||||||
|
public static class Target {
|
||||||
|
private String trgt_ty;
|
||||||
|
private String trgt_id;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,5 +1,10 @@
|
||||||
package kr.gmtc.gw.elastic.vo.ReplayLog;
|
package kr.gmtc.gw.elastic.vo.ReplayLog;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
public class AsdeVO {
|
public class AsdeVO {
|
||||||
|
|
||||||
private String trgt_id;
|
private String trgt_id;
|
||||||
|
@ -16,89 +21,4 @@ public class AsdeVO {
|
||||||
private String cos;
|
private String cos;
|
||||||
private String trgt_ty;
|
private String trgt_ty;
|
||||||
|
|
||||||
|
|
||||||
public String getTrgt_id() {
|
|
||||||
return trgt_id;
|
|
||||||
}
|
|
||||||
public void setTrgt_id(String trgt_id) {
|
|
||||||
this.trgt_id = trgt_id;
|
|
||||||
}
|
|
||||||
public String getMode_s_cd() {
|
|
||||||
return mode_s_cd;
|
|
||||||
}
|
|
||||||
public void setMode_s_cd(String mode_s_cd) {
|
|
||||||
this.mode_s_cd = mode_s_cd;
|
|
||||||
}
|
|
||||||
public String getSsr_cd() {
|
|
||||||
return ssr_cd;
|
|
||||||
}
|
|
||||||
public void setSsr_cd(String ssr_cd) {
|
|
||||||
this.ssr_cd = ssr_cd;
|
|
||||||
}
|
|
||||||
public String getClsgn() {
|
|
||||||
return clsgn;
|
|
||||||
}
|
|
||||||
public void setClsgn(String clsgn) {
|
|
||||||
this.clsgn = clsgn;
|
|
||||||
}
|
|
||||||
public String getTail_no() {
|
|
||||||
return tail_no;
|
|
||||||
}
|
|
||||||
public void setTail_no(String tail_no) {
|
|
||||||
this.tail_no = tail_no;
|
|
||||||
}
|
|
||||||
public String getTrack_no() {
|
|
||||||
return track_no;
|
|
||||||
}
|
|
||||||
public void setTrack_no(String track_no) {
|
|
||||||
this.track_no = track_no;
|
|
||||||
}
|
|
||||||
public String getRecptn_dt() {
|
|
||||||
return recptn_dt;
|
|
||||||
}
|
|
||||||
public void setRecptn_dt(String recptn_dt) {
|
|
||||||
this.recptn_dt = recptn_dt;
|
|
||||||
}
|
|
||||||
public String getCat_ty() {
|
|
||||||
return cat_ty;
|
|
||||||
}
|
|
||||||
public void setCat_ty(String cat_ty) {
|
|
||||||
this.cat_ty = cat_ty;
|
|
||||||
}
|
|
||||||
public String getLat() {
|
|
||||||
return lat;
|
|
||||||
}
|
|
||||||
public void setLat(String lat) {
|
|
||||||
this.lat = lat;
|
|
||||||
}
|
|
||||||
public String getLon() {
|
|
||||||
return lon;
|
|
||||||
}
|
|
||||||
public void setLon(String lon) {
|
|
||||||
this.lon = lon;
|
|
||||||
}
|
|
||||||
public String getSpd() {
|
|
||||||
return spd;
|
|
||||||
}
|
|
||||||
public void setSpd(String spd) {
|
|
||||||
this.spd = spd;
|
|
||||||
}
|
|
||||||
public String getCos() {
|
|
||||||
return cos;
|
|
||||||
}
|
|
||||||
public void setCos(String cos) {
|
|
||||||
this.cos = cos;
|
|
||||||
}
|
|
||||||
public String getTrgt_ty() {
|
|
||||||
return trgt_ty;
|
|
||||||
}
|
|
||||||
public void setTrgt_ty(String trgt_ty) {
|
|
||||||
this.trgt_ty = trgt_ty;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
package kr.gmtc.gw.elastic.vo.ReplayLog;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
|
||||||
|
public class FusionVO {
|
||||||
|
|
||||||
|
private String trgt_id;
|
||||||
|
private String recptn_dt;
|
||||||
|
private String lat;
|
||||||
|
private String lon;
|
||||||
|
private String spd;
|
||||||
|
private String cos;
|
||||||
|
private String alt;
|
||||||
|
private String trgt_ty;
|
||||||
|
private String schdul_id;
|
||||||
|
private String mode_s_cd;
|
||||||
|
private String ssr_cd;
|
||||||
|
private String clsgn;
|
||||||
|
private String tail_no;
|
||||||
|
private String crrct_lat;
|
||||||
|
private String crrct_lon;
|
||||||
|
private String is_cntrlzone;
|
||||||
|
|
||||||
|
private List<BoundingBox> bbox;
|
||||||
|
|
||||||
|
@Setter
|
||||||
|
@Getter
|
||||||
|
public static class BoundingBox{
|
||||||
|
private String cctv_id;
|
||||||
|
private String lt_x;
|
||||||
|
private String lt_y;
|
||||||
|
private String rb_x;
|
||||||
|
private String rb_y;
|
||||||
|
private String px;
|
||||||
|
private String py;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,19 @@
|
||||||
|
package kr.gmtc.gw.elastic.vo.ReplayLog;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
public class RadarVO {
|
||||||
|
|
||||||
|
private String trgt_id;
|
||||||
|
private String recptn_dt;
|
||||||
|
private String lat;
|
||||||
|
private String lon;
|
||||||
|
private String spd;
|
||||||
|
private String cos;
|
||||||
|
private String detct_cnt;
|
||||||
|
private String undetct_cnt;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,29 @@
|
||||||
|
package kr.gmtc.gw.elastic.vo.ReplayLog;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
public class StandStatusVO {
|
||||||
|
|
||||||
|
private String stand_no;
|
||||||
|
private StandSttusTy stand_sttus_ty;
|
||||||
|
private String aircraft_sttus_ty;
|
||||||
|
private String clsgn;
|
||||||
|
private String schdul_id;
|
||||||
|
private String ac_reg_no;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
public static class StandSttusTy{
|
||||||
|
|
||||||
|
private String arcft_stand;
|
||||||
|
private String brdg_cnnctd;
|
||||||
|
private String crg_dr_opnd;
|
||||||
|
private String pad_clear;
|
||||||
|
private String twng_cr_cnnctd;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -7,7 +7,7 @@ import lombok.Setter;
|
||||||
|
|
||||||
@Setter
|
@Setter
|
||||||
@Getter
|
@Getter
|
||||||
public class StandRouteVO {
|
public class StandardRouteVO {
|
||||||
|
|
||||||
private String mv_id;
|
private String mv_id;
|
||||||
private String trgt_id;
|
private String trgt_id;
|
Loading…
Reference in New Issue