diff --git a/WebContent/WEB-INF/applicationContext-jpa.xml b/WebContent/WEB-INF/applicationContext-jpa.xml index 8eb127d..8da5bda 100644 --- a/WebContent/WEB-INF/applicationContext-jpa.xml +++ b/WebContent/WEB-INF/applicationContext-jpa.xml @@ -63,7 +63,7 @@ validate true false - ${hibernate.dialect:org.hibernate.dialect.PostgreSQL10Dialect} + ${hibernate.dialect:org.hibernate.dialect.Oracle12cDialect} 100 100 false diff --git a/WebContent/WEB-INF/web.xml b/WebContent/WEB-INF/web.xml index 6661aad..9072ae0 100644 --- a/WebContent/WEB-INF/web.xml +++ b/WebContent/WEB-INF/web.xml @@ -71,6 +71,7 @@ + + + + + +   + + +
+ + + + + + + +<% + if(vo != null ){ + +%> + + + + + + + + + +<% + String[] fkeys = vo.getAllKeyNames(); + for(int i=0; i< fkeys.length; i++) { + B2BAdapterMapFldVO fld = vo.getB2BAdapterMapFld(fkeys[i]); +%> + + + + + + + + + + + + + + + + + + + + + +<% + } +} +%> +
  내용  
  EAI서버인스턴스명 :   
  EAI서비스코드 :   
MAP FIELD : (<%=fkeys[i]%>)  
  기관코드 :   
 세부업무구분명 :   
  어뎁터업무그룹명 :   
  어뎁터업무이름 :   
