<%@ page language="java" contentType="text/html; charset=utf-8"%> <%@ page import="java.util.*" %> <%@ page import="com.eactive.eai.rms.common.datasource.*" %> <%@ page import="java.util.stream.Collectors" %>

서버 상태

<% // serverTypeMap 변수를 가져오기 Map> serverTypeMap = (Map>)request.getAttribute("serverTypeMap"); if (serverTypeMap == null) { // application 스코프에서 가져오기 시도 serverTypeMap = (Map>)application.getAttribute("serverTypeMap"); } Map priorityMap = new HashMap(); priorityMap.put("MCI", 0); priorityMap.put("EAI", 1); priorityMap.put("FEP", 2); priorityMap.put("CGW", 3); priorityMap.put("FGW", 4); priorityMap.put("APIGW", 5); priorityMap.put("BAP", 6); Map> sortedMap = serverTypeMap.entrySet().stream() .sorted(Comparator.comparingInt(e -> priorityMap.getOrDefault(e.getKey(), Integer.MAX_VALUE))) .collect(Collectors.toMap( Map.Entry::getKey , Map.Entry::getValue ,(e1, e2) -> e1 , LinkedHashMap::new )); if (sortedMap != null) { // 서버 타입 필터 생성 for (Map.Entry> entry : sortedMap.entrySet()) { String serverType = entry.getKey(); List servers = entry.getValue(); // BAT 서버는 제외 if (DataSourceTypeManager.BAT.equals(serverType) || DataSourceTypeManager.BAP.equals(serverType)) { continue; } // 서버 타입에 해당하는 텍스트 가져오기 (첫 번째 서버의 텍스트 사용) String serverTypeText = servers.size() > 0 ? servers.get(0).getText() : serverType; %> <% } } %>
<% if (sortedMap != null) { // 서버 타입별로 섹션 생성 for (Map.Entry> entry : sortedMap.entrySet()) { String serverType = entry.getKey(); List servers = entry.getValue(); // BAT 서버는 제외 if (DataSourceTypeManager.BAT.equals(serverType) || DataSourceTypeManager.BAP.equals(serverType)) { continue; } // 서버 타입에 해당하는 텍스트 가져오기 (첫 번째 서버의 텍스트 사용) String serverTypeText = servers.size() > 0 ? servers.get(0).getText() : serverType; // 서버 타입별 보더 색상 클래스 String borderColorClass = ""; if (serverType.equalsIgnoreCase("FEP")) { borderColorClass = "border-primary"; } else if (serverType.equalsIgnoreCase("EAI")) { borderColorClass = "border-success"; } else if (serverType.equalsIgnoreCase("EMS")) { borderColorClass = "border-purple"; } else if (serverType.equalsIgnoreCase("EDI")) { borderColorClass = "border-orange"; } %>

<%= serverTypeText %> 서버

0 / 0 정상
<% } } %>