+ + + \ No newline at end of file diff --git a/WebContent/mgr/b2bextract.jsp b/WebContent/mgr/b2bextract.jsp new file mode 100644 index 0000000..3294142 --- /dev/null +++ b/WebContent/mgr/b2bextract.jsp @@ -0,0 +1,153 @@ +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.eactive.eai.common.b2bextractor.B2BExtractManager"%> +<%@ page import="com.eactive.eai.common.b2bextractor.B2BExtractVO"%> +<%@ page import="java.util.HashMap"%> + +<%! + /** + *
+	* 문자열을 받아서 널이면 제로스트링을, 아니면 트림된 문자열을 리턴.
+	* 
+ * @param String 변환 대상 + * @return 'String' + */ + public static String checkNull( String str ) { + + String sResult = new String(); + if ( str == null ) { + sResult = ""; + } + else { + sResult = str.trim(); + } + return sResult; + } +%> +<% + B2BExtractManager manager = B2BExtractManager.getInstance(); + String[] alls = manager.getAllKeyNames(); + String action = request.getParameter("actionType"); + + String selectedKey = request.getParameter("selectedKey"); + int seq = 1; + if(selectedKey == null && alls.length>=1) { + selectedKey = alls[0]; + } + if ("reload".equals(action)){ + // 마지막 제거 + manager.reload(selectedKey.substring(0,selectedKey.length()-1)); + }else if ("reloadAll".equals(action)){ + manager.reload(); + }else { + ; + } + B2BExtractVO vo = null; + if(selectedKey!=null) { + vo = manager.getB2BExtract(selectedKey); + } + +%> + + + + + + + B2BExtractManager + + + + +

+ 라우팅 필드추출 정보 관리

+

+
+ + + + + + + + + + + + + + + + + + + +
IF서비스코드+IF서비스처리번호 :    +
IF서비스코드 :   
IF서비스처리번호 :   
+
+ + + + + + + +<% + if(vo != null ){ + +%> + + + + + + + + + + + + + + + + + + +<% +} +%> +
  내용  
  IF서비스코드 :   
  IF서비스 처리번호 :   
  기관코드추출 CLASS :   
  어댑터라우팅추출 CLASS :   
+
+ + \ No newline at end of file diff --git a/WebContent/mgr/b2bservice.jsp b/WebContent/mgr/b2bservice.jsp new file mode 100644 index 0000000..8a40543 --- /dev/null +++ b/WebContent/mgr/b2bservice.jsp @@ -0,0 +1,250 @@ +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.eactive.eai.common.b2bservice.B2BServiceManager"%> +<%@ page import="com.eactive.eai.common.b2bservice.B2BServiceVO"%> +<%@ page import="java.util.HashMap"%> + +<%! + /** + *
+	* 문자열을 받아서 널이면 제로스트링을, 아니면 트림된 문자열을 리턴.
+	* 
+ * @param String 변환 대상 + * @return 'String' + */ + public static String checkNull( String str ) { + + String sResult = new String(); + if ( str == null ) { + sResult = ""; + } + else { + sResult = str.trim(); + } + return sResult; + } +%> +<% + + B2BServiceManager manager = B2BServiceManager.getInstance(); + String action = request.getParameter("actionType"); + String [] alls = manager.getAllKeys(); + + String selectedKey = request.getParameter("selectedKey"); + if(selectedKey == null && alls.length>=1) { + selectedKey = alls[0]; + } + if ("reload".equals(action)){ + // 마지막 제거 + manager.reload(selectedKey.substring(0,selectedKey.length()-1)); + }else if ("reloadAll".equals(action)){ + manager.reload(); + }else { + ; + } + B2BServiceVO vo = null; + if(selectedKey!=null) { + vo = manager.getB2BServiceVO(selectedKey); + } + +%> + + + + + + + B2BServiceManager + + + + +

+ 라우팅 B2B기관 정보 관리

+

+
+ + + + + + + + + + + + + + + + + + + +
기관코드 + 서비스처리순서 :   +
기관코드 :    
서비스처리번호 :    
+
+ + + + + + +<% + if(vo != null ){ + +%> + + + + + + + + + + + + + + + + + +<%-- + + + + + --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +<% +} +%> +
  내용  
 기관코드 :   
 서비스처리순서 :   
  수동인터페이스유형 :    +
  수동업무시스템명 :   
  수동시스템ID :   
  수동시스템서비스코드 :   
  수동시스템인터페이스유형 :   
  FailOver여부 :    +
  변환유무 :    +
  변환메시지ID :   
  기본응답메시지비교값 :   
  기본응답변환유무 :   
  기본응답변환메시지ID :   
  오류응답메시지비교값 :   
  오류응답변환유무 :   
  오류응답변환메시지ID :   
  다음서비스처리순서 :   
  Outbound라우팅명 :   
  타임아웃값 :   
  보상서비스처리코드 :   
  추가삭제여부 :   
  헤더제어구분코드 :   
  참고클래스명 :   
+
+ + \ No newline at end of file diff --git a/WebContent/mgr/bizkey.jsp b/WebContent/mgr/bizkey.jsp new file mode 100644 index 0000000..36184e0 --- /dev/null +++ b/WebContent/mgr/bizkey.jsp @@ -0,0 +1,151 @@ +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.eactive.eai.common.EAITable"%> +<%@ page import="com.eactive.eai.common.bizkey.BizKeyFldVO"%> +<%@ page import="com.eactive.eai.common.bizkey.BizKeyManager"%> +<%@ page import="com.eactive.eai.common.bizkey.BizKeyVO"%> + +<% + BizKeyManager manager = BizKeyManager.getInstance(); + String[] alls = manager.getAllKeyNames(); + String action = request.getParameter("actionType"); + + + String selectedKey = request.getParameter("selectedKey"); + + if(selectedKey == null && alls.length > 1) { + selectedKey = alls[0]; + } + if ("reload".equals(action)){ + //마지막 TR 을 빼고 처리 해야됨 + manager.reload(selectedKey.substring(0, selectedKey.length()-2), selectedKey.substring(selectedKey.length()-2)); + }else if ("reloadAll".equals(action)){ + manager.reload(); + }else { + ; + } + + BizKeyVO vo = null; + if(selectedKey != null) { + vo = manager.getBizKey(selectedKey); + } +%> + + + + BizKey Manager + + + + +

+ 로그조회키 관리

+

+
+ + + + + + + + + + + + + +
로그조회키 :    +
 
+
+ + + + + +<% + if(vo != null) { +%> + + + + + + + + + + <% + int fldSize = vo.getBizKeyFldLength(); + for(int i=0; i + + + + + + + + + + + + +<% + } + } +%> +
  Property Key     Property Value
  EAI서비스코드 :   
  추출구분 :   + <% + int exrClassLength = EAITable.EXR_CLASS_TYPES.length; + String exrClassTypeName = ""; + for(int i=0; i  +
 FldPrcssNo[<%= vo.getBizKeyFld(i).getColPssSeq() %>]  
  메시지유형 :    +
  업무필드명 :   
+
+ + \ No newline at end of file diff --git a/WebContent/mgr/businessday.jsp b/WebContent/mgr/businessday.jsp new file mode 100644 index 0000000..2793a14 --- /dev/null +++ b/WebContent/mgr/businessday.jsp @@ -0,0 +1,41 @@ +<%@ page import="java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.kbstar.eai.common.businessday.*"%> + +<% + BusinessDayManager manager = BusinessDayManager.getInstance(); + Map messages = manager.getAllBusinessDays(); +%> + + + 일자전환 변경대상 정보 + + + +

+ 일자전환 변경대상 정보

+

+
+ + + + + +<% + Iterator it = messages.keySet().iterator(); + for(int i=0;it.hasNext();i++) { + BusinessDayVO vo = (BusinessDayVO)messages.get((String)it.next()); +%> + + + + +<% } %> +
EAI 서비스코드전문유효일자
<%= vo.getEAISvcName() %><%= vo.getTelgmValdYmd() %>
+
+ + \ No newline at end of file diff --git a/WebContent/mgr/c2rservice.jsp b/WebContent/mgr/c2rservice.jsp new file mode 100644 index 0000000..42bba32 --- /dev/null +++ b/WebContent/mgr/c2rservice.jsp @@ -0,0 +1,222 @@ +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.eactive.eai.common.c2rservice.C2RServiceManager"%> +<%@ page import="com.eactive.eai.common.c2rservice.C2RServiceVO"%> +<%@ page import="java.util.HashMap"%> + +<%! + /** + *
+	* 문자열을 받아서 널이면 제로스트링을, 아니면 트림된 문자열을 리턴.
+	* 
+ * @param String 변환 대상 + * @return 'String' + */ + public static String checkNull( String str ) { + + String sResult = new String(); + if ( str == null ) { + sResult = ""; + } + else { + sResult = str.trim(); + } + return sResult; + } +%> +<% + + String action = request.getParameter("actionType"); + + C2RServiceManager manager = C2RServiceManager.getInstance(); + String key[] = manager.getAllKeys(); + + String selectedKey = request.getParameter("selectKeys"); + int seq = 1; + if(selectedKey == null && key.length>0) { + selectedKey = key[0]; + } + + C2RServiceVO sm = null; + + if(selectedKey!=null) { + sm = manager.getC2RServiceVO(selectedKey); + } + +%> + + + + + + + C2RServiceManager + + + + +

+ C2RService Configuration

+

+
+ + + + + + + +
+ + + + + +
  +
+

+ + + + + + + +<% + if(sm != null ){ + +%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +<% +} +%> +
  내용  
 기관코드 :   
 서비스처리순서 :   
  수동인터페이스유형 :    +
  수동업무시스템명 :   
  수동시스템ID :   
  수동시스템서비스코드 :   
  수동시스템인터페이스유형 :   
  FailOver여부 :    +
  변환유무 :    +
  변환메시지ID :   
  기본응답메시지비교값 :   
  기본응답변환유무 :   
  기본응답변환메시지ID :   
  오류응답메시지비교값 :   
  오류응답변환유무 :   
  오류응답변환메시지ID :   
  다음서비스처리순서 :   
  Outbound라우팅명 :   
  타임아웃값 :   
  보상서비스처리코드 :   
  추가삭제여부 :   
  헤더제어구분코드 :   
  참고클래스명 :   
+
+ + \ No newline at end of file diff --git a/WebContent/mgr/currentTx.jsp b/WebContent/mgr/currentTx.jsp new file mode 100644 index 0000000..450c568 --- /dev/null +++ b/WebContent/mgr/currentTx.jsp @@ -0,0 +1,76 @@ +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.eactive.eai.adapter.AdapterGroupVO"%> +<%@ page import="com.eactive.eai.adapter.AdapterManager"%> +<%@ page import="com.eactive.eai.adapter.Keys"%> + + +<%@ page import="com.eactive.eai.inbound.processor.RequestProcessor"%> + +<% + AdapterManager manager = AdapterManager.getInstance(); + List all = manager.getAllAdapterGroupNames(); + + String flag = request.getParameter("flag"); + if(flag!=null && flag.equals("reset")) { + RequestProcessor.resetCount(); + } + + +%> + + + + + 어댑터 별 진행 서비스 수 + + + + +

+ RequestProcessor 처리 현황 +

+
+ + + + + + + + + + + + +
현재수신 건수에러건수초기화
<%= RequestProcessor.rcvCount()%><%= RequestProcessor.errCount()%>
+
+
+

+ 어댑터 별 진행 서비스 수 +

+ + + + + + + <% + for(int i=0;i + + + + + + <% }%> +
이름상태진행건수
<%=g.getName()%><%=g.isStarted()%><%=g.currentTx()%>
+ + + \ No newline at end of file diff --git a/WebContent/mgr/currentWeb.jsp b/WebContent/mgr/currentWeb.jsp new file mode 100644 index 0000000..2aed23f --- /dev/null +++ b/WebContent/mgr/currentWeb.jsp @@ -0,0 +1,17 @@ +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=UTF-8"%> +<%@ page import="com.eactive.eai.common.web.FrontFilter"%> + + + + Currrnet Tx in Web Application + + + +

+ Currrnet Tx in Web Application +

+ + + + \ No newline at end of file diff --git a/WebContent/mgr/eaimessage.jsp b/WebContent/mgr/eaimessage.jsp new file mode 100644 index 0000000..5454675 --- /dev/null +++ b/WebContent/mgr/eaimessage.jsp @@ -0,0 +1,366 @@ +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.eactive.eai.common.EAITable"%> +<%@ page import="com.eactive.eai.common.message.EAIMessage"%> +<%@ page import="com.eactive.eai.common.message.ServiceMessage"%> +<%@ page import="com.eactive.eai.common.message.EAIMessageManager"%> + +<% + EAIMessageManager manager = EAIMessageManager.getInstance(); + String[] alls = manager.getAllEAISvcCd(); + String action = request.getParameter("actionType"); + + String selectedKey = request.getParameter("selectedKey"); + + if(selectedKey == null && alls.length>=1) { + selectedKey = alls[0]; + } + if ("reload".equals(action)){ + manager.reload(selectedKey); + }else if ("reloadAll".equals(action)){ + manager.reload(); + }else { + ; + } + + EAIMessage vo = null; + + if(selectedKey!=null) { + vo = manager.getEAIMessage(selectedKey); + } + + +%> + + + + + EAIMessage Manager + + + + +

+ EAI 서비스 코드관리

+

+
+ + + + + + + + + + + + + +
EAI서비스코드   +
 

+ + + + +<% + if(vo != null) { +%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +<% + if(vo.getSvcMsgs().size()<=0) { +%> + +<% + } + else { +%> + +<% + } +%> + + + + <% + } +%> +
  내용  
  EAI서비스코드 :   
  EAI서버인스턴스명 :   
  서비스시간유무 :   +   +
  서비스동시사용 :   +   +
  서비스처리유형 :   +   +
  Flow Control라우팅명 :   
  통합유형 :   +   +
  기동서비스구분 :   +   +
  서비스처리순서 :   
  로그처리일련번호 :   
  서비스전열로그여부 :   +   +
  업무구분 :   
  표준메시지사용구분 :   +   +
  기동시스템인터페이스유형 :   
  레이어메시지ID :   
  서버로그레벨 :   +   +
  서비스로그레벨 :   +   +
  오류EAI서비스명 :   
  오류요청변환ID명 :   
  오류요청에러필드명 :   
  오류응답변환ID명 :   
  오류응답에러필드명 :   
  EAI서비스 설명 :   
  EAI서버구분코드 :   
  그룹사코드 :   
  거래처리구분 :   
  사용여부 :   
  서비스처리정보리스트 :    0건 입니다.    <%=vo.getSvcMsgs().size()%>  건  
+
+ + \ No newline at end of file diff --git a/WebContent/mgr/eaiserver.jsp b/WebContent/mgr/eaiserver.jsp new file mode 100644 index 0000000..6ff096e --- /dev/null +++ b/WebContent/mgr/eaiserver.jsp @@ -0,0 +1,106 @@ +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.eactive.eai.common.server.EAIServerManager"%> +<%@ page import="com.eactive.eai.common.server.EAIServerVO"%> + +<% + EAIServerManager manager = EAIServerManager.getInstance(); + String[] alls = manager.getAllEaiSvrInstNm(); + String action = request.getParameter("actionType"); + + String selectedKey = request.getParameter("selectedKey"); + if(selectedKey == null && alls.length>=1) { + selectedKey = alls[0]; + } + + EAIServerVO vo = null; + + if(selectedKey!=null) { + vo = manager.getEAIServer(selectedKey); + } +%> + + + + + EAIServer Manager + + + + +

+ 서버 관리

+

+
+ + + + + + + + + + +
EAI Server 인스턴스명 :    +
 

+ + + + +<% + if(vo != null) { +%> + + + + + + + + + + + + + + + + + + + + + + + + + + <% + } +%> +
  내용  
  서버 인스턴스명 :   
  서버 아이피 :   
  서버 포트 :   
  장애극복서버명 :   
  호스트명 :   
+
+ + \ No newline at end of file diff --git a/WebContent/mgr/errorcode.jsp b/WebContent/mgr/errorcode.jsp new file mode 100644 index 0000000..c5a8e60 --- /dev/null +++ b/WebContent/mgr/errorcode.jsp @@ -0,0 +1,111 @@ +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.eactive.eai.common.errorcode.ErrorCodeManager"%> +<%@ page import="com.eactive.eai.common.errorcode.ErrorCodeVO"%> + +<% + ErrorCodeManager manager = ErrorCodeManager.getInstance(); + String[] alls = manager.getAllCodes(); + String action = request.getParameter("actionType"); + + String selectedKey = request.getParameter("selectedKey"); + if(selectedKey == null && alls.length>1) { + selectedKey = alls[0]; + } + if ("reload".equals(action)){ + manager.reload(selectedKey); + }else if ("reloadAll".equals(action)){ + manager.reload(); + }else { + ; + } + ErrorCodeVO vo = null; + + if(selectedKey != null){ + vo = manager.getMessageVO(selectedKey); + } + + +%> + + + + Error Code Message Manager + + + + +

+ 오류메시지 관리

+

+
+ + + + + + + + + + + + + + +
  +
 

+ + + + +<% if(vo!=null) { %> + + + + + + + + + + + + +<% } else { %> + +<% } %> +
  내용  
오류메시지 코드 :   
오류메시지 :   
조치사항 :   
+
+ + \ No newline at end of file diff --git a/WebContent/mgr/firstAccountInfo.jsp b/WebContent/mgr/firstAccountInfo.jsp new file mode 100644 index 0000000..cff9a77 --- /dev/null +++ b/WebContent/mgr/firstAccountInfo.jsp @@ -0,0 +1,48 @@ +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="java.io.*, java.util.*"%> +<%@ page import="com.eactive.eai.agent.firstaccount.ShareMemory" %> +<% + ShareMemory sm = ShareMemory.getInstance(); + String accNum = sm.getAccoutName(); + String [] accNumArr = accNum.split(","); +%> + + + + FirstAccount Info + + + + +

+ FirstAccount Info

+

+
+ + + + + +
FirstAccount :<%=accNum %>
+
+ + + + + + <% + for(int i=0; i + + + + + <% + } + %> + +
  ¼ø¹ø     ¸ñ·Ï
[ <%=i %> ] :   <%=accNumArr[i] %>
+
+ + \ No newline at end of file diff --git a/WebContent/mgr/inflowAdapter.jsp b/WebContent/mgr/inflowAdapter.jsp new file mode 100644 index 0000000..26a9029 --- /dev/null +++ b/WebContent/mgr/inflowAdapter.jsp @@ -0,0 +1,81 @@ +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.eactive.eai.common.inflow.InflowControlManager"%> +<%@ page import="com.eactive.eai.common.inflow.InflowTargetVO"%> + +<% + InflowControlManager manager = InflowControlManager.getInstance(); + String[] names = manager.getAdapterAllKeys(); + String selectedName = request.getParameter("name"); + if(selectedName == null && names.length>0) selectedName = names[0]; + InflowTargetVO vo = manager.getAdapterInflow(selectedName); +%> + + + + Inflow Adapter Manager + + + + +

+ Infow Adapter Configuration

+

+
+ +<% + if(selectedName!=null) { +%> + + + + + <% + if (vo != null){ + %> + + + + + + + + + + + + + + + + + + <% + } + %> +<% } else { %> + +<% } %> +
어댑터명 :    +
선택된 어댑터명 :   
초당 임계치 :   
추가 임계치 :   
추가 임계치 TimeUnit :   
+ + + + +
+ +

+
+ + \ No newline at end of file diff --git a/WebContent/mgr/inflowInterface.jsp b/WebContent/mgr/inflowInterface.jsp new file mode 100644 index 0000000..42fae72 --- /dev/null +++ b/WebContent/mgr/inflowInterface.jsp @@ -0,0 +1,81 @@ +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.eactive.eai.common.inflow.InflowControlManager"%> +<%@ page import="com.eactive.eai.common.inflow.InflowTargetVO"%> + +<% + InflowControlManager manager = InflowControlManager.getInstance(); + String[] names = manager.getInterfaceAllKeys(); + String selectedName = request.getParameter("name"); + if(selectedName == null && names.length>0) selectedName = names[0]; + InflowTargetVO vo = manager.getInterfaceInflow(selectedName); +%> + + + + Inflow Interface Manager + + + + +

+ Infow Interface Configuration

+

+
+ +<% + if(selectedName!=null) { +%> + + + + + <% + if (vo != null){ + %> + + + + + + + + + + + + + + + + + + <% + } + %> +<% } else { %> + +<% } %> +
인터페이스명 :    +
선택된 인터페이스명 :   
초당 임계치 :   
추가 임계치 :   
추가 임계치 TimeUnit :   
+ + + + +
+ +

+
+ + \ No newline at end of file diff --git a/WebContent/mgr/kbmessage.jsp b/WebContent/mgr/kbmessage.jsp new file mode 100644 index 0000000..8643068 --- /dev/null +++ b/WebContent/mgr/kbmessage.jsp @@ -0,0 +1,228 @@ +<%-- <%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.eactive.eai.agent.AgentUtil"%> +<%@ page import="com.eactive.eai.agent.command.Command"%> +<%@ page import="com.eactive.eai.common.EAITable"%> +<%@ page import="com.kbstar.eai.common.kbmessage.*"%> +<%@ page import="java.util.HashMap"%> + +<%! + /** + *
+	* 문자열을 받아서 널이면 제로스트링을, 아니면 트림된 문자열을 리턴.
+	* 
+ * @param String 변환 대상 + * @return 'String' + */ + public static String checkNull( String str ) { + + String sResult = new String(); + if ( str == null ) { + sResult = ""; + } + else { + sResult = str.trim(); + } + return sResult; + } +%> +<% + KBMessageManager manager = KBMessageManager.getInstance(); + String[] alls = manager.getAllKBMessageKeys(); + String action = request.getParameter("actionType"); + + String selectedKey = request.getParameter("selectedKey"); + if(selectedKey == null && alls.length>=1) { + selectedKey = alls[0]; + } + if ("reload".equals(action)){ + manager.reload(selectedKey); + }else if ("reloadAll".equals(action)){ + manager.reload(); + }else { + ; + } + KBMessage vo = null; + + if(selectedKey != null){ + vo = manager.getKBMessage(selectedKey); + } + + +%> + + + + + EAI KBMessage Manager + + + + +

+ EAI KB내부표준 메시지 관리

+

+
+ + + + + + + + + + + + +
업무 서비스 키 :    +
 
+
+
+ + + + + +<% + if(vo != null) { +%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +<% + } +%> +
  Property Key     Property Value
  업무 서비스 키 :    
  CICS트랜코드 :    
  전문요청구분코드 : (S-요청 /R-응답)   
  그룹회사코드 :    
  수신거래코드 :    
  처리결과수신거래코드 :    
  화면번호 :    
  대외기관코드 :    
  내외부구분코드 : (1-내부/2-외부)   
  원거래복원여부 : (0-불필요/1-필요)   
  복합거래요청구분코드 : (' '-없음/T-다중전송/A-다중조합)   
  시스템운영환경구분코드 : (O-운영/S-테스트,스테이징/D-개발/R-DR)   
  취소구분코드 : (1-정상/3-정정취소/4-정정/5-취소)   
  EAI거래코드   
  EAI내외부구분코드   
  채널구분코드   
  채널세부업무구분코드   
  매체구분코드   
  거래부점코드   
  사용자 직원번호   
  은행코드   
+ + --%> \ No newline at end of file diff --git a/WebContent/mgr/kbmsgparser.jsp b/WebContent/mgr/kbmsgparser.jsp new file mode 100644 index 0000000..689a69e --- /dev/null +++ b/WebContent/mgr/kbmsgparser.jsp @@ -0,0 +1,68 @@ +<%-- <%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.kbstar.eai.common.kbmessage.*,com.kbstar.eai.common.kbmessage.parser.*"%> +<% + String action = request.getParameter("Convert"); + String kbmessagetext = ""; + String fixeddata = ""; + String xmldata = ""; + String errorMsg = ""; + + if("Convert".equals(action)) { + try { + kbmessagetext = request.getParameter("kbmessagetext"); + //KBMessage kbMsg = KBMessageUtil.convert(kbmessagetext.getBytes(), false); + KBMessageParser parser = KBMessageParserFactory.createPaserFactory(KBMessageParserType.ASC.toString()); + KBMessage kbMsg = parser.convert(kbmessagetext.getBytes()); + fixeddata = kbMsg.toString(); + xmldata = kbMsg.toXMLString(); + } + catch(Exception e) { + errorMsg = e.getMessage(); + } + } +%> + + + + KBMessage Util + + + + +

+ Message Parser

+

+
+ + + + +<% if(errorMsg != null && errorMsg.length() > 0) { %> + + + +<% } %> +
+ +
<%= errorMsg %>
+ + + + + + + + + + + + + +
 KBMessage 전문 
 전문파싱 
 XML 전문 
+
+ --%> \ No newline at end of file diff --git a/WebContent/mgr/lifecycle.jsp b/WebContent/mgr/lifecycle.jsp new file mode 100644 index 0000000..d85f169 --- /dev/null +++ b/WebContent/mgr/lifecycle.jsp @@ -0,0 +1,138 @@ +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.eactive.eai.common.EAITable"%> +<%@ page import="com.eactive.eai.common.lifecycle.Lifecycle"%> +<%@ page import="com.eactive.eai.common.lifecycle.LifecycleManager"%> +<%@ page import="com.eactive.eai.common.lifecycle.LifecycleVO"%> +<%@ page import="java.util.HashMap"%> +<%@ page import="com.eactive.eai.common.util.* "%> +<%! + /** + *
+	* 문자열을 받아서 널이면 제로스트링을, 아니면 트림된 문자열을 리턴.
+	* 
+ * @param String 변환 대상 + * @return 'String' + */ + public static String checkNull( String str ) { + + String sResult = new String(); + if ( str == null ) { + sResult = ""; + } + else { + sResult = str.trim(); + } + return sResult; + } +%> +<% + + LifecycleManager manager = ApplicationContextProvider.getContext().getBean(LifecycleManager.class); + String action = request.getParameter("actionType"); + + List lists = manager.getLifecycleVOList(); + + String[] alls = new String[lists.size()]; + + for(int i=0; i< alls.length; i++){ + alls[i] = ((LifecycleVO)lists.get(i)).getLifecycleClass(); + } + + String selectedKey = request.getParameter("selectedKey"); + + if(selectedKey == null && alls.length>=1) { + selectedKey = alls[0]; + } + + LifecycleVO vo = null; + + if(selectedKey!=null) { + for(int i=0; i < alls.length; i++){ + String lifeC = ((LifecycleVO)lists.get(i)).getLifecycleClass(); + if(selectedKey.equals(lifeC)){ + vo = (LifecycleVO)lists.get(i); + } + } + } + +%> + + + + + + LifeCycle Manager + + + + +

+ 라이프사이클 관리

+

+
+ + + + + + + + + + + +
라이프사이클 클래스명 :   +

+ + + + + + + +<% + if(vo != null ){ + +%> + + + + + + + + + + + + + +<% +} +%> +
  내용  
  라이프사이클 클래스명 :   
  로딩순서 :   
  라이프사이클 구분코드 :   
+
+ + \ No newline at end of file diff --git a/WebContent/mgr/messagekey.jsp b/WebContent/mgr/messagekey.jsp new file mode 100644 index 0000000..e5960d9 --- /dev/null +++ b/WebContent/mgr/messagekey.jsp @@ -0,0 +1,185 @@ +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.eactive.eai.common.EAITable"%> +<%@ page import="com.eactive.eai.common.messagekey.*"%> + +<% + MessageKeyManager manager = MessageKeyManager.getInstance(); + String[] alls = manager.getAllKeyNames(); + String action = request.getParameter("actionType"); + + String selectedKey = request.getParameter("selectedKey"); + if(selectedKey == null && alls.length>1) { + selectedKey = alls[0]; + } + if ("reload".equals(action)){ + //I를 "," 로 분리 해야됨 + manager.reload(selectedKey.substring(0,selectedKey.length()-1),selectedKey.substring(selectedKey.length()-1) ); + }else if ("reloadAll".equals(action)){ + manager.reload(); + }else { + ; + } + + MessageKeyVO vo = null; + if(selectedKey != null){ + vo = manager.getMessageKey(selectedKey); + } + String voName = (String)vo.getName(); + String adptName = voName.substring(0, voName.length()-1); + String exrTp = voName.substring(voName.length()-1); + +%> + + + + MessageKey Manager + + + + +

+ 메세지키 관리

+

+
+ + + + + + + + + + + + + + + + + +
어댑터명 + 기능구분 :    +
어댑터명 :    
기능구분 :    
+
+ + + + +<% + if(vo != null) { +%> + + + + + + + + + + + + + <% + int groupSize = vo.getAlMsgGroups().size(); + for(int g=0; g + + + +<% + MessageKeyGroupVO group = vo.getMessageKeyGroup(g); + int fldSize = group.getMessageKeyFldLength(); + for(int i=0; i + + + + + + + + + + + + + + + + + + + + + + + + + +<% + } + } + } +%> + +
  내용  
  어댑터명 :    
  메시지유형 :     + +
  기능구분 :     +
 Group[<%= g %>]  
 Field[<%= i %>]  
  업무필드명 :    
  클래스명 :    
  필드시작위치 :    
  필드길이 :    
  정상값 :    
+
+ + \ No newline at end of file diff --git a/WebContent/mgr/newsvcmonitor.jsp b/WebContent/mgr/newsvcmonitor.jsp new file mode 100644 index 0000000..2093e5c --- /dev/null +++ b/WebContent/mgr/newsvcmonitor.jsp @@ -0,0 +1,304 @@ +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.eactive.eai.common.EAITable"%> +<%@ page import="com.eactive.eai.common.message.EAIMessage"%> +<%@ page import="com.eactive.eai.common.message.ServiceMessage"%> +<%@ page import="com.eactive.eai.common.message.EAIMessageManager"%> +<%@ page import="com.eactive.eai.common.monitor.EAIServiceMonitor"%> +<%@ page import="com.eactive.eai.common.monitor.MonitorVO"%> +<%@ page import="java.util.HashMap"%> + +<% + + EAIServiceMonitor monitor = EAIServiceMonitor.getInstance(); + String[] voKey = monitor.getAllMonitorVOKey(); + String action = request.getParameter("actionType"); + MonitorVO vo = null; + String[] pssCntKey = null; + String[] pssErrCntKey = null; + HashMap pssCnt = null; + HashMap pssCntInPeriod = null; + HashMap errPssCnt = null; + HashMap errPssCntInPeriod = null; + + String selectedSvcCds = request.getParameter("svcCds"); + if(selectedSvcCds == null && voKey.length>=1){ + selectedSvcCds = voKey[0]; + } + + if(selectedSvcCds!=null) { + vo = monitor.getMonitorVO(selectedSvcCds); + if("RESET".equals(action)) { + vo.reset(); + } + pssCntKey = vo.getAllPssCntKey(); + pssCnt = vo.getPssCnt(); + pssCntInPeriod = vo.getPssCntInPeriod(); + errPssCnt = vo.getErrPssCnt(); + errPssCntInPeriod = vo.getErrPssCntInPeriod(); + + pssErrCntKey = vo.getAllErrPssCntKey(); + + } + + if("ALLRESET".equalsIgnoreCase(action)){ + monitor.resetAll(); + } +%> + + + + + Service ID/Log Sequence 별 통계 Monitor + + + + +

+ Service ID/Log Sequence 별 통계 데이터

+

+
+ + + + + + + + +
+ + + + + +
  +
+
+ + + +

+ + +<% + if(pssCntKey != null && pssCntKey.length >0){ + if(vo != null) { +%> + + + + + + + + + + + + <% + int pssCntKeyLength = pssCntKey.length; + int pssErrCntKeyLength = pssErrCntKey.length; + + long[] verTotal = new long[pssErrCntKeyLength]; + long[] verInPeriodTotal = new long[pssErrCntKeyLength]; + for(int i=0;i + + + <% + } + %> + + + + <% + for(int i=0;i + + + + <% + } + double avgOfprocessTime = 0; + double psvAvgOfProcessTime = 0; + + if("AA".equalsIgnoreCase(vo.getIfType())){ + if(Long.parseLong(pssCnt.get(pssCntKey[1]).toString()) >0 && vo.getSumOfprocessTime() > 0 ){ + avgOfprocessTime = vo.getSumOfprocessTime()/1000/Long.parseLong(pssCnt.get(pssCntKey[1]).toString()); + } + if(Long.parseLong(pssCnt.get(pssCntKey[3]).toString()) >0 && vo.getSumOfprocessTime() > 0 ){ + avgOfprocessTime = vo.getSumOfprocessTime()/1000/Long.parseLong(pssCnt.get(pssCntKey[3]).toString()); + } + } + else{ + + if(Long.parseLong(pssCnt.get(pssCntKey[3]).toString()) >0 && vo.getSumOfprocessTime() > 0 ){ + avgOfprocessTime = vo.getSumOfprocessTime()/1000/Long.parseLong(pssCnt.get(pssCntKey[3]).toString()); + } + } + if(Long.parseLong(pssCnt.get(pssCntKey[2]).toString()) > 0 && vo.getPsvSumOfPssTime() > 0 ){ + psvAvgOfProcessTime = vo.getPsvSumOfPssTime()/1000/Long.parseLong(pssCnt.get(pssCntKey[2]).toString()); + } + %> + + + + + + + + <% + + for(int i=0;i + + + + <% + } + %> + + + + + + <% + for(int i=0;i + + <% + + } + %> + + + + + + + + + + + + + + + + <% + + for(int i=0;i + + + <% + } + %> + + + + <% + for(int i=0;i + + + + <% + } + + double avgOfprocessTimeInPeriod = 0; + double psvAvgOfProcessTimeInPeriod = 0; + + if("AA".equalsIgnoreCase(vo.getIfType())){ + if(Long.parseLong(pssCntInPeriod.get(pssCntKey[1]).toString()) >0 && vo.getSumOfProcessTimeInPeriod() > 0){ + avgOfprocessTimeInPeriod = vo.getSumOfProcessTimeInPeriod()/1000/Long.parseLong(pssCntInPeriod.get(pssCntKey[1]).toString()); + } + if(Long.parseLong(pssCntInPeriod.get(pssCntKey[3]).toString()) >0 && vo.getSumOfProcessTimeInPeriod() > 0){ + avgOfprocessTimeInPeriod = vo.getSumOfProcessTimeInPeriod()/1000/Long.parseLong(pssCntInPeriod.get(pssCntKey[3]).toString()); + } + } + else{ + if(Long.parseLong(pssCntInPeriod.get(pssCntKey[3]).toString()) >0 && vo.getSumOfProcessTimeInPeriod() > 0){ + avgOfprocessTimeInPeriod = vo.getSumOfProcessTimeInPeriod()/1000/Long.parseLong(pssCntInPeriod.get(pssCntKey[3]).toString()); + } + } + + if(Long.parseLong(pssCntInPeriod.get(pssCntKey[2]).toString()) >0 && vo.getPsvSumOfPssTimeInPeriod() > 0){ + psvAvgOfProcessTimeInPeriod = vo.getPsvSumOfPssTimeInPeriod()/1000/Long.parseLong(pssCntInPeriod.get(pssCntKey[2]).toString()); + } + + %> + + + + + + + + <% + for(int i=0;i + + + + <% + } + %> + + + + + + <% + for(int i=0;i + + <% + + } + %> + + + <% + } + }else{ + %> +
   일일 통계
구분Log Sequence 별 처리 누적 EAI 시스템 평균 처리시간(초) 수동 시스템 평균 처리시간(초)
<%=pssErrCntKey[i]%>
  처리 건수 :      +    
  에러 발생 건수 
  Log Sequence 별 합계 :  
   최근시간 통계
구분Log Sequence 별 처리 누적 EAI 시스템 평균 처리시간(초) 수동 시스템 평균 처리시간(초)
<%=pssErrCntKey[i]%>
처리 건수 :      +    
  에러 발생 건수 
  Log Sequence 별 합계 :  
+ 해당 서비스 ID에 대한 거래 내역이 없습니다. + <% + } + %> + +
+ + \ No newline at end of file diff --git a/WebContent/mgr/property.jsp b/WebContent/mgr/property.jsp new file mode 100644 index 0000000..6416820 --- /dev/null +++ b/WebContent/mgr/property.jsp @@ -0,0 +1,109 @@ +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.eactive.eai.common.property.PropGroupVO"%> +<%@ page import="com.eactive.eai.common.property.PropManager"%> + +<% + PropManager manager = PropManager.getInstance(); + String[] alls = manager.getAllPropGroupNames(); + String action = request.getParameter("actionType"); + + String selectedKey = request.getParameter("selectedKey"); + if(selectedKey == null && alls.length>1) { + selectedKey = alls[0]; + } + if ("reload".equals(action)){ + manager.reload(selectedKey); + }else if ("reloadAll".equals(action)){ + manager.reload(); + }else { + ; + } + + PropGroupVO vo = null; + + String[] keys = null; + if(selectedKey!=null) { + vo = manager.getPropGroupVO(selectedKey); + keys = vo.keys(); + } +%> + + + + Property Manager + + + + +

+ 프라퍼티 관리

+

+
+ + + + + + + + + + + + + +
프라퍼티 그룹 :    +
 
+
+ + + + + + <% + if(vo!=null) { + for (int i=0; i + + + + + <% + } + } + %> +
  Property Key     Property Value
  <%=keys[i]%> :   
+
+ + \ No newline at end of file diff --git a/WebContent/mgr/refmsgid.jsp b/WebContent/mgr/refmsgid.jsp new file mode 100644 index 0000000..cdf2062 --- /dev/null +++ b/WebContent/mgr/refmsgid.jsp @@ -0,0 +1,144 @@ +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.eactive.eai.common.EAITable"%> +<%@ page import="com.eactive.eai.common.message.EAIMessage"%> +<%@ page import="com.eactive.eai.common.message.ServiceMessage"%> +<%@ page import="com.eactive.eai.common.message.EAIMessageManager"%> +<%@ page import="java.util.HashMap"%> + +<%! + /** + *
+	* 문자열을 받아서 널이면 제로스트링을, 아니면 트림된 문자열을 리턴.
+	* 
+ * @param String 변환 대상 + * @return 'String' + */ + public static String checkNull( String str ) { + + String sResult = new String(); + if ( str == null ) { + sResult = ""; + } + else { + sResult = str.trim(); + } + return sResult; + } +%> +<% + + String action = request.getParameter("actionType"); + String seq = request.getParameter("actionSeq"); + String eAISvcCd = checkNull(request.getParameter("id")); + + EAIMessageManager manager = EAIMessageManager.getInstance(); + String[] eaiSvcCds = manager.getAllEAISvcCd(); + + String selectedSvcCds = request.getParameter("svcCds"); + if(selectedSvcCds == null && eaiSvcCds.length>=1) { + selectedSvcCds = eaiSvcCds[0]; + } + if(eAISvcCd.length() > 0) + selectedSvcCds = eAISvcCd; + + EAIMessage eAIMsg = new EAIMessage(); + List svcMsg = new ArrayList(); + + + if(selectedSvcCds!=null) { + System.out.println("selectedSvcCds : "+ selectedSvcCds); + eAIMsg = manager.getEAIMessage(selectedSvcCds); + svcMsg = eAIMsg.getSvcMsgs(); + } + +%> + + + + + + EAI RefMessageIds Manager + + + + +

+ EAI RefMessageIDs Configuration

+

+
+ + + + + + + + +
EAI 서비스코드   +

+ + + + + +<% + if(svcMsg != null) { + int size = svcMsg.size(); + for(int i=0; i + + + + + + + + + +<% + if(refmsgid != null && refmsgid.length >0){ + for(int j=0; j + + + + + + + + +<% + } + } + } +} + +%> +
  내용  
+ +
 SvcPssSeq[<%= i+1 %>]  
  RefMsgIDSeq :   
  RefMsgID :   
+
+ + \ No newline at end of file diff --git a/WebContent/mgr/restrictInfo.jsp b/WebContent/mgr/restrictInfo.jsp new file mode 100644 index 0000000..d3978e4 --- /dev/null +++ b/WebContent/mgr/restrictInfo.jsp @@ -0,0 +1,89 @@ +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.eactive.eai.common.restrict.*"%> + +<% + RestrictInfoManager manager = RestrictInfoManager.getInstance(); + + String action = request.getParameter("actionType"); + if("RELOAD".equals(action)) { + System.out.println("restrictInfo.jap - RELOAD called"); + manager.reload(); + } + + String[] names = manager.getAllCodes(); + Map messages = manager.getAllRestrictInfos(); + String selectedName = request.getParameter("code"); + if(selectedName == null && names.length>1) selectedName = names[0]; + +%> + + + + RestrictInfoManager + + + + +

+ RestrictInfo

+

+
+ + +<% if(selectedName!=null) { %> + + + + + + + + + + + + + + + + + + + + + + + + +<% } else { %> + +<% } %> +
  +
 
 
 
 
 
+ + + + +
+ +

+
+ + \ No newline at end of file diff --git a/WebContent/mgr/routing.jsp b/WebContent/mgr/routing.jsp new file mode 100644 index 0000000..8527f2c --- /dev/null +++ b/WebContent/mgr/routing.jsp @@ -0,0 +1,120 @@ +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.eactive.eai.common.routing.RoutingManager"%> +<%@ page import="com.eactive.eai.common.routing.RoutingVO"%> + +<% + RoutingManager manager = RoutingManager.getInstance(); + String[] alls = manager.getAllRoutingNames(); + String action = request.getParameter("actionType"); + + String selectedKey = request.getParameter("selectedKey"); + if(selectedKey == null && alls.length>=1) { + selectedKey = alls[0]; + } + if ("reload".equals(action)){ + manager.reload(selectedKey); + }else if ("reloadAll".equals(action)){ + manager.reload(); + }else { + ; + } + RoutingVO vo = null; + + if(selectedKey != null){ + vo = manager.getRoutingVO(selectedKey); + } +%> + + + + + Routing Manager + + + + +

+ 라우팅 관리

+

+
+ + + + + + + + + + + + + +
라우팅명 :    +
 

+ + + + +<% + if(vo != null) { +%> + + + + + + + + + + + + + + + + + + + + + <% + } +%> +
  내용  
  라우팅명 :   
  동기 라우팅 URI :   
  비동기 라우팅 URI :   
  레이어구분코드 :   
+
+ + \ No newline at end of file diff --git a/WebContent/mgr/stdmessage.jsp b/WebContent/mgr/stdmessage.jsp new file mode 100644 index 0000000..3ff9e38 --- /dev/null +++ b/WebContent/mgr/stdmessage.jsp @@ -0,0 +1,129 @@ +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.eactive.eai.agent.AgentUtil"%> +<%@ page import="com.eactive.eai.agent.command.Command"%> +<%@ page import="com.eactive.eai.common.EAITable"%> +<%@ page import="com.eactive.eai.common.stdmessage.*"%> +<%@ page import="com.eactive.eai.common.server.EAIServerManager"%> +<%@ page import="java.util.HashMap"%> +<%@ page import="com.eactive.eai.message.StandardMessage"%> +<%! + /** + *
+	* 문자열을 받아서 널이면 제로스트링을, 아니면 트림된 문자열을 리턴.
+	* 
+ * @param String 변환 대상 + * @return 'String' + */ + public static String checkNull( String str ) { + + String sResult = new String(); + if ( str == null ) { + sResult = ""; + } + else { + sResult = str.trim(); + } + return sResult; + } +%> +<% + STDMessageManager manager = STDMessageManager.getInstance(); + String[] alls = manager.getAllSTDMessageKeys(); + String action = request.getParameter("actionType"); + + String selectedKey = request.getParameter("selectedKey"); + if(selectedKey == null && alls.length>=1) { + selectedKey = alls[0]; + } + if ("reload".equals(action)){ + manager.reload(selectedKey); + }else if ("reloadAll".equals(action)){ + manager.reload(); + }else { + ; + } + StandardMessage vo = null; + + if(selectedKey != null) { + vo = manager.getSTDMessage(selectedKey); + } +%> + + + + + EAI STDMessage Manager + + + + +

+ EAI 내부표준 메시지 관리

+

+
+ + + + + + + + + + + + +
업무 서비스 키 :    +
 
+
+
+ + + + + +<% + if(vo != null) { +%> + + + + + +<% + } +%> +
  Property Key     Property Value
  XML :   <%=vo.toPrettyJson(false)%>
+ + \ No newline at end of file diff --git a/WebContent/mgr/svcmessages.jsp b/WebContent/mgr/svcmessages.jsp new file mode 100644 index 0000000..ad273d0 --- /dev/null +++ b/WebContent/mgr/svcmessages.jsp @@ -0,0 +1,354 @@ +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.eactive.eai.common.EAITable"%> +<%@ page import="com.eactive.eai.common.message.EAIMessage"%> +<%@ page import="com.eactive.eai.common.message.ServiceMessage"%> +<%@ page import="com.eactive.eai.common.message.EAIMessageManager"%> +<%@ page import="java.util.HashMap"%> + +<%! + /** + *
+	* 문자열을 받아서 널이면 제로스트링을, 아니면 트림된 문자열을 리턴.
+	* 
+ * @param String 변환 대상 + * @return 'String' + */ + public static String checkNull( String str ) { + + String sResult = new String(); + if ( str == null ) { + sResult = ""; + } + else { + sResult = str.trim(); + } + return sResult; + } +%> +<% + + EAIMessageManager manager = EAIMessageManager.getInstance(); + String[] alls = manager.getAllEAISvcCd(); + String action = request.getParameter("actionType"); + String eaiSvcCd = checkNull(request.getParameter("id")); + + + String selectedKey = request.getParameter("selectedKey"); + if(selectedKey == null && alls.length>=1) { + selectedKey = alls[0]; + } + + if(eaiSvcCd.length() > 0){ + selectedKey = eaiSvcCd; + } + + List listVo = null; + + if(selectedKey!=null) { + listVo = manager.getEAIMessage(selectedKey).getSvcMsgs(); + } +%> + + + + + + EAI ServiceMessage Manager + + + + +

+ EAI ServiceMessage Configuration

+

+
+ + + + + + + + +
EAI서비스코드  +
+ + + +
+ + + + + +<% + if(listVo != null) { + int size = listVo.size(); + for(int i=0; i + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +<% + if(sm.getRefMsgIDs() == null || sm.getRefMsgIDs().length <= 0) { +%> + +<% + } + else { +%> + + +<% + } +%> + + + + + + +<% + if(sm.getCondPerRtgInfo() == null || sm.getCondPerRtgInfo().size() <= 0) { +%> + +<% + } + else { +%> + + +<% + } +%> + + +<% + } + + } + +%> +
  내용  
 Field[<%= i %>]  
 서비스처리순서 :   
  수동인터페이스유형 :   +   +
  수동업무시스템명 :   
  수동시스템ID :   
  수동시스템서비스코드 :   
  수동시스템인터페이스유형 :   
  FailOver여부 :   +   +
  변환유무 :   +   +
  변환메시지ID :   
  기본응답메시지비교값 :   
  기본응답변환유무 :   +   +
  기본응답변환메시지ID :   
  오류응답메시지비교값 :   
  오류응답변환유무 :   +   +
  오류응답변환메시지ID :   
  다음서비스처리순서 :   
  Outbound라우팅명 :   
  타임아웃값 :   
  보상서비스처리코드 :   
  추가삭제 여부 :   
  헤더제어구분코드 - [01/02]삭제추가/추가삭제 :   
  참고클래스명 :   
  타이머참고메시지ID :   
참조메시지IDS  0건 입니다.    <%=sm.getRefMsgIDs().length%>  건  
조건부라우팅정보테이블  0건 입니다.    <%=sm.getCondPerRtgInfo().size()%>  건  
+
+ + \ No newline at end of file diff --git a/WebContent/mgr/svcmonitor.jsp b/WebContent/mgr/svcmonitor.jsp new file mode 100644 index 0000000..210c093 --- /dev/null +++ b/WebContent/mgr/svcmonitor.jsp @@ -0,0 +1,310 @@ +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.eactive.eai.common.EAITable"%> +<%@ page import="com.eactive.eai.common.message.EAIMessage"%> +<%@ page import="com.eactive.eai.common.message.ServiceMessage"%> +<%@ page import="com.eactive.eai.common.message.EAIMessageManager"%> +<%@ page import="com.eactive.eai.common.monitor.EAIServiceMonitor"%> +<%@ page import="com.eactive.eai.common.monitor.MonitorVO"%> +<%@ page import="java.util.HashMap"%> + +<% + String actionMessage = ""; + EAIServiceMonitor monitor = EAIServiceMonitor.getInstance(); + String[] voKey = monitor.getAllMonitorVOKey(); + String action = request.getParameter("actionType"); + MonitorVO vo = null; + String[] pssCntKey = null; + String[] pssErrCntKey = null; + HashMap pssCnt = null; + HashMap pssCntInPeriod = null; + HashMap errPssCnt = null; + HashMap errPssCntInPeriod = null; + + String selectedSvcCds = request.getParameter("svcCds"); + if(selectedSvcCds == null && voKey.length>=1) { + selectedSvcCds = voKey[0]; + } + + if(selectedSvcCds!=null) { + vo = monitor.getMonitorVO(selectedSvcCds); + if("RESET".equals(action)) { + vo.reset(); + } + pssCntKey = vo.getAllPssCntKey(); + pssCnt = vo.getPssCnt(); + pssCntInPeriod = vo.getPssCntInPeriod(); + errPssCnt = vo.getErrPssCnt(); + errPssCntInPeriod = vo.getErrPssCntInPeriod(); + + } + + if("ALLRESET".equalsIgnoreCase(action)){ + monitor.resetAll(); + } + else if("RESET_TOLIST".equalsIgnoreCase(action)){ + actionMessage = monitor.resetErrorList(); + } +%> + + + +Service ID/Log Sequence 별 통계 Monitor + + + +

Service ID/Log Sequence 별 통계 데이터
+<% if(actionMessage != null && actionMessage.length() > 0) { %> +Action result : <%= actionMessage %>
+<% } %> +
+

+
+ + + + + + + + +
+ + + + + +
EAI Service Message ID :   
+
+
+ +<% + if(pssCntKey != null && pssCntKey.length >0){ + if(vo != null) { + pssErrCntKey = vo.getAllErrPssCntKey(); + int pssCntKeyLength = pssCntKey.length; + int pssErrCntKeyLength = pssErrCntKey.length; +%> + + + + + + + + + + + + <% + long[] verTotal = new long[pssErrCntKeyLength]; + long[] verInPeriodTotal = new long[pssErrCntKeyLength]; + for(int i=0;i + + + <% + } + %> + + + + <% + for(int i=0;i + + + + <% + } + + double avgOfprocessTime = 0; + double psvAvgOfProcessTime = 0; + + if("AA".equalsIgnoreCase(vo.getIfType())){ + if(Long.parseLong(pssCnt.get(pssCntKey[1]).toString()) >0 && vo.getSumOfprocessTime() > 0 ){ + avgOfprocessTime = vo.getSumOfprocessTime()/1000/Long.parseLong(pssCnt.get(pssCntKey[1]).toString()); + } + if(Long.parseLong(pssCnt.get(pssCntKey[3]).toString()) >0 && vo.getSumOfprocessTime() > 0 ){ + avgOfprocessTime = vo.getSumOfprocessTime()/1000/Long.parseLong(pssCnt.get(pssCntKey[3]).toString()); + } + } + else{ + + if(Long.parseLong(pssCnt.get(pssCntKey[3]).toString()) >0 && vo.getSumOfprocessTime() > 0 ){ + avgOfprocessTime = vo.getSumOfprocessTime()/1000/Long.parseLong(pssCnt.get(pssCntKey[3]).toString()); + } + } + if(Long.parseLong(pssCnt.get(pssCntKey[2]).toString()) > 0 && vo.getPsvSumOfPssTime() > 0 ){ + psvAvgOfProcessTime = vo.getPsvSumOfPssTime()/1000/Long.parseLong(pssCnt.get(pssCntKey[2]).toString()); + + } + System.out.println("vo.getPsvSumOfPssTime() : "+ vo.getPsvSumOfPssTime()); + %> + + + + + + + + + <% + for(int i=0;i + + <% + } + %> + + + + + <% + for(int i=0;i + + <% + + } + %> + + + + + + + + + + + + + + + + <% + + for(int i=0;i + + + <% + } + %> + + + + <% + for(int i=0;i + + + + <% + } + + double avgOfprocessTimeInPeriod = 0; + double psvAvgOfProcessTimeInPeriod = 0; + + if("AA".equalsIgnoreCase(vo.getIfType())){ + if(Long.parseLong(pssCntInPeriod.get(pssCntKey[1]).toString()) >0 && vo.getSumOfProcessTimeInPeriod() > 0){ + avgOfprocessTimeInPeriod = vo.getSumOfProcessTimeInPeriod()/1000/Long.parseLong(pssCntInPeriod.get(pssCntKey[1]).toString()); + } + if(Long.parseLong(pssCntInPeriod.get(pssCntKey[3]).toString()) >0 && vo.getSumOfProcessTimeInPeriod() > 0){ + avgOfprocessTimeInPeriod = vo.getSumOfProcessTimeInPeriod()/1000/Long.parseLong(pssCntInPeriod.get(pssCntKey[3]).toString()); + } + } + else{ + if(Long.parseLong(pssCntInPeriod.get(pssCntKey[3]).toString()) >0 && vo.getSumOfProcessTimeInPeriod() > 0){ + avgOfprocessTimeInPeriod = vo.getSumOfProcessTimeInPeriod()/1000/Long.parseLong(pssCntInPeriod.get(pssCntKey[3]).toString()); + } + } + + if(Long.parseLong(pssCntInPeriod.get(pssCntKey[2]).toString()) >0 && vo.getPsvSumOfPssTimeInPeriod() > 0){ + psvAvgOfProcessTimeInPeriod = vo.getPsvSumOfPssTimeInPeriod()/1000/Long.parseLong(pssCntInPeriod.get(pssCntKey[2]).toString()); + } + + %> + + + + + + + + + <% + for(int i=0;i + + + + <% + } + %> + + + + + + <% + for(int i=0;i + + <% + + } + %> + + + <% + } + } else{ + %> +
   일일 통계
구분Log Sequence 별 처리 누적EAI 시스템 평균 처리시간(초)수동 시스템 평균 처리시간(초)
<%=pssErrCntKey[i]%>
정상    
에러 
합계
   최근시간 통계
구분Log Sequence 별 처리 누적EAI 시스템 평균 처리시간(초)수동 시스템 평균 처리시간(초)
<%=pssErrCntKey[i]%>
정상    
에러 
합계
+해당 서비스 ID에 대한 거래 내역이 없습니다. <% + } + %>
+ + diff --git a/WebContent/mgr/svcmonitorbwk.jsp b/WebContent/mgr/svcmonitorbwk.jsp new file mode 100644 index 0000000..149c1ff --- /dev/null +++ b/WebContent/mgr/svcmonitorbwk.jsp @@ -0,0 +1,407 @@ +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.eactive.eai.common.EAITable"%> +<%@ page import="com.eactive.eai.common.message.EAIMessage"%> +<%@ page import="com.eactive.eai.common.message.ServiceMessage"%> +<%@ page import="com.eactive.eai.common.message.EAIMessageManager"%> +<%@ page import="com.eactive.eai.common.monitor.EAIServiceMonitor"%> +<%@ page import="com.eactive.eai.common.monitor.MonitorVO"%> +<%@ page import="java.util.HashMap"%> + +<% + + EAIServiceMonitor monitor = EAIServiceMonitor.getInstance(); + String[] voKey = monitor.getAllBwkClsKey(); + String action = request.getParameter("actionType"); + + String[] pssCntKey = null; + String[] pssErrCntKey = null; + HashMap pssCnt = null; + HashMap pssCntInPeriod = null; + HashMap errPssCnt = null; + HashMap errPssCntInPeriod = null; + HashMap voByBwk = null; + + long[] verTotalByBwk = null;; + long[] verTotalInPeriodByBwk = null; + double sumOfprocessTimeByBwk = 0; + double psvSumOfProcessTimeByBwk = 0; + double sumOfprocessTimeInPeriodByBwk = 0; + double psvSumOfProcessTimeInPeriodByBwk = 0; + double avgOfprocessTimeByBwk = 0; + double psvAvgOfProcessTimeByBwk = 0; + double avgOfprocessTimeInPeriodByBwk = 0; + double psvAvgOfProcessTimeInPeriodByBwk = 0; + + int countEaiSvcCd = 0; + int countEaiSvcCdInPeriod = 0; + + String selectedBwkCls = request.getParameter("bwkCls"); + if(selectedBwkCls == null && voKey.length>=1){ + selectedBwkCls = voKey[0]; + } + + if(selectedBwkCls!=null) { + voByBwk = monitor.getBwkCls(selectedBwkCls); + } + +%> + + + + + 업무구분 코드/Log Sequence 별 통계 Monitor + + + + +

+ 업무구분 코드/Log Sequence 별 통계 데이터

+

+
+ + + + + + +
+ + + + + +
  +
+

+ + +<% + + if(voByBwk != null){ + + Iterator it = voByBwk.keySet().iterator(); + + String[] keys = new String[voByBwk.size()]; + for(int i = 0; it.hasNext(); i++){ + keys[i] = (String)it.next(); + } + Arrays.sort(keys); + %> + + + + + <% + + for(int j = 0; j< keys.length; j++){ + MonitorVO vo = (MonitorVO)voByBwk.get(keys[j]); + pssCntKey = vo.getAllPssCntKey(); + pssCnt = vo.getPssCnt(); + errPssCnt = vo.getErrPssCnt(); + + pssErrCntKey = vo.getAllErrPssCntKey(); + + //verTotalByBwk = new long[pssCntKey.length]; + //verTotalInPeriodByBwk = new long[pssCntKey.length]; + + verTotalByBwk = new long[pssErrCntKey.length]; + verTotalInPeriodByBwk = new long[pssErrCntKey.length]; + + if(pssCntKey != null && pssCntKey.length >0){ + countEaiSvcCd ++; + int pssCntKeyLength = pssCntKey.length; + int pssErrCntKeyLength = pssErrCntKey.length; +%> + + + + + + + + + + + + + + + <% + + + long[] verTotal = new long[pssErrCntKeyLength]; + + for(int i=0;i + + + <% + } + %> + + + + <% + for(int i=0;i + + + + <% + } + + double avgOfprocessTime = 0; + double psvAvgOfProcessTime = 0; + + if("AA".equalsIgnoreCase(vo.getIfType())){ + if(Long.parseLong(pssCnt.get(pssCntKey[1]).toString()) >0 && vo.getSumOfprocessTime() > 0 ){ + avgOfprocessTime = vo.getSumOfprocessTime()/1000/Long.parseLong(pssCnt.get(pssCntKey[1]).toString()); + + sumOfprocessTimeByBwk = sumOfprocessTimeByBwk + avgOfprocessTime; + avgOfprocessTimeByBwk = sumOfprocessTimeByBwk / countEaiSvcCd; + } + if(Long.parseLong(pssCnt.get(pssCntKey[3]).toString()) >0 && vo.getSumOfprocessTime() > 0 ){ + avgOfprocessTime = vo.getSumOfprocessTime()/1000/Long.parseLong(pssCnt.get(pssCntKey[3]).toString()); + + sumOfprocessTimeByBwk = sumOfprocessTimeByBwk + avgOfprocessTime; + avgOfprocessTimeByBwk = sumOfprocessTimeByBwk / countEaiSvcCd; + } + + } + else{ + + if(Long.parseLong(pssCnt.get(pssCntKey[3]).toString()) >0 && vo.getSumOfprocessTime() > 0 ){ + avgOfprocessTime = vo.getSumOfprocessTime()/1000/Long.parseLong(pssCnt.get(pssCntKey[3]).toString()); + } + + sumOfprocessTimeByBwk = sumOfprocessTimeByBwk + avgOfprocessTime; + avgOfprocessTimeByBwk = sumOfprocessTimeByBwk / countEaiSvcCd; + } + if(Long.parseLong(pssCnt.get(pssCntKey[2]).toString()) > 0 && vo.getPsvSumOfPssTime() > 0 ){ + psvAvgOfProcessTime = vo.getPsvSumOfPssTime()/1000/Long.parseLong(pssCnt.get(pssCntKey[2]).toString()); + + psvSumOfProcessTimeByBwk = psvSumOfProcessTimeByBwk + psvAvgOfProcessTime; + psvAvgOfProcessTimeByBwk = psvSumOfProcessTimeByBwk / countEaiSvcCd; + } + %> + + + + + + + + <% + for(int i=0;i + + + + <% + } + %> + + + + + + <% + + for(int i=0;i + + <% + + } + %> + +<% + } + } +%> + + + <% + for(int i=0;i + + <% + + } + %> + + + +
   일일 통계
 EAI Service Code <%=keys[j]%>
구분Log Sequence 별 처리 누적 EAI 시스템 평균 처리시간(초) 수동 시스템 평균 처리시간(초)
<%=pssErrCntKey[i]%>
정상    +    
에러 
합계
 합계    
+
+ + + + + +<% + for(int j = 0; j< keys.length; j++){ + MonitorVO vo = (MonitorVO)voByBwk.get(keys[j]); + pssCntKey = vo.getAllPssCntKey(); + pssCntInPeriod = vo.getPssCntInPeriod(); + errPssCntInPeriod = vo.getErrPssCntInPeriod(); + + pssErrCntKey = vo.getAllErrPssCntKey(); + + if(pssCntKey != null && pssCntKey.length >0){ + countEaiSvcCdInPeriod++; + int pssCntKeyLength = pssCntKey.length; + int pssErrCntKeyLength = pssErrCntKey.length; +%> + + + + + + + + + + + + + + + + <% + long[] verInPeriodTotal = new long[pssErrCntKeyLength]; + + for(int i=0;i + + + <% + } + %> + + + + <% + for(int i=0;i + + + + <% + } + + double avgOfprocessTimeInPeriod = 0; + double psvAvgOfProcessTimeInPeriod = 0; + + if("AA".equalsIgnoreCase(vo.getIfType())){ + if(Long.parseLong(pssCntInPeriod.get(pssCntKey[1]).toString()) >0 && vo.getSumOfProcessTimeInPeriod() > 0){ + avgOfprocessTimeInPeriod = vo.getSumOfProcessTimeInPeriod()/1000/Long.parseLong(pssCntInPeriod.get(pssCntKey[1]).toString()); + sumOfprocessTimeInPeriodByBwk = sumOfprocessTimeInPeriodByBwk + avgOfprocessTimeInPeriod; + avgOfprocessTimeInPeriodByBwk = sumOfprocessTimeInPeriodByBwk / countEaiSvcCdInPeriod; + } + if(Long.parseLong(pssCntInPeriod.get(pssCntKey[3]).toString()) >0 && vo.getSumOfProcessTimeInPeriod() > 0){ + avgOfprocessTimeInPeriod = vo.getSumOfProcessTimeInPeriod()/1000/Long.parseLong(pssCntInPeriod.get(pssCntKey[3]).toString()); + sumOfprocessTimeInPeriodByBwk = sumOfprocessTimeInPeriodByBwk + avgOfprocessTimeInPeriod; + avgOfprocessTimeInPeriodByBwk = sumOfprocessTimeInPeriodByBwk / countEaiSvcCdInPeriod; + } + + } + else{ + if(Long.parseLong(pssCntInPeriod.get(pssCntKey[3]).toString()) >0 && vo.getSumOfProcessTimeInPeriod() > 0){ + avgOfprocessTimeInPeriod = vo.getSumOfProcessTimeInPeriod()/1000/Long.parseLong(pssCntInPeriod.get(pssCntKey[3]).toString()); + + sumOfprocessTimeInPeriodByBwk = sumOfprocessTimeInPeriodByBwk + avgOfprocessTimeInPeriod; + avgOfprocessTimeInPeriodByBwk = sumOfprocessTimeInPeriodByBwk / countEaiSvcCdInPeriod; + } + } + + if(Long.parseLong(pssCntInPeriod.get(pssCntKey[2]).toString()) >0 && vo.getPsvSumOfPssTimeInPeriod() > 0){ + psvAvgOfProcessTimeInPeriod = vo.getPsvSumOfPssTimeInPeriod()/1000/Long.parseLong(pssCntInPeriod.get(pssCntKey[2]).toString()); + + psvSumOfProcessTimeInPeriodByBwk = psvSumOfProcessTimeInPeriodByBwk + psvAvgOfProcessTimeInPeriod; + psvAvgOfProcessTimeInPeriodByBwk = psvSumOfProcessTimeInPeriodByBwk / countEaiSvcCdInPeriod; + } + + %> + + + + + + + + + <% + for(int i=0;i + + + + <% + } + %> + + + + + + <% + for(int i=0;i + + <% + + } + %> + + + <% + } + } +%> + + + <% + for(int i=0;i + + <% + + } + %> + + + +
   최근시간 통계
   EAI Service Code <%=keys[j]%>
구분Log Sequence 별 처리 누적 EAI 시스템 평균 처리시간(초) 수동 시스템 평균 처리시간(초)
<%=pssErrCntKey[i]%>
정상      
에러 
합계
 합계    
+<% +}else{ + %> + + 해당 업무 구분에 대한 거래 내역이 없습니다. + <% + } + %> + +
+ + \ No newline at end of file diff --git a/WebContent/mgr/testcall.jsp b/WebContent/mgr/testcall.jsp new file mode 100644 index 0000000..a86e12d --- /dev/null +++ b/WebContent/mgr/testcall.jsp @@ -0,0 +1,158 @@ +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.eactive.eai.adapter.AdapterVO"%> +<%@ page import="com.eactive.eai.agent.command.Command"%> +<%@ page import="com.eactive.eai.agent.testcall.TestCallCommand"%> +<%@ page import="com.eactive.eai.agent.AgentUtil"%> +<%@ page import="com.eactive.eai.common.property.PropManager"%> +<%@ page import="com.eactive.eai.common.testcall.TestCall"%> +<%@ page import="com.eactive.eai.common.testcall.TestCallManager"%> + +<% + TestCallManager manager = TestCallManager.getInstance(); + ArrayList names = new ArrayList(); + String action = request.getParameter("actionType"); + String period = request.getParameter("period"); + Properties prop = new Properties(); + + Iterator it = manager.getAllAdapterNames(); + while(it.hasNext()) { + names.add(it.next()); + } + Collections.sort(names); + + if(period == null|| period.length()<=0){ + + PropManager pmanager = PropManager.getInstance(); + long temp = 1000*60*10; + try { + temp = Long.parseLong(pmanager.getProperty(manager.PROP_GROUP, manager.PROP_PERIOD)); + + } catch(Exception e) {} + + period = ""+temp; + } + String run = ""; + + if("UPDATE".equals(action)) { + prop.setProperty("PERIOD", period); + Command command = new TestCallCommand(); + command.setArgs(prop); + AgentUtil.broadcast(command); + } + if("START".equals(action)){ + run = "START"; + + prop.setProperty("RUN",run); + Command command = new TestCallCommand(); + command.setArgs(prop); + AgentUtil.broadcast(command); + } + if("STOP".equals(action)){ + run = "STOP"; + + prop.setProperty("RUN",run); + Command command = new TestCallCommand(); + command.setArgs(prop); + AgentUtil.broadcast(command); + } + + String status = ""; + + if(manager.isStarted()) + status = "시작됨"; + else + status = "종료됨"; +%> + + + + + TestCall Manager + + + + +

+ TestCall Configuration

+

+
+ + + + + + + + + + + + +
+ + + + + + +
  +
+
+ + + + + +

+ + + + + +<% + if(names != null || names.size() > 0 ) { + int length = names.size(); + + for(int i=0; i + + + + + + + + + + + <% + } +} +%> +
  항목     내용
  Adapter Name :   
  Adapter 상태 :   
+
+ + \ No newline at end of file diff --git a/WebContent/mgr/transRuleReload.jsp b/WebContent/mgr/transRuleReload.jsp new file mode 100644 index 0000000..ab02334 --- /dev/null +++ b/WebContent/mgr/transRuleReload.jsp @@ -0,0 +1,103 @@ +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.eactive.eai.transformer.engine.TransformEngine"%> + +<% + + String action = request.getParameter("actionType"); + TransformEngine engine = TransformEngine.getInstance(); + + String status = ""; + + if("START".equals(action)){ + engine.start(); + + } + if("STOP".equals(action)){ + engine.stop(); + } + + if(engine.isStarted()) + status = "시작됨"; + else + status = "종료됨"; +%> + + + + + TransRuleReload Manager + + + + +

+ TransRuleReload Configuration

+

+
+ + + + + + + + + + + + + <% + if ("시작됨".equals(status)){ + %> + + + + + + + <% + } else { + %> + + + + + + <% + } + %> + + + + + + + + + + + + + +
  항목    설명  
현재상태 :   
상태변경 버튼 :   
버튼설명 :   TransformEngine 에서 clearEngine()을 실행합니다.
+ +
버튼설명 :   &TransformEngine 에서 initEngine()을 실행합니다.
실행Manager :   LayoutTypeManager
 FunctionManager
 LayoutManager
 TransformManager

+ +
+ + \ No newline at end of file diff --git a/WebContent/mgr/transformer/Transform.jsp b/WebContent/mgr/transformer/Transform.jsp new file mode 100644 index 0000000..2c27a5e --- /dev/null +++ b/WebContent/mgr/transformer/Transform.jsp @@ -0,0 +1,214 @@ +<%-- +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.eactive.eai.transformer.layout.Layout"%> +<%@ page import="com.eactive.eai.transformer.transform.Transform"%> +<%@ page import="com.eactive.eai.transformer.transform.TransformItem"%> +<%@ page import="com.eactive.eai.transformer.transform.TransformManager"%> +<%@ page import="com.eactive.eai.transformer.util.TransformKeys"%> +<%@ page import="java.util.HashMap"%> + +<%! + /** + *
+	* 문자열을 받아서 널이면 제로스트링을, 아니면 트림된 문자열을 리턴.
+	* 
+ * @param String 변환 대상 + * @return 'String' + */ + public static String checkNull( String str ) { + + String sResult = new String(); + if ( str == null ) { + sResult = ""; + } + else { + sResult = str.trim(); + } + return sResult; + } + +%> + +<% + TransformManager manager = TransformManager.getManager(); + String key[] = manager.getAllTransformName(); + + String selected = request.getParameter("transformName"); + if(selected == null && key.length>=1) { + selected = key[0]; + } + + Transform transform = null; + ArrayList itemList = new ArrayList(); + Layout target = null; + Iterator it = null; + + if(selected!=null) { + transform = manager.getTransform(selected); + target = transform.getTargetLayout(); + itemList = (ArrayList) transform.getTransformItemList(); + it = transform.getSourceLayoutNames(); + } + int sourceCount = transform.getSourceLayoutCount(); + String sourceName = ""; + for (int i=0; i < sourceCount; i++) { + if ("".equals(sourceName)) + sourceName = (String)it.next(); + else + sourceName = sourceName+" , " + (String)it.next(); + } + +%> + + + + Transform 변환규칙 Manager + + + + +

+ Transform 변환규칙 Configuration

+

+
+ + + + + + +
+ + + + + +
  +
+

+ + + + + + +<% + if(transform != null ){ + +%> + + + + + + + + + + +<% +} else { +%> + + + + +<% +} +%> +
  변환규칙정보  
  변환규칙명 :   <%=transform.getName()%>
  변환규칙설명 :   <%=checkNull(transform.getDescription())%>
  요청하신 변환규칙 정보가 없습니다.  
+ +
+ + + + +<% +if (target != null || it.hasNext()) { + +%> + + + + + + + + + +<% + +} else { +%> + + + + +<% +} +%> + +
  변환소스결과레이아웃 정보  
  소스레이아웃(2개이상일경우 콤마(,)로 구분)    결과 레이아웃  
 <%=sourceName%> <%=target.getName()%>
  요청하신 변환소스결과레이아웃 정보가 없습니다.  
+ +
+ + + + +<% +if (itemList != null && itemList.size() > 0) { + int nCount = 0; + String[] aBgColor = {"#ccccff" , "#e9e1fd"}; + for (int i = 0; i < itemList.size(); i++) { + TransformItem item = (TransformItem) itemList.get(i); +%> + + + + + + + + + + + + + + + + + + + +<% + nCount++; + } +} else { +%> + + + + +<% +} +%> + +
  변환아이템 정보  
  변환항목일련번호 :   <%=item.getSeqNo()%>
  변환결과항목경로명 :   <%=item.getResultItemPath()%>
  변환명령명 :   <%=item.getInstruction()%>
  변환항목기본값 :   <%=checkNull(item.getDefaultValue())%>
  요청하신 변환규칙 아이템 정보가 없습니다.  
+
+ + +--%> \ No newline at end of file diff --git a/WebContent/mgr/transformer/TransformFunc.jsp b/WebContent/mgr/transformer/TransformFunc.jsp new file mode 100644 index 0000000..7c64062 --- /dev/null +++ b/WebContent/mgr/transformer/TransformFunc.jsp @@ -0,0 +1,186 @@ + +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.eactive.eai.transformer.function.FunctionDefinition"%> +<%@ page import="com.eactive.eai.transformer.function.FunctionManager"%> +<%@ page import="com.eactive.eai.transformer.function.ParameterDefinition"%> +<%@ page import="com.eactive.eai.transformer.util.TransformKeys"%> +<%@ page import="java.util.HashMap"%> + +<%! + /** + *
+	* 문자열을 받아서 널이면 제로스트링을, 아니면 트림된 문자열을 리턴.
+	* 
+ * @param String 변환 대상 + * @return 'String' + */ + public static String checkNull( String str ) { + + String sResult = new String(); + if ( str == null ) { + sResult = ""; + } + else { + sResult = str.trim(); + } + return sResult; + } + +%> + +<% + FunctionManager manager = FunctionManager.getInstance(); + String[] alls = manager.getAllFunctionNames(); + + String selectedKey = request.getParameter("selectedKey"); + if(selectedKey == null && alls.length>=1) { + selectedKey = alls[0]; + } + + FunctionDefinition vo = null; + ArrayList paramList = new ArrayList(); + + if(selectedKey!=null) { + vo = manager.getFunctionDefinition(selectedKey); + paramList = (ArrayList) vo.getParameterList(); + } + +%> + + + + + + Transform 변환함수 Manager + + + + +

+ 변환함수 관리

+

+
+ + + + + + + + + +
변환함수명 :   +

+ + + + + + +<% + if(vo != null ){ + +%> + + + + + + + + + + + + + + + + + + + + + + +<% +} else { +%> + + + + +<% +} +%> +
  변환함수정보  
  변환함수명 :   <%=vo.getName()%>
  변환함수설명 :   <%=vo.getDescription()%>
  변환함수반환유형 :   <%=TransformKeys.getType(vo.getReturnTypeId())%>
  변환함수클래스명 :   <%=vo.getFunctionClass()%>
  변환함수유형 :   <%=TransformKeys.getFunctionType(vo.getFunctionTypeId())%>
  요청하신 변환함수 정보가 없습니다.  
+
+ + + + +<% +if (paramList != null && paramList.size() > 0) { + + int nCount = 0; + String[] aBgColor = {"#ccccff", "#e9e1fd"}; + for (int i = 0; i < paramList.size(); i++) { + ParameterDefinition param = (ParameterDefinition) paramList.get(i); +%> + + + + + + + + + + + + + + + + + + +<% + nCount++; + } +} else { +%> + + + + +<% +} +%> + +
  LayoutItem 정보  
  변환함수파라미터일련번호 :   <%=param.getSeqNo()%>
  변환함수파라미터명 :   <%=param.getName()%>
  변환함수파라미터설명 :   <%=param.getDescription()%>
  변환함수파라미터유형 :   <%=TransformKeys.getType(param.getTypeId())%>
  요청하신 변환함수 파라메터 정보가 없습니다.  
+
+ + diff --git a/WebContent/mgr/transformer/layout.jsp b/WebContent/mgr/transformer/layout.jsp new file mode 100644 index 0000000..7173606 --- /dev/null +++ b/WebContent/mgr/transformer/layout.jsp @@ -0,0 +1,218 @@ +<%-- +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.eactive.eai.transformer.layout.Layout"%> +<%@ page import="com.eactive.eai.transformer.layout.LayoutItem"%> +<%@ page import="com.eactive.eai.transformer.layout.LayoutManager"%> +<%@ page import="com.eactive.eai.transformer.util.TransformKeys"%> +<%@ page import="java.util.HashMap"%> +<%@ taglib uri="netui-tags-databinding.tld" prefix="netui-compat-data"%> +<%@ taglib uri="netui-tags-html.tld" prefix="netui-compat"%> +<%@ taglib uri="netui-tags-template.tld" prefix="netui-compat-template"%> + +<%! + /** + *
+	* 문자열을 받아서 널이면 제로스트링을, 아니면 트림된 문자열을 리턴.
+	* 
+ * @param String 변환 대상 + * @return 'String' + */ + public static String checkNull( String str ) { + + String sResult = new String(); + if ( str == null ) { + sResult = ""; + } + else { + sResult = str.trim(); + } + return sResult; + } + + StringBuffer html = new StringBuffer(); + + private void makeItem(LayoutItem item) + { + makeHTML(item); + try{ + if (!item.isField() && (item.getChildCount() != 0)) { + for (int i = 0; i < item.getChildCount(); i++) { + if (item.getChild(i).getIndex() == -1) { + makeItem(item.getChild(i)); + } + } + } + }catch (Exception e) { + e.printStackTrace(); + System.out.println("LayoutEdit.jsp error"); + } + } + + private void makeHTML(LayoutItem item) { + + if(item.isMessage()) + html.append(""); + else if (item.isGroup()) + html.append(""); + else + html.append(""); + + html.append(" "+item.getSeqNo()+""); + html.append("  "+checkNull(item.getName())+""); + html.append(" "+TransformKeys.getLoutItemNodePtrnID(item.getNodeTypeId())+""); + html.append(" "+TransformKeys.getType(item.getItemTypeId())+""); + html.append(" "+checkNull(item.getRefInfo())+" "); + html.append(" "+checkNull(item.getOccType())+""); + html.append(" "+item.getOccMax()+""); + html.append(" "+item.getOccMin()+""); + html.append(" "); + + } +%> + +<% + + + LayoutManager manager = LayoutManager.getManager(); + String key[] = manager.getAllLayoutName(); + + String selected = request.getParameter("layoutNames"); + if(selected == null && key.length>=1) { + selected = key[0]; + } + + Layout layout = null; + + if(selected!=null) { + layout = manager.getLayoutByName(selected); + } + + LayoutItem root = null; + if (layout != null) + root = layout.getRootItem(); + + String str = ""; + if (root != null ){ + makeItem(root); + str = html.toString(); + html = new StringBuffer(); + } + +%> + + + + + + Transform Layout Manager + + + + +

+ Transform Layout Configuration

+

+
+ + + + + + + + +
+ + + + + +
  +
+

+ + + + + + +<% + if(layout != null ){ + +%> + + + + + + + + + + + + + + +<% +} else { +%> + + + + +<% +} +%> +
  Layout정보  
  레이아웃명 :   <%=layout.getName()%>
  레이아웃유형명 :   <%=layout.getLayoutType().getName()%>
  레이아웃설명 :   <%=layout.getDescription()%>
  요청하신 Layout 정보가 없습니다.  
+
+ + + + + + + + + + + + + + + + + + <%=str%> +
일련번호레이아웃항목명노드타입항목유형참조정보발생유형최대발생최소발생
+   + LayoutItem 정보  
+
+ + +--%> \ No newline at end of file diff --git a/WebContent/mgr/transformer/layoutItem.jsp b/WebContent/mgr/transformer/layoutItem.jsp new file mode 100644 index 0000000..522e404 --- /dev/null +++ b/WebContent/mgr/transformer/layoutItem.jsp @@ -0,0 +1,211 @@ +<%-- +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.eactive.eai.transformer.layout.Layout"%> +<%@ page import="com.eactive.eai.transformer.layout.LayoutItem"%> +<%@ page import="com.eactive.eai.transformer.layout.LayoutManager"%> +<%@ page import="com.eactive.eai.transformer.util.TransformKeys"%> +<%@ page import="java.util.HashMap"%> +<%@ taglib uri="netui-tags-databinding.tld" prefix="netui-compat-data"%> +<%@ taglib uri="netui-tags-html.tld" prefix="netui-compat"%> +<%@ taglib uri="netui-tags-template.tld" prefix="netui-compat-template"%> + +<%! + /** + *
+	* 문자열을 받아서 널이면 제로스트링을, 아니면 트림된 문자열을 리턴.
+	* 
+ * @param String 변환 대상 + * @return 'String' + */ + public static String checkNull( String str ) { + + String sResult = new String(); + if ( str == null ) { + sResult = ""; + } + else { + sResult = str.trim(); + } + return sResult; + } + +%> + +<% + String layoutName = (String)request.getParameter("layoutName"); + String itemName = (String)request.getParameter("itemName"); + + LayoutManager manager = LayoutManager.getManager(); + Layout layout = manager.getLayoutByName(layoutName); + LayoutItem item = null; + + if(layout != null ) { + layout.updateItemNameMap(); + item = layout.getItemByPath(itemName); + } else { + System.out.println("layoutItem.jsp ] layout is null - " +layoutName); + } + if(item == null ) { + System.out.println("layoutItem.jsp ] layoutItem is null - " +itemName); + } + +%> + + + + + + Transform LayoutItem Manager + + + + +

+ Transform LayoutItem Configuration

+

+
+ + + + + + + +
+ +

+ + + + + + +<% + if(layout != null ){ + +%> + + + + + + + + + + + + + + +<% +} else { +%> + + + + +<% +} +%> +
  Layout정보  
  레이아웃명 :   <%=layout.getName()%>
  레이아웃유형명 :   <%=layout.getLayoutType().getName()%>
  레이아웃설명 :   <%=layout.getDescription()%>
  요청하신 Layout 정보가 없습니다.  
+
+ + + + +<% +if (item != null ) { +%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +<% +} else { +%> + + + + +<% +} +%> + +
  LayoutItem 정보  
  레이아웃항목일련번호 :   <%=item.getSeqNo()%>
  레이아웃항목명 :   <%=item.getName()%>
  부모레이아웃항목 :   <%=item.getParent().getName()%>
  레이아웃항목설명 :   <%=item.getDescription()%>
  레이아웃항목노드유형 :   <%=TransformKeys.getLoutItemNodePtrnID(item.getNodeTypeId())%>
  레이아웃항목유형명 :   <%=TransformKeys.getType(item.getItemTypeId())%>
  레이아웃항목경로명 :   <%=item.getPath()%>
  레이아웃항목길이수 :   <%=item.getLength()%>
  레이아웃항목참조정보 :   <%=item.getRefInfo()%>
  레이아웃항목참조정보2 :   <%=item.getRefOcc()%>
  레이아웃항목발생유형구분코드 :   <%=item.getOccType()%>
  레이아웃항목최대발생건수 :   <%=item.getOccMax()%>
  레이아웃항목최소발생건수 :   <%=item.getOccMin()%>
  레이아웃항목기본값 :   <%=item.getDefaultValue()%>
  레이아웃항목마스킹여부 :   <%=item.getMask()%>
  요청하신 LayoutItem 정보가 없습니다.  
+
+ + +--%> \ No newline at end of file diff --git a/WebContent/mgr/transformer/layoutType.jsp b/WebContent/mgr/transformer/layoutType.jsp new file mode 100644 index 0000000..3f2ff4a --- /dev/null +++ b/WebContent/mgr/transformer/layoutType.jsp @@ -0,0 +1,149 @@ +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.eactive.eai.transformer.layout.LayoutType"%> +<%@ page import="com.eactive.eai.transformer.layout.LayoutTypeManager"%> +<%@ page import="com.eactive.eai.transformer.util.TransformKeys"%> +<%@ page import="java.util.HashMap"%> + +<%! + /** + *
+	* 문자열을 받아서 널이면 제로스트링을, 아니면 트림된 문자열을 리턴.
+	* 
+ * @param String 변환 대상 + * @return 'String' + */ + public static String checkNull( String str ) { + + String sResult = new String(); + if ( str == null ) { + sResult = ""; + } + else { + sResult = str.trim(); + } + return sResult; + } + +%> + +<% + LayoutTypeManager manager = LayoutTypeManager.getInstance(); + String [] alls = manager.getAllLayoutTypeName(); + String action = request.getParameter("actionType"); + + String selectedKey = request.getParameter("selectedKey"); + if(selectedKey == null && alls.length>=1) { + selectedKey = alls[0]; + } + if ("reload".equals(action)){ + manager.reload(selectedKey); + }else if ("reloadAll".equals(action)){ + manager.reload(); + }else { + ; + } + LayoutType vo = null; + + if(selectedKey!=null) { + vo = manager.getLayoutType(selectedKey); + } + +%> + + + + + + Transform LayoutType Manager + + + + +

+ 레이아웃 유형 관리

+

+
+ + + + + + + + + + + + + +
레이아웃유형명 :    +
 

+ + + + + + +<% + if(vo != null ){ + +%> + + + + + + + + + + + + + + +<% +} else { +%> + + + + +<% +} +%> +
  LayoutType정보  
  레이아웃유형명 :   <%=vo.getName()%>
  레이아웃유형설명 :   <%=vo.getDescription()%>
  메시지레이아웃생성클래스 :   <%=vo.getGenClass()%>
  요청하신 LayoutType 정보가 없습니다.  
+
+ + \ No newline at end of file diff --git a/WebContent/mgr/useDateControl.jsp b/WebContent/mgr/useDateControl.jsp new file mode 100644 index 0000000..ad077a0 --- /dev/null +++ b/WebContent/mgr/useDateControl.jsp @@ -0,0 +1,77 @@ +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> +<%@ page import="com.eactive.eai.common.useDate.UseDateControlManager"%> +<%@ page import="com.eactive.eai.common.useDate.UseDateControlVO"%> + +<% + UseDateControlManager manager = UseDateControlManager.getInstance(); + String[] names = manager.getAllKeys(); + String selectedName = request.getParameter("name"); + if(selectedName == null && names.length>0) selectedName = names[0]; + UseDateControlVO vo = manager.get(selectedName); +%> + + + + Use Date Control Manager + + + + +

+ Use Date Control Configuration

+

+
+ +<% + if(selectedName!=null) { +%> + + + + + <% + if (vo != null){ + %> + + + + + + + + + + + + + + <% + } + %> +<% } else { %> + +<% } %> +
인터페이스명 :    +
인터페이스명 :   
시작일자 :   
종료일자 :   
+ + + + +
+ +

+
+ + \ No newline at end of file diff --git a/WebContent/mgr/viewThreadList.jsp b/WebContent/mgr/viewThreadList.jsp new file mode 100644 index 0000000..02acfac --- /dev/null +++ b/WebContent/mgr/viewThreadList.jsp @@ -0,0 +1,115 @@ +<%@ page import="java.io.*, java.util.*"%> +<%@ page language="java" contentType="text/html;charset=utf-8"%> + +<%! + private ThreadGroup getRootThreadGroup() { + ThreadGroup group = Thread.currentThread().getThreadGroup(); + ThreadGroup parent = null; + while(true) { + parent = group.getParent(); + if(parent==null) return group; + + group = parent; + } + } + + private ThreadGroup findThreadGroup(ThreadGroup parent, String path) { + if(path.startsWith("/")) { + path = path.substring(1); + } + + return null; + } + + +%> + +<% + String threadGroupName = request.getParameter("ThreadGroupName"); + + ThreadGroup root = getRootThreadGroup(); + if(threadGroupName==null) threadGroupName=root.getName(); + + ThreadGroup[] children = new ThreadGroup[root.activeGroupCount()]; + root.enumerate(children, true); + + ThreadGroup current = null; + for(int i=0;i + + + + CurrentThread List + + + +

+ 쓰레드 전체 리스트 보기 +

+ + + + + + + +
+ Thread Group List (총: <%=children.length%>개) + + + + + + + + +<% + for(int i=0;i + + + + +<% + } +%> +
NoThreadGroup Name
root <%=root%>
<%=(i+1)%> <%=children[i].getName()%>
+
+
+ Thread List [<%=current.getName()%>] (총: <%=threads.length%>개) + + + + + + + + +<% + for(int i=0;i + + + + + + + + +<% + } +%> +
NoThread NameisAliveisDaemonisInterruptedactiveCount
<%=(i+1)%> <%=threads[i].getName()%> <%=threads[i].isAlive()%> <%=threads[i].isDaemon()%> <%=threads[i].isInterrupted()%> <%=threads[i].activeCount()%>
+
+ + \ No newline at end of file