init
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
package com.eactive.eai.adapter.wca;
|
||||
|
||||
import com.eactive.eai.adapter.wca.global.WCADefine;
|
||||
import com.eactive.eai.adapter.wca.log.InsertErrorLog;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
|
||||
import java.util.Properties;
|
||||
|
||||
public class ClientUtil implements SNAProperties
|
||||
{
|
||||
/**
|
||||
* SNAAdapter critical한 정보 로깅을 위한 logger
|
||||
*/
|
||||
Logger adapter_logger = Logger.getLogger(WCADefine.ADAPTER_LOGGER_NAME);
|
||||
|
||||
public static ClientUtil clientUtil = new ClientUtil();
|
||||
|
||||
/**
|
||||
* 1. 기능 : ClientUtil Singleton Object 반환
|
||||
* 2. 처리 개요 : ClientUtil Singleton Object 반환한다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return ClientUtil Singleton object
|
||||
**/
|
||||
public static ClientUtil getInstance(){
|
||||
return clientUtil;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 트랜잭션 에러 로그 추가
|
||||
* 2. 처리 개요 : TSSSNA001 추가 (세션이 끊겼을 경우, 가용한 WCA 세션이 없을 경우 , LU 가 없을 경우)
|
||||
* 3. 주의사항
|
||||
*
|
||||
**/
|
||||
public void insertErrorLog(String sAdapterGrpName, String sGroupCode, String sLUName,
|
||||
String sDataType, String sKey, String sErrCode)
|
||||
{
|
||||
try {
|
||||
// 로그 추가
|
||||
InsertErrorLog log = new InsertErrorLog();
|
||||
// 우선 제거
|
||||
log.insertErrorLog(sAdapterGrpName, sGroupCode, sLUName, sDataType, sKey, sErrCode);
|
||||
} catch(Exception e) {
|
||||
if(adapter_logger.isError()) adapter_logger.error("에러 로그 추가시 에러 발생 : " + e.toString());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : DATA TYPE으로 property 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
**/
|
||||
public void setDataTypeProperty(String sDataType, Properties prop)
|
||||
{
|
||||
if (sDataType.substring(0,1).equals(DATA_TYPE_DFS_PREFIX))
|
||||
prop.setProperty(DATA_TYPE, DATA_TYPE_DFS);
|
||||
else if (sDataType.substring(0,1).equals(DATA_TYPE_NORMAL_PREFIX))
|
||||
prop.setProperty(DATA_TYPE, DATA_TYPE_NORMAL);
|
||||
else if (sDataType.substring(0,1).equals(DATA_TYPE_TIMEOUT_PREFIX))
|
||||
prop.setProperty(DATA_TYPE, DATA_TYPE_TIMEOUT);
|
||||
else
|
||||
prop.setProperty(DATA_TYPE, sDataType);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,475 @@
|
||||
package com.eactive.eai.adapter.wca;
|
||||
|
||||
import com.eactive.eai.adapter.ElinkDefaultAdapter;
|
||||
import com.eactive.eai.adapter.wca.cfg.SNAAdapterManager;
|
||||
import com.eactive.eai.adapter.wca.data.WCAHeader;
|
||||
import com.eactive.eai.adapter.wca.data.WCAQueue;
|
||||
import com.eactive.eai.adapter.wca.exception.WCAException;
|
||||
import com.eactive.eai.adapter.wca.global.WCADefine;
|
||||
import com.eactive.eai.adapter.wca.util.MyUtil;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Properties;
|
||||
|
||||
|
||||
/**
|
||||
* 1. 기능 : SNAAdapter를 통신을 위한 client 접근 모듈
|
||||
* 2. 처리 개요 :
|
||||
* - OUTBOUNT Client 호출 메소드 재정의한 클래스
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see : SNAProperties
|
||||
* @since : 2005. 6. 16. 오후 3:39:43
|
||||
*/
|
||||
public class SNAAdapterClient extends ElinkDefaultAdapter implements SNAProperties {
|
||||
|
||||
/**
|
||||
* SNAAdapter critical한 정보 로깅을 위한 logger
|
||||
*/
|
||||
Logger adapter_logger = Logger.getLogger(WCADefine.ADAPTER_LOGGER_NAME);
|
||||
|
||||
/**
|
||||
* SNAAdapter 관리 instance
|
||||
*/
|
||||
SNAAdapterManager smanager = SNAAdapterManager.getInstance();
|
||||
|
||||
/**
|
||||
* 생성자
|
||||
*/
|
||||
public SNAAdapterClient() {
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : SNAAdapter 통신을 위한 client 호출 메소드
|
||||
* 2. 처리 개요 :
|
||||
* - Adapter 그룹에 해당하는 WCA 세션을 할당하여 데이타 송수신한다.
|
||||
* LU 이름이 정의되어 있을 경우, 해당 LU 그룹 세션을 할당한다.
|
||||
* - LU 세션이 사용중일 경우, 다른 LU 세션 그룹 세션을 이용한다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param prop 프라퍼티 정보 (프라퍼티 정보는 SNAProperties에 정의)
|
||||
* @param message 송신데이타
|
||||
* @exception Exception
|
||||
**/
|
||||
public Object execute(Properties prop, Object message) throws Exception {
|
||||
WCASession wcaSession = null;
|
||||
String sKey = null;
|
||||
byte[] pRetBuff = null;
|
||||
String sCurNodeName = "";
|
||||
String sCurGroupCode = "";
|
||||
int nTranTimeout = -1;
|
||||
|
||||
long lStartTime = 0L, lEndTime = 0L;
|
||||
|
||||
// 20200724 Start
|
||||
// Info 레벨로 변경
|
||||
// 시간 측정
|
||||
// if (adapter_logger.isDebug()) { lStartTime = System.currentTimeMillis(); }
|
||||
if (adapter_logger.isInfo()) { lStartTime = System.currentTimeMillis(); }
|
||||
// 20200724 End
|
||||
|
||||
// 1. Validation
|
||||
if (message == null) {
|
||||
throw new WCAException(WCAException.E_SEND_DATA_ERROR, "송신데이타가 NULL 입니다.");
|
||||
}
|
||||
|
||||
String sAdapterGrpName = prop.getProperty(ADAPTER_GRP_NAME);
|
||||
if (sAdapterGrpName == null) {
|
||||
throw new WCAException(WCAException.E_SEND_DATA_ERROR, "어댑터 그룹 이름");
|
||||
}
|
||||
|
||||
String sAdapterName = prop.getProperty(ADAPTER_NAME);
|
||||
if (sAdapterName == null) {
|
||||
throw new WCAException(WCAException.E_SEND_DATA_ERROR, "어댑터 그룹");
|
||||
}
|
||||
|
||||
sKey = prop.getProperty(TRAN_KEY);
|
||||
if (sKey == null) {
|
||||
throw new WCAException(WCAException.E_SEND_DATA_ERROR, "Transaction Key");
|
||||
}
|
||||
|
||||
String sLUName = prop.getProperty(LU_NAME) == null ? "" : prop.getProperty(LU_NAME);
|
||||
// String sDataType = prop.getProperty(DATA_TYPE)== null ? "" : prop.getProperty(DATA_TYPE);
|
||||
String sTranMode = prop.getProperty(TRAN_MODE)== null ? "" : prop.getProperty(TRAN_MODE);
|
||||
|
||||
byte[] pDataBuff = (byte[])message;
|
||||
byte[] pSndBuff = new byte[pDataBuff.length + WCAHeader.WCA_HEADER_LEN];
|
||||
byte[] pHeaderBuff = null;
|
||||
|
||||
if (adapter_logger.isInfo()) {
|
||||
adapter_logger.info("SNAAdapterClient:execute> [" + sAdapterGrpName + "] SEND - Properties = " + prop);
|
||||
}
|
||||
|
||||
if (adapter_logger.isDebug()) {
|
||||
adapter_logger.info("SNAAdapterClient:execute> [" + sAdapterGrpName + "] [" + sKey + "] Data = " + MyUtil.printBytes(WCADefine.EBCDIC_CODE, pDataBuff.length, pDataBuff));
|
||||
}
|
||||
|
||||
// 2. Properties에서 Header 정보를 구하여 송신데이타 조립
|
||||
WCAHeader header = new WCAHeader();
|
||||
header.setKey(sKey);
|
||||
header.setLUName(prop.getProperty(LU_NAME));
|
||||
header.setMode(prop.getProperty(TRAN_MODE));
|
||||
header.setDataType(prop.getProperty(DATA_TYPE));
|
||||
header.toString();
|
||||
pHeaderBuff = header.getHeader();
|
||||
|
||||
System.arraycopy(pHeaderBuff, 0, pSndBuff, 0, WCAHeader.WCA_HEADER_LEN);
|
||||
System.arraycopy(pDataBuff , 0, pSndBuff, WCAHeader.WCA_HEADER_LEN, pDataBuff.length);
|
||||
|
||||
// 요청한 timeout으로 설정, 없을 경우 DB에 있는 값으로 한다.
|
||||
String sTranTimeout = prop.getProperty(TRAN_TIMEOUT) == null ? "-1" : prop.getProperty(TRAN_TIMEOUT);
|
||||
if (adapter_logger.isInfo()) {
|
||||
adapter_logger.info("SNAAdapterClient:execute> [" + sAdapterGrpName + "] Client Request TRAN TIMEOUT = " + sTranTimeout);
|
||||
}
|
||||
|
||||
nTranTimeout = Integer.parseInt(sTranTimeout);
|
||||
if (adapter_logger.isDebug()) {
|
||||
adapter_logger.debug("SNAAdapterClient:execute> [" + sAdapterGrpName + "] Key Str = " + sKey);
|
||||
}
|
||||
|
||||
// 3. Queue 생성
|
||||
WCAQueue queueWSA = new WCAQueue(pSndBuff.length, pSndBuff);
|
||||
queueWSA.setKey(sKey);
|
||||
queueWSA.setTimeout(nTranTimeout);
|
||||
|
||||
try {
|
||||
int nLuGrpCount = 1;
|
||||
|
||||
// 4. LU 이름이 정의되었을 경우 해당 LU 세션 그룹 세션을 구한다.
|
||||
if (!sLUName.trim().equals("")) {
|
||||
if (adapter_logger.isInfo()) {
|
||||
adapter_logger.info("SNAAdapterClient:execute> [" + sAdapterGrpName + "] [" + sKey + "] Dedicate 호출, LU 이름 = " + sLUName + ", So Set LU Group Count to 1.");
|
||||
}
|
||||
|
||||
// smanager.getGroupCode(sLUName);
|
||||
ArrayList alInfo = smanager.getNodeAndGroupName(sLUName);
|
||||
sCurNodeName = (String)alInfo.get(0);
|
||||
sCurGroupCode = (String)alInfo.get(1);
|
||||
}
|
||||
else {
|
||||
// 어댑터 그룹에 속한 WCA 세션 풀 크기를 구함
|
||||
nLuGrpCount = smanager.getLuGroupMapCount(sAdapterGrpName);
|
||||
if (nLuGrpCount < 1) {
|
||||
if (adapter_logger.isInfo()) {
|
||||
adapter_logger.info("SNAAdapterClient:execute> [" + sAdapterGrpName + "] [" + sKey + "] Invalid LU Group Count, Count = " + nLuGrpCount + ", So Set Count to 1.");
|
||||
}
|
||||
nLuGrpCount = 1;
|
||||
}
|
||||
|
||||
if (adapter_logger.isInfo()) {
|
||||
adapter_logger.info("SNAAdapterClient:execute> [" + sAdapterGrpName + "] [" + sKey + "] LU Group Count = " + nLuGrpCount);
|
||||
}
|
||||
}
|
||||
|
||||
int iSendCnt = 0;
|
||||
|
||||
// 4. 전송 (LU 가 사용중일 경우 다른 LU 세션 그룹으로 전송한다.)
|
||||
for (iSendCnt = 0; iSendCnt < nLuGrpCount; iSendCnt++) {
|
||||
if (iSendCnt > 0) {
|
||||
if (adapter_logger.isWarn()) {
|
||||
adapter_logger.warn("SNAAdapterClient:execute> [" + sAdapterGrpName + "] [" + sKey + "] LU 세션 사용중 -> 재송신 ");
|
||||
}
|
||||
}
|
||||
|
||||
// 어댑터 그룹, LU 그룹 노드, LU 그룹에 해당하는 WCA 세션을 얻어옴
|
||||
wcaSession = getWCASession(queueWSA, sAdapterGrpName, sCurNodeName, sCurGroupCode);
|
||||
|
||||
// 20200825 Start
|
||||
if (wcaSession == null) {
|
||||
throw new WCAException(WCAException.E_SOFTLINK_NO_SESSION_SLOT, toString());
|
||||
}
|
||||
// 20200825 End
|
||||
|
||||
// 얻어온 WCA 세션 정보 로깅
|
||||
if (adapter_logger.isInfo()) {
|
||||
adapter_logger.warn("SNAAdapterClient:execute> [" + sAdapterGrpName + "] [" + sKey + "] Session = " +
|
||||
wcaSession.toString() + ", Trans Timeout = " + wcaSession.getTranTimeout());
|
||||
}
|
||||
|
||||
// 요청한 timeout으로 설정이 없을 경우 DB에 있는 값으로 한다.
|
||||
if (nTranTimeout == -1) {
|
||||
nTranTimeout = wcaSession.getTranTimeout() + 20; // DB 설정 값 + 20초
|
||||
queueWSA.setTimeout(nTranTimeout);
|
||||
}
|
||||
|
||||
// 얻어온 WCA 세션에서 LU 그룹 노드 이름 및 LU 그룹 이름 추출
|
||||
sCurNodeName = wcaSession.getNodeName();
|
||||
sCurGroupCode = wcaSession.getGroupCode();
|
||||
|
||||
wcaSession.registerRcvQueue(sKey, queueWSA);
|
||||
wcaSession.sendData(pSndBuff.length, pSndBuff);
|
||||
|
||||
if (adapter_logger.isDebug()) {
|
||||
adapter_logger.warn("SNAAdapterClient:execute> [" + sAdapterGrpName + "] [" + sKey + "] Send Data OK");
|
||||
}
|
||||
|
||||
// 호스트 데이터에 대한 수신 대기
|
||||
synchronized (queueWSA) {
|
||||
if (adapter_logger.isDebug()) {
|
||||
adapter_logger.warn("SNAAdapterClient:execute> [" + sAdapterGrpName + "] [" + sKey + "] Wait to Receive Response...");
|
||||
}
|
||||
|
||||
// 데이터를 수신할때까지 대기...
|
||||
if (queueWSA.getCurrQueueDataCnt() == 0) {
|
||||
try {
|
||||
if (adapter_logger.isDebug()) {
|
||||
adapter_logger.warn("SNAAdapterClient:execute> [" + sAdapterGrpName + "] [" + sKey + "] REMAIN_TRANSACTION_TIMEOUT = " + queueWSA.getRemainedTime());
|
||||
}
|
||||
|
||||
// 20200724 Start
|
||||
// 로그 레벨 변경
|
||||
// if (adapter_logger.isDebug()) { adapter_logger.warn("SNAAdapterClient:execute> [" + sAdapterGrpName + "] [" + sKey + "] Before Wait"); }
|
||||
if (adapter_logger.isInfo()) { adapter_logger.info("SNAAdapterClient:execute> [" + sAdapterGrpName + "] [" + sKey + "] Before Wait"); }
|
||||
// 20200724 End
|
||||
|
||||
queueWSA.wait(queueWSA.getRemainedTime());
|
||||
|
||||
// 20200724 Start
|
||||
// 로그 레벨 변경
|
||||
// if (adapter_logger.isDebug()) { adapter_logger.debug("SNAAdapterClient:execute> [" + sAdapterGrpName + "] [" + sKey + "] After Wait"); }
|
||||
if (adapter_logger.isInfo()) { adapter_logger.info("SNAAdapterClient:execute> [" + sAdapterGrpName + "] [" + sKey + "] After Wait"); }
|
||||
// 20200724 End
|
||||
}
|
||||
// 데이터를 수신하였거나, Timeout이 발생하면 세션 상태를 READY로 전환
|
||||
catch (InterruptedException ie) {
|
||||
if (adapter_logger.isWarn()) {
|
||||
adapter_logger.warn("SNAAdapterClient:execute> [" + sAdapterGrpName + "] [" + sKey + "] Interupt Wait");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 5. 수신 데이타 확인
|
||||
// 수신 데이터 갯수 확인, 0인 경우, 타임 아웃 처리
|
||||
if (queueWSA.getCurrQueueDataCnt() == 0) {
|
||||
if (adapter_logger.isInfo()) {
|
||||
adapter_logger.info("SNAAdapterClient:execute> [" + sAdapterGrpName + "] [" + sKey + "] RECV - Transaction Timeout");
|
||||
}
|
||||
WCAException exception = new WCAException(WCAException.E_WCA_TRANTIMEOUT);
|
||||
exception.setMessage(WCAException.displayError(WCAException.E_WCA_TRANTIMEOUT) + ", KEY = " + sKey );
|
||||
throw exception;
|
||||
}
|
||||
else {
|
||||
if (adapter_logger.isDebug()) {
|
||||
adapter_logger.debug("SNAAdapterClient:execute> [" + sAdapterGrpName + "] [" + sKey + "] Try to get Data From WCAQueue");
|
||||
}
|
||||
|
||||
// LU가 사용중인 경우 세션그룹 수 만큼 다른 세션 그룹에 할당한다.
|
||||
//if (queueWSA.getResendFlag()) {
|
||||
// 2010.11.16 갈길수차장, 홍명준팀장 요청 : LU연결 전체가 없을 경우 버그 수정
|
||||
|
||||
// 20191011 Start
|
||||
// if (queueWSA.getResendFlag() && nLuGrpCount > 1) {
|
||||
if (queueWSA.getResendFlag() && nLuGrpCount > 1 && (iSendCnt < (nLuGrpCount - 1))) {
|
||||
// 20191011 End
|
||||
queueWSA.initRecvData();
|
||||
continue;
|
||||
}
|
||||
|
||||
// 정상 수신 데이터 처리
|
||||
byte[] pRecvBuff = queueWSA.getDataFromQueue();
|
||||
if (adapter_logger.isDebug()) {
|
||||
adapter_logger.debug("SNAAdapterClient:execute> [" + sAdapterGrpName + "] [" + sKey + "] Host Data is Received...");
|
||||
adapter_logger.debug("SNAAdapterClient:execute> [" + sAdapterGrpName + "] [" + sKey + "] Transaction End...");
|
||||
}
|
||||
|
||||
// 20200724 Start
|
||||
// Debug 모드인 경우에 데이터 로깅 처리로 로그 레벨 변경
|
||||
/*
|
||||
if (adapter_logger.isInfo()) {
|
||||
adapter_logger.info("SNAAdapterClient:execute> [" + sAdapterGrpName + "] [" + sKey + "] RECV - " +
|
||||
MyUtil.printBytes(WCADefine.EBCDIC_CODE, pRecvBuff.length, pRecvBuff));
|
||||
}
|
||||
*/
|
||||
if (adapter_logger.isDebug()) {
|
||||
adapter_logger.debug("SNAAdapterClient:execute> [" + sAdapterGrpName + "] [" + sKey + "] RECV - " +
|
||||
MyUtil.printBytes(WCADefine.EBCDIC_CODE, pRecvBuff.length, pRecvBuff));
|
||||
}
|
||||
// 20200724 End
|
||||
|
||||
// property 설정
|
||||
byte[] pRecvModeBuff = new byte[WCAHeader.LEN_MODE];
|
||||
byte[] pRecvStatusBuff = new byte[WCAHeader.LEN_DATA_TYPE];
|
||||
byte[] pRecvLuNameBuff = new byte[WCAHeader.LEN_LUNAME];
|
||||
pRetBuff = new byte[pRecvBuff.length - WCAHeader.WCA_HEADER_LEN];
|
||||
|
||||
System.arraycopy(pRecvBuff, WCAHeader.OFFSET_MODE, pRecvModeBuff, 0, WCAHeader.LEN_MODE);
|
||||
System.arraycopy(pRecvBuff, WCAHeader.OFFSET_LUNAME, pRecvLuNameBuff, 0, WCAHeader.LEN_LUNAME);
|
||||
System.arraycopy(pRecvBuff, WCAHeader.OFFSET_DATA_TYPE, pRecvStatusBuff, 0, WCAHeader.LEN_DATA_TYPE);
|
||||
System.arraycopy(pRecvBuff, WCAHeader.WCA_HEADER_LEN, pRetBuff, 0, pRecvBuff.length - WCAHeader.WCA_HEADER_LEN);
|
||||
|
||||
// 20200724 Start
|
||||
/*
|
||||
if (new String(pRecvBuff).indexOf(WCAException.WCA_ERROR_PREFIX) != -1) {
|
||||
prop.setProperty(DATA_TYPE, DATA_TYPE_ERROR);
|
||||
|
||||
// 로그
|
||||
String sLogGroupCode = "";
|
||||
String sLogErrCode = new String(pRetBuff).substring(0, WCAException.SOFTLINK_ERROR_SIZE);
|
||||
if (wcaSession != null) {
|
||||
sLogGroupCode = wcaSession.getGroupCode();
|
||||
}
|
||||
ClientUtil.getInstance().insertErrorLog(sAdapterGrpName, sLogGroupCode, sLUName, sTranMode, sKey, sLogErrCode);
|
||||
}
|
||||
// 20191011 Start
|
||||
else if (new String(pRecvBuff).indexOf(WCAException.SOFTLINK_ERROR_PREFIX) != -1) {
|
||||
prop.setProperty(DATA_TYPE, DATA_TYPE_ERROR);
|
||||
|
||||
// 로그
|
||||
String sLogGroupCode = "";
|
||||
String sLogErrCode = new String(pRetBuff).substring(0, WCAException.SOFTLINK_ERROR_SIZE);
|
||||
if (wcaSession != null) {
|
||||
sLogGroupCode = wcaSession.getGroupCode();
|
||||
}
|
||||
ClientUtil.getInstance().insertErrorLog(sAdapterGrpName, sLogGroupCode, sLUName, sTranMode, sKey, sLogErrCode);
|
||||
}
|
||||
// 20191011 End
|
||||
*/
|
||||
// public static final String SOFTLINK_ERROR_PREFIX = "RECEAISNA";
|
||||
// public static final String WCA_ERROR_PREFIX = "RECEAIOWA";
|
||||
|
||||
String strRecvErrorPrefix = "";
|
||||
if (pRetBuff != null && pRetBuff.length >= 12) {
|
||||
byte[] pRecvErrorPrefix = new byte[6];
|
||||
System.arraycopy(pRetBuff, 0, pRecvErrorPrefix, 0, 6);
|
||||
strRecvErrorPrefix = new String(pRecvErrorPrefix);
|
||||
}
|
||||
|
||||
if (strRecvErrorPrefix.compareTo("RECEAI") == 0) {
|
||||
prop.setProperty(DATA_TYPE, DATA_TYPE_ERROR);
|
||||
|
||||
byte[] pRecvErrorMsg = new byte[12];
|
||||
System.arraycopy(pRetBuff, 0, pRecvErrorMsg, 0, WCAException.SOFTLINK_ERROR_SIZE);
|
||||
String strRecvErrorMsg = new String(pRecvErrorMsg);
|
||||
|
||||
String sLogGroupCode = "";
|
||||
if (wcaSession != null) {
|
||||
sLogGroupCode = wcaSession.getGroupCode();
|
||||
}
|
||||
|
||||
ClientUtil.getInstance().insertErrorLog(sAdapterGrpName, sLogGroupCode, sLUName, sTranMode, sKey, strRecvErrorMsg);
|
||||
}
|
||||
// 20200724 End
|
||||
else {
|
||||
// DATA Type Propperties 변경
|
||||
ClientUtil.getInstance().setDataTypeProperty(new String(pRecvStatusBuff), prop);
|
||||
|
||||
// 20070522 : LU_NAME Trim
|
||||
prop.setProperty(LU_NAME, new String(pRecvLuNameBuff).trim());
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// 20200724 Start
|
||||
// Info 레벨로 변경
|
||||
/*
|
||||
// 수신 시간 측정
|
||||
if (adapter_logger.isDebug()) {
|
||||
lEndTime = System.currentTimeMillis();
|
||||
adapter_logger.debug("SNAAdapterClient:execute> [" + sAdapterGrpName + "] [" + sKey + "] Lapse time = " + (lEndTime - lStartTime) + "ms");
|
||||
}
|
||||
*/
|
||||
if (adapter_logger.isInfo()) {
|
||||
lEndTime = System.currentTimeMillis();
|
||||
|
||||
long elapseTime = lEndTime - lStartTime;
|
||||
|
||||
adapter_logger.info("SNAAdapterClient:execute> [" + sAdapterGrpName + "] [" + sKey + "] Lapse time = " + elapseTime + "ms");
|
||||
|
||||
if (elapseTime > 5000) {
|
||||
adapter_logger.error("SNAAdapterClient:execute> OVEROVERTIME [" + sAdapterGrpName + "] [" + sKey + "] Lapse time = " + elapseTime + "ms");
|
||||
}
|
||||
else if (elapseTime > 1000) {
|
||||
adapter_logger.error("SNAAdapterClient:execute> OVERTIME [" + sAdapterGrpName + "] [" + sKey + "] Lapse time = " + elapseTime + "ms");
|
||||
}
|
||||
}
|
||||
// 20200724 End
|
||||
|
||||
return pRetBuff;
|
||||
}
|
||||
catch (WCAException wca) {
|
||||
if (sKey != null && wcaSession != null) {
|
||||
wcaSession.unregisterRcvQueue(sKey);
|
||||
}
|
||||
|
||||
if (adapter_logger.isError()) {
|
||||
adapter_logger.error("SNAAdapterClient:execute> [" + sAdapterGrpName + "] [" + sKey + "] " + wca.toString());
|
||||
}
|
||||
|
||||
//wca.printStackTrace();
|
||||
|
||||
// 로그
|
||||
String sLogGroupCode = "";
|
||||
if (wcaSession != null) {
|
||||
sLogGroupCode = wcaSession.getGroupCode();
|
||||
}
|
||||
|
||||
ClientUtil.getInstance().insertErrorLog(sAdapterGrpName, sLogGroupCode, sLUName, sTranMode, sKey, wca.getErrorReturnCode());
|
||||
throw wca;
|
||||
}
|
||||
catch (Exception e) {
|
||||
if (sKey != null && wcaSession != null) {
|
||||
wcaSession.unregisterRcvQueue(sKey);
|
||||
}
|
||||
|
||||
if (adapter_logger.isDebug()) {
|
||||
adapter_logger.debug("SNAAdapterClient:execute> [" + sAdapterGrpName + "] [" + sKey + "] " + e.toString());
|
||||
}
|
||||
adapter_logger.error("SNAAdapterClient:execute error", e);
|
||||
throw new WCAException(e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 1. 기능 : 타임아웃동 이용가능한 WCA 세션 (softlink와 연결된 TCP 세션)이 있을때까지 대기)
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param queueWSA QUEUE 데이타
|
||||
* @param sAdapterGrpName 어댑터 그룹 이름
|
||||
* @param sNodeNmae LU 그룹 노드 이름
|
||||
* @param sGroupCode LU 그룹 이름
|
||||
*
|
||||
* @return WCASession WCA Session Object
|
||||
**/
|
||||
private WCASession getWCASession(WCAQueue queueWSA, String sAdapterGrpName, String sNodeName, String sGroupCode) throws WCAException {
|
||||
if (queueWSA.getTimeout() == -1) {
|
||||
queueWSA.setDefaultTimeout(WCADefine.DEFAULT_TRANSACTION_TIMEOUT);
|
||||
}
|
||||
|
||||
while (true) {
|
||||
try {
|
||||
return smanager.getWCASession(sAdapterGrpName, sNodeName, sGroupCode);
|
||||
}
|
||||
catch (WCAException e) {
|
||||
// "WCA세션이 없는 경우"가 아니면
|
||||
if (!e.getErrorReturnCode().equals(WCAException.E_SOFTLINK_NO_SESSION_SLOT)) {
|
||||
throw e;
|
||||
}
|
||||
|
||||
// 타임아웃 발생하였다면
|
||||
if (queueWSA.getRemainedTime() <= 0L) {
|
||||
throw e;
|
||||
}
|
||||
else {
|
||||
try {
|
||||
Thread.sleep(100);
|
||||
}
|
||||
catch (InterruptedException interrupted) {}
|
||||
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,111 @@
|
||||
package com.eactive.eai.adapter.wca;
|
||||
|
||||
import com.eactive.eai.adapter.listener.AdapterException;
|
||||
import com.eactive.eai.adapter.listener.AdapterListenerSupport;
|
||||
import com.eactive.eai.adapter.wca.cfg.SNAAdapter;
|
||||
import com.eactive.eai.adapter.wca.cfg.SNAAdapterManager;
|
||||
import com.eactive.eai.adapter.wca.global.WCADefine;
|
||||
import com.eactive.eai.common.util.ContainerUtil;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
|
||||
/**
|
||||
* 1. 기능 : SNAAdapter 어댑터 그룹 시작, 종료시 수행되어야 할 작업
|
||||
* 2. 처리 개요 :
|
||||
* - 어댑터 그룹 시작시 SNAAdapterManager에 등록하며 세션 정보를 초기화한다.
|
||||
* - 어댑터 그룹 종료시 세션 종료한다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see :
|
||||
* @since :
|
||||
*/
|
||||
public class SNAAdapterListener extends AdapterListenerSupport
|
||||
{
|
||||
/**
|
||||
* SNAAdapter critical한 정보 로깅을 위한 logger
|
||||
*/
|
||||
Logger adapter_logger = Logger.getLogger(WCADefine.ADAPTER_LOGGER_NAME);
|
||||
|
||||
/**
|
||||
* 1. 기능 : 어댑터 시작 메소드
|
||||
* 2. 처리 개요 :
|
||||
* - SNAAdapterManager 등록 및 초기화, INBOUND handler 등록
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @exception AdapterException
|
||||
**/
|
||||
public void start() throws AdapterException {
|
||||
int nRet = 0;
|
||||
|
||||
if (ContainerUtil.get() == ContainerUtil.TOMCAT) {
|
||||
return;
|
||||
}
|
||||
|
||||
adapter_logger.warn("SNAAdapterListener:start> Try To Start Adapter, AdapterInfo = " + info);
|
||||
|
||||
SNAAdapterManager smanager = SNAAdapterManager.getInstance();
|
||||
|
||||
String sAdapterGroupName = this.info.getAdapterGroupName();
|
||||
String sAdapterName = this.info.getName();
|
||||
// String eventListenerClass = PropManager.getInstance().getProperty(TableInfoEx.T_SNAADPTER_PROP_GROUP_NAME, "sna.event.listener.class");
|
||||
|
||||
// 어댑터 그룹:어댑터에 해당하는 SNA Adapter 추가 및 설정
|
||||
try {
|
||||
// 기존에 해당 어댑터 그룹에 어댑터가 존재하는지 검사
|
||||
/*
|
||||
SNAAdapter prevSnaAdapter = smanager.selectSnaAdapter(sAdapterGroupName);
|
||||
if(prevSnaAdapter != null) {
|
||||
adapter_logger.error("SNAAdapterListener:start> Already Adapter Exist, So Don't Create New Adapter, Adapter Group Name = " + sAdapterGroupName);
|
||||
return;
|
||||
}
|
||||
*/
|
||||
|
||||
// 새로운 SNAAdapter 오브젝트 생성
|
||||
SNAAdapter snaAdapter = new SNAAdapter(sAdapterGroupName, sAdapterName);
|
||||
|
||||
// SNA Adapter에 해당하는 LU 그룹 정보 정보를 저장하기 위한 오브젝트 생성 및 LU 그룹에 대한 정보 Load
|
||||
nRet = snaAdapter.initAdapter();
|
||||
if (nRet <= 0) {
|
||||
adapter_logger.warn("SNAAdapterListener:start> " + info + " LU 세션 그룹 정보가 존재하지 않습니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
// SNA 어댑터 맵에 새롭게 생성한 SNA 어댑터 추가
|
||||
smanager.insertSnaAdapter(sAdapterGroupName, snaAdapter);
|
||||
|
||||
// SNA 어댑터 시작 (어댑터에 속한 세션 Pool을 초기화하고 세션 Pool을 시작)
|
||||
snaAdapter.startAdapter();
|
||||
|
||||
// sAdapter.registerEventHandler((WCAEventListener)(Class.forName(eventListenerClass).newInstance()));
|
||||
|
||||
adapter_logger.warn("SNAAdapterListener:start> Success To Start Adapter, AdapterInfo = " + info);
|
||||
}
|
||||
catch (Exception e) {
|
||||
adapter_logger.error("SNAAdapterListener:start> Exception Occurred, AdapterInfo = " + info + ", Msg = " + e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 어댑터 종료 메소드
|
||||
* 2. 처리 개요 :
|
||||
* - 세션 종료
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @exception AdapterException
|
||||
**/
|
||||
public void stop() throws AdapterException {
|
||||
if (ContainerUtil.get() == ContainerUtil.TOMCAT) {
|
||||
return;
|
||||
}
|
||||
|
||||
adapter_logger.warn("SNAAdapterListener:stop> Try To Stop Adapter, AdapterInfo = " + info);
|
||||
|
||||
String adapterGroupName = this.info.getAdapterGroupName();
|
||||
String adapterName = this.info.getName();
|
||||
|
||||
SNAAdapterManager.getInstance().stopAdapter(adapterGroupName, adapterName);
|
||||
|
||||
adapter_logger.warn("SNAAdapterListener:stop> Success To Stop Adapter, AdapterInfo = " + info);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
package com.eactive.eai.adapter.wca;
|
||||
|
||||
import com.eactive.eai.adapter.wca.cfg.SNAAdapter;
|
||||
import com.eactive.eai.adapter.wca.cfg.SNAAdapterManager;
|
||||
import com.eactive.eai.common.testcall.TestCallException;
|
||||
import com.eactive.eai.common.testcall.TestCallSupport;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
|
||||
/**
|
||||
* 1. 기능 : SNAAdapter 동작 여부 판단
|
||||
* 2. 처리 개요 :
|
||||
* - 어댑터 그룹에 속한 세션 상태를 반환
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see :
|
||||
* @since :
|
||||
*/
|
||||
public class SNAAdapterTestCall extends TestCallSupport
|
||||
{
|
||||
/**
|
||||
* SNAAdapter 트레이스를 위한 logger
|
||||
*/
|
||||
Logger trc_logger = Logger.getLogger(Logger.LOGGER_ADAPTER);
|
||||
|
||||
/**
|
||||
* 1. 기능 : 어댑터 시작 메소드
|
||||
* 2. 처리 개요 :
|
||||
* - 어댑터 그룹에 해당하는 세션이 하나이상이면 true, 아니면 flase 반환
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @exception TestCallException
|
||||
**/
|
||||
public boolean isAlive() throws TestCallException {
|
||||
int nConnected = 0 ;
|
||||
String adapterGroupName = this.adapterInfo.getAdapterGroupName();
|
||||
|
||||
if (trc_logger.isDebug()) { trc_logger.debug("SNAAdapterTestCall] ## adapterGroupName = " + adapterGroupName); }
|
||||
SNAAdapter snaAdapter = SNAAdapterManager.getInstance().selectSnaAdapter(adapterGroupName);
|
||||
if (snaAdapter == null) {
|
||||
nConnected = 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
if (nConnected > 0) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
package com.eactive.eai.adapter.wca;
|
||||
|
||||
/**
|
||||
* 1. 기능 : Client 호출 프로퍼티 KEY 및 VALUE 정의
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see :
|
||||
* @since :
|
||||
*/
|
||||
public interface SNAProperties
|
||||
{
|
||||
// Properteis KEY 설정
|
||||
public static final String TRAN_KEY = "TRAN_KEY"; // Transaction 마다 유일한 Key 값 (UUID)
|
||||
public static final String ADAPTER_GRP_NAME = "ADAPTER_GRP_NAME"; // Adapter Group Name
|
||||
public static final String ADAPTER_NAME = "ADAPTER_NAME"; // Adapter Name
|
||||
public static final String LU_NAME = "LU_NAME"; // LU Name (dedicate LU 일경우만 설정)
|
||||
public static final String TRAN_MODE = "TRAN_MODE"; // Transaction Mode (Response / NonResponse)
|
||||
public static final String DATA_TYPE = "DATA_TYPE"; // TimeOut Data, DFS, Normal Data
|
||||
public static final String TRAN_TIMEOUT = "TRAN_TIMEOUT"; // TimeOut (단위 : 초)
|
||||
|
||||
// Properties 값 설정
|
||||
public static final String TRAN_MODE_RESPONSE = "R"; // Response Transaction Mode
|
||||
public static final String TRAN_MODE_NONRESPONSE = "N"; // NonResponse Transaction Mode
|
||||
public static final String TRAN_MODE_TERMINAL = "T"; // 가상 터미널 TRAN_MODE_RESPONSE와 같이 처리
|
||||
|
||||
public static final String DATA_TYPE_FIRST = "F";
|
||||
public static final String DATA_TYPE_MIDDLE = "M";
|
||||
public static final String DATA_TYPE_LAST = "L";
|
||||
public static final String DATA_TYPE_ONLY = "O";
|
||||
|
||||
public static final String DATA_TYPE_NORMAL_PREFIX = "N";
|
||||
public static final String DATA_TYPE_NORMAL = DATA_TYPE_NORMAL_PREFIX + "D";
|
||||
public static final String DATA_TYPE_NORMAL_ONLY = DATA_TYPE_NORMAL_PREFIX + DATA_TYPE_ONLY; // Normal Data Type (only)
|
||||
public static final String DATA_TYPE_NORMAL_FIRST = DATA_TYPE_NORMAL_PREFIX + DATA_TYPE_FIRST; // Normal Data Type (First)
|
||||
public static final String DATA_TYPE_NORMAL_MIDDLE = DATA_TYPE_NORMAL_PREFIX + DATA_TYPE_MIDDLE; // Normal Data Type (Middle)
|
||||
public static final String DATA_TYPE_NORMAL_LAST = DATA_TYPE_NORMAL_PREFIX + DATA_TYPE_LAST; // Normal Data Type (Last)
|
||||
|
||||
public static final String DATA_TYPE_TIMEOUT_PREFIX = "T";
|
||||
public static final String DATA_TYPE_TIMEOUT = DATA_TYPE_TIMEOUT_PREFIX + "D";
|
||||
public static final String DATA_TYPE_TIMEOUT_ONLY = DATA_TYPE_TIMEOUT_PREFIX + DATA_TYPE_ONLY; // TimeOut Data (delayed data) Type (Only)
|
||||
public static final String DATA_TYPE_TIMEOUT_FIRST = DATA_TYPE_TIMEOUT_PREFIX + DATA_TYPE_FIRST; // TimeOut Data (delayed data) Type (Fi)
|
||||
public static final String DATA_TYPE_TIMEOUT_MIDDLE = DATA_TYPE_TIMEOUT_PREFIX + DATA_TYPE_MIDDLE; // TimeOut Data (delayed data) Type (Middle)
|
||||
public static final String DATA_TYPE_TIMEOUT_LAST = DATA_TYPE_TIMEOUT_PREFIX + DATA_TYPE_LAST; // TimeOut Data (delayed data) Type (Last)
|
||||
|
||||
public static final String DATA_TYPE_DFS_PREFIX = "D";
|
||||
public static final String DATA_TYPE_DFS = DATA_TYPE_DFS_PREFIX + "F";
|
||||
public static final String DATA_TYPE_DFS_ONLY = DATA_TYPE_DFS_PREFIX + DATA_TYPE_ONLY;
|
||||
public static final String DATA_TYPE_DFS_FIRST = DATA_TYPE_DFS_PREFIX + DATA_TYPE_FIRST;
|
||||
public static final String DATA_TYPE_DFS_MIDDLE = DATA_TYPE_DFS_PREFIX + DATA_TYPE_MIDDLE;
|
||||
public static final String DATA_TYPE_DFS_LAST = DATA_TYPE_DFS_PREFIX + DATA_TYPE_LAST;
|
||||
|
||||
public static final String DATA_TYPE_SEND_OK = "SO"; // SEND OK Data Type
|
||||
public static final String DATA_TYPE_ERROR = "ER"; // ERROR Data Type
|
||||
|
||||
public static final String DATA_TYPE_ADAPTER_OK = "AO"; // 자동 백업 명령
|
||||
public static final String DATA_TYPE_ADAPTER_ERROR = "AE"; // 자동 복구 명령
|
||||
|
||||
public static final String DATA_TYPE_GET_ADAPTER_STATUS = "QS"; // 현재 어댑터 status 반환 명령
|
||||
|
||||
// 20090810 Start
|
||||
public static final String DATA_TYPE_APP_CODE = "CD"; // 현재 어댑터 Data Code 송신 명령
|
||||
// 20090810 End
|
||||
|
||||
// 20190828 Start
|
||||
public static final String DATA_TYPE_WCA_ADPT_INFO = "WN"; // 현재 WCA 어댑터 정보 송신 명령
|
||||
// 20190828 End
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
|
||||
|
||||
package com.eactive.eai.adapter.wca;
|
||||
|
||||
/**
|
||||
* 1. 기능 : INBOUND 처리 interface
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see :
|
||||
* @since : 2005. 6. 24. 오전 10:33:12
|
||||
*/
|
||||
public interface WCAEventInterface {
|
||||
/**
|
||||
* 1. 기능 : 수신 타임 이후에 수신된 데이터 처리
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param adapterGrpName 어댑터 그룹 이름
|
||||
* @param adapterName 어댑터 이름
|
||||
* @param nLen 송신 길이
|
||||
* @param pBuff 송신 데이타
|
||||
**/
|
||||
public abstract void handleTimeoutData(String adapterGrpName, String adapterName, String sGroupCode, int nLen, byte[] pBuff);
|
||||
|
||||
/**
|
||||
* 1. 기능 : NonResponse Transaction Mode 데이터 처리
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param adapterGrpName 어댑터 그룹 이름
|
||||
* @param adapterName 어댑터 이름
|
||||
* @param nLen 송신 길이
|
||||
* @param pBuff 송신 데이타
|
||||
**/
|
||||
public abstract void handleNonRspData(String adapterGrpName, String adapterName, String sGroupCode, int nLen, byte[] pBuff);
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,162 @@
|
||||
package com.eactive.eai.adapter.wca;
|
||||
|
||||
import com.eactive.eai.adapter.RequestDispatcher;
|
||||
import com.eactive.eai.adapter.wca.data.WCAHeader;
|
||||
import com.eactive.eai.adapter.wca.exception.WCAException;
|
||||
import com.eactive.eai.adapter.wca.global.WCADefine;
|
||||
import com.eactive.eai.adapter.wca.util.MyUtil;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
|
||||
import java.util.Properties;
|
||||
|
||||
/**
|
||||
* 1. 기능 : INBOUND 처리 interface 구현
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see :
|
||||
* @since :
|
||||
*/
|
||||
public class WCAEventListener implements WCAEventInterface, SNAProperties
|
||||
{
|
||||
/**
|
||||
* SNAAdapter 로깅을 위한 logger
|
||||
*/
|
||||
Logger adapter_logger = Logger.getLogger(WCADefine.ADAPTER_LOGGER_NAME);
|
||||
|
||||
/**
|
||||
* 1. 기능 : NonResponse Transaction Mode 데이터 처리
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param adapterGrpName 어댑터 그룹 이름
|
||||
* @param adapterName 어댑터 이름
|
||||
* @param nLen 송신 길이
|
||||
* @param pBuff 송신 데이타
|
||||
**/
|
||||
public void handleNonRspData(String adapterGrpName, String adapterName, String sGroupCode, int nLen, byte[] pBuff) {
|
||||
WCAEventProcess(adapterGrpName, adapterName, sGroupCode, nLen, pBuff);
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : NonResponse Transaction Mode 데이터 처리
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param adapterGrpName 어댑터 그룹 이름
|
||||
* @param adapterName 어댑터 이름
|
||||
* @param nLen 송신 길이
|
||||
* @param pBuff 송신 데이타
|
||||
**/
|
||||
public void handleTimeoutData(String adapterGrpName, String adapterName, String sGroupCode, int nLen, byte[] pBuff) {
|
||||
WCAEventProcess(adapterGrpName, adapterName, sGroupCode, nLen, pBuff);
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : INBOUND 데이타 처리 로직
|
||||
* 2. 처리 개요 :
|
||||
* - Softlink 수신 데이타에서 프로퍼티 정보와 송신데이타 추출한다.
|
||||
* - 프로퍼티 설정한다.
|
||||
* - EAI INBOUND 호출한다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param adapterGrpName 어댑터 그룹 이름
|
||||
* @param adapterName 어댑터 이름
|
||||
* @param nLen 송신 길이
|
||||
* @param pBuff 송신 데이타
|
||||
**/
|
||||
private void WCAEventProcess(String adapterGrpName, String adapterName, String sGroupCode, int nLen, byte[] pBuff) {
|
||||
try {
|
||||
byte[] pDataBuff = new byte[pBuff.length - WCAHeader.WCA_HEADER_LEN];
|
||||
byte[] pHeaderBuff = new byte[WCAHeader.WCA_HEADER_LEN];
|
||||
|
||||
// 1. 프러퍼티 정보 및 송신 데이타 추출
|
||||
System.arraycopy(pBuff, 0, pHeaderBuff, 0, WCAHeader.WCA_HEADER_LEN);
|
||||
System.arraycopy(pBuff, WCAHeader.WCA_HEADER_LEN, pDataBuff, 0, pBuff.length - WCAHeader.WCA_HEADER_LEN);
|
||||
|
||||
WCAHeader header = new WCAHeader(WCAHeader.WCA_HEADER_LEN, pHeaderBuff);
|
||||
|
||||
// 2. 프로퍼티 설정
|
||||
Properties prop = new Properties();
|
||||
prop.setProperty(TRAN_KEY, header.getKey());
|
||||
prop.setProperty(ADAPTER_GRP_NAME, adapterGrpName);
|
||||
prop.setProperty(ADAPTER_NAME, adapterName);
|
||||
prop.setProperty(LU_NAME, header.getLUName());
|
||||
prop.setProperty(TRAN_MODE, String.valueOf(header.getMode()));
|
||||
ClientUtil.getInstance().setDataTypeProperty(header.getDataType(), prop);
|
||||
|
||||
// response mode 일고 normal 데이타인경우 -> DATA TYPE을 timeout으로 설정
|
||||
if (header.getDataType().length() == WCAHeader.LEN_DATA_TYPE &&
|
||||
(String.valueOf(header.getMode()).equals(TRAN_MODE_RESPONSE) || String.valueOf(header.getMode()).equals(TRAN_MODE_TERMINAL)) &&
|
||||
header.getDataType().substring(0,1).equals(DATA_TYPE_NORMAL_PREFIX)) {
|
||||
prop.setProperty(DATA_TYPE, DATA_TYPE_TIMEOUT);
|
||||
}
|
||||
|
||||
// 20200724 Start
|
||||
/*
|
||||
if (new String(pDataBuff).indexOf(WCAException.WCA_ERROR_PREFIX) != -1) {
|
||||
prop.setProperty(DATA_TYPE, DATA_TYPE_ERROR);
|
||||
|
||||
// 로그
|
||||
String sLogErrCode = new String(pDataBuff).substring(0, WCAException.SOFTLINK_ERROR_SIZE);
|
||||
|
||||
String luName = prop.getProperty(LU_NAME, "");
|
||||
String tranMode = prop.getProperty(TRAN_MODE, "");
|
||||
String tranKey = prop.getProperty(TRAN_KEY, "");
|
||||
|
||||
ClientUtil.getInstance().insertErrorLog(adapterGrpName, sGroupCode,luName, tranMode, tranKey, sLogErrCode);
|
||||
}
|
||||
*/
|
||||
// public static final String WCA_ERROR_PREFIX = "RECEAIOWA";
|
||||
if (pDataBuff != null && pDataBuff.length >= 12) {
|
||||
byte[] pRecvErrorPrefix = new byte[9];
|
||||
System.arraycopy(pDataBuff, 0, pRecvErrorPrefix, 0, 9);
|
||||
String strRecvErrorPrefix = new String(pRecvErrorPrefix);
|
||||
|
||||
if (strRecvErrorPrefix.compareTo(WCAException.WCA_ERROR_PREFIX) == 0) {
|
||||
byte[] pRecvErrorMsg = new byte[12];
|
||||
System.arraycopy(pDataBuff, 0, pRecvErrorMsg, 0, WCAException.SOFTLINK_ERROR_SIZE);
|
||||
String strRecvErrorMsg = new String(pRecvErrorMsg);
|
||||
|
||||
prop.setProperty(DATA_TYPE, DATA_TYPE_ERROR);
|
||||
|
||||
String luName = prop.getProperty(LU_NAME, "");
|
||||
String tranMode = prop.getProperty(TRAN_MODE, "");
|
||||
String tranKey = prop.getProperty(TRAN_KEY, "");
|
||||
|
||||
ClientUtil.getInstance().insertErrorLog(adapterGrpName, sGroupCode,luName, tranMode, tranKey, strRecvErrorMsg);
|
||||
}
|
||||
}
|
||||
// 20200724 End
|
||||
|
||||
// 20200724 Start
|
||||
// Debug 모드인 경우에 데이터 로깅 처리로 로그 레벨 변경
|
||||
/*
|
||||
if (adapter_logger.isInfo()) {
|
||||
adapter_logger.info("WCAEventListener:WCAEventProcess> [" + adapterGrpName + "][" + adapterName + "] RECV - " + MyUtil.printBytes(WCADefine.EBCDIC_CODE, nLen, pBuff));
|
||||
}
|
||||
*/
|
||||
if (adapter_logger.isDebug()) {
|
||||
adapter_logger.debug("WCAEventListener:WCAEventProcess> [" + adapterGrpName + "][" + adapterName + "] RECV - " + MyUtil.printBytes(WCADefine.EBCDIC_CODE, nLen, pBuff));
|
||||
}
|
||||
// 20200724 End
|
||||
|
||||
if (adapter_logger.isDebug()) {
|
||||
adapter_logger.debug("WCAEventListener:WCAEventProcess> Call RequestDispatcher's Handle Function.");
|
||||
}
|
||||
|
||||
// 3. EAI INBOUND 호출
|
||||
Object obj = RequestDispatcher.getRequestDispatcher(adapterGrpName).handle(adapterName, pDataBuff, prop);
|
||||
|
||||
if (adapter_logger.isDebug()) {
|
||||
adapter_logger.debug("WCAEventListener:WCAEventProcess> Evnet Handler End... + "+obj);
|
||||
}
|
||||
}
|
||||
catch (Exception e) {
|
||||
adapter_logger.error("WCAEventListener:WCAEventProcess> [" + adapterGrpName + "][" + adapterName + "] Exception Msg = " + e.getMessage(), e);
|
||||
// System.out.println("WCAEventProcess] error occures ");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,452 @@
|
||||
package com.eactive.eai.adapter.wca;
|
||||
|
||||
import com.eactive.eai.adapter.wca.cfg.SNAAdapter;
|
||||
import com.eactive.eai.adapter.wca.cfg.SNAAdapterManager;
|
||||
import com.eactive.eai.adapter.wca.cfg.SessionGroupDataEx;
|
||||
import com.eactive.eai.adapter.wca.exception.WCAException;
|
||||
import com.eactive.eai.adapter.wca.global.WCADefine;
|
||||
import com.eactive.eai.adapter.wca.servlet.TableInfoEx;
|
||||
import com.eactive.eai.adapter.wca.util.MyUtil;
|
||||
import com.eactive.eai.common.property.PropManager;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
|
||||
/**
|
||||
* 1. 기능 : WCA 세션 정보
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see :
|
||||
* @since : 2005. 6. 22. 오후 5:53:46
|
||||
*/
|
||||
public class WCASession {
|
||||
/**
|
||||
* SNAAdapter critical한 정보 로깅을 위한 logger
|
||||
*/
|
||||
Logger adapter_logger = Logger.getLogger(WCADefine.ADAPTER_LOGGER_NAME);
|
||||
|
||||
private String sNodeName = ""; // Softlink Node Name
|
||||
private String sIpAddr = null; // Softlink Ip 주소
|
||||
private int nPortNo = 0; // SoftLink Port 번호
|
||||
private Thread threadSession; // Softlink 수신 처리를 담당하는 스레드
|
||||
private String sAdapterGrpName = null; // 어댑터 그룹 이름
|
||||
private String sAdapterName = null; // 어댑터 이름
|
||||
private String sGroupCode = null; // LU 그룹 이름
|
||||
private WCASessionThread wcaSessionThread = null; // Softlink 수신 처리를 담당하는 WCA 세션 Runnable 클래스
|
||||
private int nSessNum; // WCA 세션 수
|
||||
private boolean bBackupSessionPool = false; // Backup 세션 여부 (true: 백업 세션)
|
||||
|
||||
private boolean bLogYN = true; // 로깅 여부
|
||||
private int nLogLevel = 1; // 로그 레벨
|
||||
private int nLogSize = 4; // 로그 파일 사이즈
|
||||
private int nTransTimeout = WCADefine.DEFAULT_TRANSACTION_TIMEOUT * 1000; // 트랜잭션 타임아웃
|
||||
|
||||
private boolean bBackupEnableFlag = true; // 백업 세션 사용 가능여부 플래그
|
||||
private SNAAdapter snaAdapter = null; // WCA 세션을 포함하고 있는 SNAAdapter 오브젝트
|
||||
|
||||
public boolean getBackupEnableFlag() {
|
||||
return bBackupEnableFlag;
|
||||
}
|
||||
|
||||
public void setBackupEnableFlag(boolean bBackupEnableFlag) {
|
||||
this.bBackupEnableFlag = bBackupEnableFlag;
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 노드 이름 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sNodName 노드이름
|
||||
**/
|
||||
public void setNodeName(String sNodeName) {
|
||||
if (sNodeName == null) { sNodeName = ""; }
|
||||
this.sNodeName = sNodeName.trim();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 노드 이름 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 노드이름
|
||||
**/
|
||||
public String getNodeName() {
|
||||
return sNodeName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 세션 정보 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 세션 정보
|
||||
**/
|
||||
public String toString() {
|
||||
StringBuffer sTemp = new StringBuffer();
|
||||
|
||||
// 20090810 Start
|
||||
// sTemp.append(" " + sAdapterGrpName + "-" + sGroupCode + "-" + nSessNum);
|
||||
sTemp.append(" " + sAdapterGrpName + "-" + sNodeName + "-" + sGroupCode + "-" + nSessNum);
|
||||
// 20090810 End
|
||||
|
||||
if (bBackupSessionPool) { sTemp.append(":BACKUP "); }
|
||||
else { sTemp.append(" "); }
|
||||
|
||||
return sTemp.toString();
|
||||
}
|
||||
|
||||
public String getLogPrefix() {
|
||||
StringBuffer sTemp = new StringBuffer();
|
||||
|
||||
sTemp.append("[" + sAdapterGrpName + "][" + sNodeName + "][" + sGroupCode + "][" + nSessNum + "]");
|
||||
if (bBackupSessionPool) { sTemp.append("[BACKUP]"); }
|
||||
|
||||
return sTemp.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : WCA 세션 생성자
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sIpAddr Softlink Ip 주소
|
||||
* @param nPortNo SoftLink Port 번호
|
||||
* @param sAdapterGrpName 어댑터 그룹 이름
|
||||
* @param sAdapterName 어댑터 이름
|
||||
* @param sGroupCode LU 그룹 이름
|
||||
* @param nSessId WCA 세션 수
|
||||
**/
|
||||
public WCASession(String sIpAddr, int nPortNo, String sAdapterGrpName, String sAdapterName, String sGroupCode, int nSessNum) {
|
||||
this.sIpAddr = sIpAddr;
|
||||
this.nPortNo = nPortNo;
|
||||
this.sAdapterGrpName = sAdapterGrpName;
|
||||
this.sAdapterName = sAdapterName;
|
||||
this.sGroupCode = sGroupCode;
|
||||
this.nSessNum = nSessNum;
|
||||
snaAdapter = SNAAdapterManager.getInstance().selectSnaAdapter(sAdapterGrpName);
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 어댑터 그룹 이름 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 어댑터 그룹 이름
|
||||
**/
|
||||
public String getAdapterGroupName() {
|
||||
return sAdapterGrpName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 그룹 이름 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return LU 그룹 이름
|
||||
**/
|
||||
public String getGroupCode() {
|
||||
return sGroupCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 트랜잭션 타임아웃 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param timeout 트랜잭션 타임아웃
|
||||
**/
|
||||
public void setTranTimeout(int timeout) {
|
||||
this.nTransTimeout = timeout;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 1. 기능 : 트랜잭션 타임아웃 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 트랜잭션 타임아웃
|
||||
**/
|
||||
public int getTranTimeout() {
|
||||
return this.nTransTimeout;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 1. 기능 : Sotlink 세션 정보 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sIpAddr Softlink Ip 주소
|
||||
* @param nPortNo SoftLink Port 번호
|
||||
* @param nSessNum WCA 세션 수
|
||||
**/
|
||||
public void setSessionInfo(String sIpAddr, int nPortNo, int nSessNum) {
|
||||
this.sIpAddr = sIpAddr;
|
||||
this.nPortNo = nPortNo;
|
||||
this.nSessNum = nSessNum;
|
||||
}
|
||||
|
||||
public void setSessionInfo(String sIpAddr, int nPortNo) {
|
||||
this.sIpAddr = sIpAddr;
|
||||
this.nPortNo = nPortNo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Sotlink 세션 정보 갱신
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sessgroup LU 세션 그룹 정보
|
||||
**/
|
||||
public void updateSessionInfoEx(SessionGroupDataEx sessgroup) {
|
||||
// 로컬 세션인 경우
|
||||
if (!isBackupSessionPool()) {
|
||||
setSessionInfo(sessgroup.getSoftLinkSevrName(), sessgroup.getPort());
|
||||
}
|
||||
// 백업 세션인 경우
|
||||
else {
|
||||
setSessionInfo(sessgroup.getBackupNodeName(), sessgroup.getBackupPort());
|
||||
}
|
||||
|
||||
setLogInfo(sessgroup.isLogWritable(), sessgroup.getLogLevel(), sessgroup.getLogSize() );
|
||||
setTranTimeout(sessgroup.getTranTimeout());
|
||||
setBackupEnableFlag(sessgroup.getBackupEnableFlag());
|
||||
|
||||
wcaSessionThread.updateSessionInfoEx(sessgroup);
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : WCA APP CODE 정보 갱신 (updateSessionInfoEx 함수를 참조하여 개발)
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sessgroup LU 세션 그룹 정보
|
||||
**/
|
||||
public void updateWcaAppCodeEx() {
|
||||
wcaSessionThread.updateWcaAppCodeEx();
|
||||
}
|
||||
|
||||
/*
|
||||
* 1. 기능 : 로그 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param bLogYN 로깅 여부
|
||||
* @param nLogLevel 로깅 레벨
|
||||
* @param nLogSize 로깅 파일 사이즈
|
||||
**/
|
||||
public void setLogInfo(boolean bLogYN, int nLogLevel, int nLogSize) {
|
||||
this.bLogYN = bLogYN;
|
||||
this.nLogLevel = nLogLevel;
|
||||
this.nLogSize = nLogSize;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 1. 기능 : 백업 세션 여부 설정 (true: 백업 세션)
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param flag 백업 세션 여부
|
||||
**/
|
||||
public void setBackupSessionPool(boolean flag) {
|
||||
bBackupSessionPool = flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 백업 세션 여부 반환 (true: 백업 세션)
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 백업 세션 여부
|
||||
**/
|
||||
public boolean isBackupSessionPool() {
|
||||
return bBackupSessionPool;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 데이터 송신별 수신 데이터를 대기할 Queue를 등록
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param objKey HashMap에 저장될 unique한 key (UUID)
|
||||
* @param objData HashMap에 저장될 값 (송신에 대한 Queue 데이타)
|
||||
* @return 0
|
||||
**/
|
||||
public int registerRcvQueue(Object objKey, Object objData) {
|
||||
wcaSessionThread.registerRcvQueue(objKey, objData);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Queue에 등록된 송신에 대한 Queue 데이타 삭제
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param objKey HashMap에 저장될 unique한 key (UUID)
|
||||
**/
|
||||
public void unregisterRcvQueue(Object objKey) {
|
||||
wcaSessionThread.unregisterRcvQueue(objKey);
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Softlink와 연결된 세션수를 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return Softlink와 연결된 세션수
|
||||
**/
|
||||
public int getConnectedSessNum() {
|
||||
return wcaSessionThread.getConnectedSessNum();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 세션에 해당하는 Thread Group 이름 반환
|
||||
* 2. 처리 개요 :
|
||||
* - Thread Group 이름은 LU 그룹 이름으로 한다.
|
||||
* - 백업 세션일 경우 ":BACKUP"을 추가한다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return Thread Group 이름
|
||||
**/
|
||||
private String getThreadGroupName() {
|
||||
StringBuffer sTemp = new StringBuffer();
|
||||
|
||||
// LU 그룹 이름이 rule에 따라 설정되지 않을 가능성을 대비하여 어댑터 그룹명까지 포함한다.
|
||||
// LU 그룹 이름이 동일한 경우가 있을 경우, 스레드 그룹 이름이 동일하여
|
||||
// 해당 어댑터를 종료할때 제대로 종료되지 않을 가능성이 있다.
|
||||
// sTemp.append(sAdapterGrpName + "-" + sGroupCode);
|
||||
sTemp.append(sAdapterGrpName + "-" + sNodeName + "-" + sGroupCode);
|
||||
if (bBackupSessionPool) { sTemp.append(":BACKUP"); }
|
||||
return sTemp.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 세션에 해당하는 Thread Group 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return Thread Group
|
||||
**/
|
||||
private ThreadGroup getThreadGroup() {
|
||||
ThreadGroup threadGroup = snaAdapter.getThreadGroup(sNodeName, sGroupCode);
|
||||
if (threadGroup == null) {
|
||||
threadGroup = snaAdapter.putThreadGroup(sNodeName, sGroupCode, getThreadGroupName());
|
||||
}
|
||||
|
||||
return threadGroup;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 세션 초기화
|
||||
* 2. 처리 개요 :
|
||||
* - Softlink 수신 처리를 담당하는 WCA 세션 Runnable 클래스 생성 및 세션 정보를 설정한다.
|
||||
* - 수신 Thread 생성 및 start 시킨다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 성공여부 (성공 : 0, 실패 : -1)
|
||||
**/
|
||||
public int initWCASession() {
|
||||
try {
|
||||
String eventListenerClass = PropManager.getInstance().getProperty(TableInfoEx.T_SNAADPTER_PROP_GROUP_NAME, "sna.event.listener.class");
|
||||
WCAEventListener listener = (WCAEventListener)(Class.forName(eventListenerClass).newInstance());
|
||||
|
||||
// 20090810 Start
|
||||
// wcaSessionThread = new WCASessionThread(sIpAddr, nPortNo, sAdapterGrpName, sAdapterName, sGroupCode, nSessNum, bBackupSessionPool, bLogYN, nLogLevel, nLogSize);
|
||||
wcaSessionThread = new WCASessionThread(sNodeName, sIpAddr, nPortNo, sAdapterGrpName, sAdapterName, sGroupCode, nSessNum, bBackupSessionPool, bLogYN, nLogLevel, nLogSize);
|
||||
// 20090810 End
|
||||
|
||||
wcaSessionThread.setTranTimeout(nTransTimeout);
|
||||
wcaSessionThread.registerEventHandler(listener);
|
||||
|
||||
// 20090810 Start
|
||||
wcaSessionThread.setBackupEnableFlag(bBackupEnableFlag);
|
||||
// 20090810 End
|
||||
|
||||
//threadSession = new Thread(getThreadGroup(),wcaSessionThread, wcaSessionThread.toString());
|
||||
|
||||
// " " + sNodeName + "-" + sAdapterGrpName + "-" + sGroupCode + "-" + nSessNum + " "
|
||||
String sThreadName = MyUtil.replaceString(toString(), "<", "");
|
||||
sThreadName = MyUtil.replaceString(sThreadName, ">", "");
|
||||
threadSession = new Thread(getThreadGroup(), wcaSessionThread, sThreadName);
|
||||
threadSession.setDaemon(false);
|
||||
threadSession.start();
|
||||
|
||||
return 0;
|
||||
}
|
||||
catch (Exception e) {
|
||||
if(adapter_logger.isError()) adapter_logger.error("initWCASesion] - [" + WCAException.E_ETC + "] " + toString() + " : " + e.toString(), e);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 세션 종료
|
||||
* 2. 처리 개요 :
|
||||
* - WCA 세션 Runnable 클래스의 running 상태를 false로 설정한다.
|
||||
* - Softlink TCP 세션 close한다.
|
||||
* 3. 주의사항
|
||||
**/
|
||||
public void stopAdapter() {
|
||||
wcaSessionThread.stopAdapter();
|
||||
wcaSessionThread.closeSoftLink();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : INBOUND 핸들러 등록
|
||||
* 2. 처리 개요 :
|
||||
* - WCA 세션 Runnable 클래스의 INBOUND 핸들러 등록한다.
|
||||
* 3. 주의사항
|
||||
**/
|
||||
public void registerEventHandler(Object objHandler) {
|
||||
wcaSessionThread.registerEventHandler(objHandler);
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 수신 Thread TCP 세션 상태를 설정
|
||||
* 2. 처리 개요 :
|
||||
* - WCA 세션 Runnable 클래스의 TCP 세션 상태를 설정한다.
|
||||
* 0 : 연결안됨, 1 : TCP 세션 연결, 2 : TCP 세션 사용중 (사용안함)
|
||||
* 3. 주의사항
|
||||
**/
|
||||
/*
|
||||
public void setSessionStat(int nSessStat) {
|
||||
wcaSessionThread.setSessionStat(nSessStat);
|
||||
return;
|
||||
}
|
||||
*/
|
||||
|
||||
/**
|
||||
* 1. 기능 : OUTBOUND 데이타 송신
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
**/
|
||||
public int sendData(int nLen, byte[] pBuff) throws WCAException {
|
||||
return wcaSessionThread.sendData(nLen, pBuff);
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Softlink TCP 세션 가능 여부 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return Softlink TCP 세션 가능 여부 (true : 사용가능)
|
||||
**/
|
||||
public boolean isAvailable() {
|
||||
return wcaSessionThread.isAvailable();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Softlink TCP 세션 close
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
**/
|
||||
public void closeSoftLink() throws WCAException {
|
||||
wcaSessionThread.closeSoftLink();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,697 @@
|
||||
package com.eactive.eai.adapter.wca;
|
||||
|
||||
import com.eactive.eai.adapter.wca.cfg.SessionGroupDataEx;
|
||||
import com.eactive.eai.adapter.wca.global.WCADefine;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
|
||||
import java.util.LinkedList;
|
||||
|
||||
/**
|
||||
* 1. 기능 : WCA 세션 풀 정보
|
||||
* 2. 처리 개요 :
|
||||
* - LU 그룹별로 풀이 생성된다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see :
|
||||
* @since : 2005. 6. 22. 오후 5:03:52
|
||||
*/
|
||||
public class WCASessionPool {
|
||||
/**
|
||||
* SNAAdapter 트레이스 로깅을 위한 logger
|
||||
*/
|
||||
Logger trc_logger = Logger.getLogger(Logger.LOGGER_ADAPTER);
|
||||
/**
|
||||
* SNAAdapter critical한 정보 로깅을 위한 logger
|
||||
*/
|
||||
Logger adapter_logger = Logger.getLogger(WCADefine.ADAPTER_LOGGER_NAME);
|
||||
|
||||
// 20090810 Start
|
||||
private String sNodeName = ""; // Softlink Host Name
|
||||
// 20090810 End
|
||||
|
||||
private String sIpAddr = null; // Softlink Ip 주소
|
||||
private int nPortNo = 0; // SoftLink Port 번호
|
||||
private int nSessNum = 0; // WCA 세션 수
|
||||
private String sAdapterGroupName = null; // 어댑터 그룹 이름
|
||||
private String sAdapterName = null; // 어댑터 이름
|
||||
private String sGroupCode = null; // LU 그룹 이름
|
||||
|
||||
private int nLocalSessionIdx = 0; // Pool에 설정된 세션 수
|
||||
public LinkedList listWCASession = null; // Pool에 설정된 세션 리스트
|
||||
|
||||
private String sAutoBackupCvsYN = null; // 자동 BACKUP 모드 (Y: yes , N: No)
|
||||
|
||||
// BACKUP 전환 FLAG를 하나만 세팅 --> 수동 백업 복귀시 무조건 정상세션으루 전환하기 위함
|
||||
private boolean bBackupMode = false; // BACKUP 전환 FLAG
|
||||
|
||||
// 20090810 Start
|
||||
private boolean bBackupEnableFlag = true; // 백업 기능 사용 가능 여부
|
||||
// 20090810 End
|
||||
|
||||
private boolean bBackupSessionPool = false; // Backup Pool 여부 (true: 백업 세션)
|
||||
|
||||
private boolean bLogYN = true; // 로깅 여부
|
||||
private int nLogLevel = 1; // 로그 레벨
|
||||
private int nLogSize = 4; // 로그 파일 사이즈
|
||||
|
||||
private int tran_timeout = WCADefine.DEFAULT_TRANSACTION_TIMEOUT ; // 트랜잭션 타임아웃
|
||||
|
||||
private boolean isStarted = false; // Pool 동작 여부 (true : 동작중)
|
||||
|
||||
// 20090810
|
||||
public boolean getBackupEnableFlag() {
|
||||
return bBackupEnableFlag;
|
||||
}
|
||||
|
||||
public void setBackupEnableFlag(boolean bBackupEnableFlag) {
|
||||
this.bBackupEnableFlag = bBackupEnableFlag;
|
||||
return;
|
||||
}
|
||||
// 20090810 End
|
||||
|
||||
/**
|
||||
* 1. 기능 : 노드 이름 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sNodName 노드이름
|
||||
**/
|
||||
public void setNodeName(String s_node_name) {
|
||||
if (s_node_name == null ) { s_node_name = ""; }
|
||||
this.sNodeName = s_node_name.trim();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 노드 이름 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 노드이름
|
||||
**/
|
||||
public String getNodeName() {
|
||||
return this.sNodeName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : WCA 세션 POOL Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sIpAddr Softlink Ip 주소
|
||||
* @param nPortNo SoftLink Port 번호
|
||||
* @param nSessId WCA 세션 수
|
||||
**/
|
||||
public WCASessionPool(String sIpAddr, int nPortNo, int nSessNum) {
|
||||
this.sIpAddr = sIpAddr;
|
||||
this.nPortNo = nPortNo;
|
||||
this.nSessNum = nSessNum;
|
||||
listWCASession = new LinkedList();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 세션 Pool 정보 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sAdapterGroupName 어댑터 그룹 이름
|
||||
* @param sAdapterName 어댑터 이름
|
||||
* @param sGrpCode LU 그룹 이름
|
||||
**/
|
||||
public void setSessionPoolInfo(String sAdapterGroupName, String sAdapterName, String sGroupCode) {
|
||||
this.sAdapterGroupName = sAdapterGroupName;
|
||||
this.sAdapterName = sAdapterName;
|
||||
this.sGroupCode = sGroupCode;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 1. 기능 : 세션 Pool 정보 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 세션 Pool 정보
|
||||
**/
|
||||
public String toString() {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
sb.append(" " + sNodeName + "-" + sGroupCode );
|
||||
if (bBackupSessionPool) { sb.append(":BACAKUP "); }
|
||||
else { sb.append(" "); }
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 어댑터 그룹 이름 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 어댑터 그룹 이름
|
||||
**/
|
||||
public String getAdapterGroupName() {
|
||||
return sAdapterGroupName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 어댑터 이름 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 어댑터 이름
|
||||
**/
|
||||
public String getAdapterName() {
|
||||
return sAdapterName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Softlink Ip 주소 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return Softlink Ip 주소 반환
|
||||
**/
|
||||
public String getHostName() {
|
||||
return sIpAddr;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Softlink Port 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return Softlink Ip Port 반환
|
||||
**/
|
||||
public int getPort() {
|
||||
return nPortNo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 그룹 이름 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return LU 그룹 이름
|
||||
**/
|
||||
public String getGroupCode() {
|
||||
return sGroupCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : WCA 세션 수 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return WCA 세션 수 반환
|
||||
**/
|
||||
public int getSessNum() {
|
||||
return nSessNum;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Sotlink 세션 정보 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sIpAddr Softlink Ip 주소
|
||||
* @param nPortNo SoftLink Port 번호
|
||||
* @param nSessNum WCA 세션 수
|
||||
**/
|
||||
public void setSessionInfo(String sNodeName, String sIpAddr, int nPortNo, int nSessNum) {
|
||||
this.sNodeName = sNodeName;
|
||||
this.sIpAddr = sIpAddr;
|
||||
this.nPortNo = nPortNo;
|
||||
this.nSessNum = nSessNum;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 트랜잭션 타임아웃 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param timeout 트랜잭션 타임아웃
|
||||
**/
|
||||
public void setTranTimeout(int timeout) {
|
||||
this.tran_timeout = timeout;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 1. 기능 : 트랜잭션 타임아웃 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 트랜잭션 타임아웃
|
||||
**/
|
||||
public int getTranTimeout() {
|
||||
return this.tran_timeout;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 1. 기능 : 세션 Pool이 동작 여부 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 세션 Pool이 동작 여부
|
||||
**/
|
||||
public boolean isStarted() {
|
||||
return isStarted;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 1. 기능 : 로그 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param bLogYN 로깅 여부
|
||||
* @param nLogLevel 로깅 레벨
|
||||
* @param nLogSize 로깅 파일 사이즈
|
||||
**/
|
||||
public void setLogInfo(boolean bLogYN, int nLogLevel, int nLogSize) {
|
||||
this.bLogYN = bLogYN;
|
||||
this.nLogLevel = nLogLevel;
|
||||
this.nLogSize = nLogSize;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 세션 정보 갱신
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sessgroup LU 세션 그룹 정보
|
||||
**/
|
||||
public void updateLuGroupInfoEx(SessionGroupDataEx sessgroup) {
|
||||
WCASession wcaSession = null;
|
||||
|
||||
String sLogStr = "[" + sNodeName + "][" + sGroupCode + "]";
|
||||
|
||||
if (bBackupSessionPool) {
|
||||
sLogStr += "[BACAKUP]";
|
||||
}
|
||||
|
||||
// 로컬 세션 Pool인 경우
|
||||
if (!isBackupSessionPool()) {
|
||||
adapter_logger.warn("WCASessionPool:updateLuGroupInfoEx> " + sLogStr + " 세션 정보 설정, Value = [" + sessgroup.getNodeName() + "][" +
|
||||
sessgroup.getSoftLinkSevrName() + "][" + sessgroup.getPort() + "][" + sessgroup.getSessionCnt() + "]");
|
||||
setSessionInfo(sessgroup.getNodeName(), sessgroup.getSoftLinkSevrName(), sessgroup.getPort(), sessgroup.getSessionCnt());
|
||||
|
||||
adapter_logger.warn("WCASessionPool:updateLuGroupInfoEx> " + sLogStr + " 백업 전환 모드 설정");
|
||||
setBackupCvsInfo(sessgroup.getBackupCvsMode());
|
||||
}
|
||||
// 백업 세션 Pool인 경우
|
||||
else {
|
||||
adapter_logger.warn("WCASessionPool:updateLuGroupInfoEx> " + sLogStr + " 백업 세션 정보 설정, Value = [" + sessgroup.getNodeName() + "][" +
|
||||
sessgroup.getBackupNodeName() + "][" + sessgroup.getBackupPort() + "][" + sessgroup.getSessionCnt() + "]");
|
||||
setSessionInfo(sessgroup.getNodeName(), sessgroup.getBackupNodeName(), sessgroup.getBackupPort(), sessgroup.getSessionCnt());
|
||||
}
|
||||
|
||||
adapter_logger.warn("WCASessionPool:updateLuGroupInfoEx> " + sLogStr + " 로그 관련 정보 설정, Value = [" + sessgroup.isLogWritable() + "][" +
|
||||
sessgroup.getLogLevel() + "][" + sessgroup.getLogSize() + "]");
|
||||
setLogInfo(sessgroup.isLogWritable(), sessgroup.getLogLevel(), sessgroup.getLogSize());
|
||||
|
||||
adapter_logger.warn("WCASessionPool:updateLuGroupInfoEx> " + sLogStr + " 트랜잭션 타임아웃 값 설정, Value = " + sessgroup.getTranTimeout());
|
||||
setTranTimeout(sessgroup.getTranTimeout());
|
||||
|
||||
// 백업 세션 사용 가능 여부 플래그 설정
|
||||
adapter_logger.warn("WCASessionPool:updateLuGroupInfoEx> " + sLogStr + " 백업 세션 사용 가능 여부 플래그 설정, Value = " + sessgroup.getBackupEnableFlag());
|
||||
setBackupEnableFlag(sessgroup.getBackupEnableFlag());
|
||||
|
||||
// 세션 풀 안에 존재하는 WCA Session 오브젝트 정보 갱니
|
||||
for (int i = 0; i < listWCASession.size(); i++) {
|
||||
wcaSession = (WCASession)listWCASession.get(i);
|
||||
if (wcaSession == null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
wcaSession.updateSessionInfoEx(sessgroup);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : WCA APP CODE 정보 갱신 (updateLuGroupInfoEx 함수를 참조하여 개발)
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sessgroup LU 세션 그룹 정보
|
||||
**/
|
||||
public void updateWcaAppCodeEx() {
|
||||
WCASession wcaSession = null;
|
||||
|
||||
// 세션 풀 안에 존재하는 WCA Session 오브젝트 정보 갱니
|
||||
for (int i = 0; i < listWCASession.size(); i++) {
|
||||
wcaSession = (WCASession)listWCASession.get(i);
|
||||
if (wcaSession == null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
wcaSession.updateWcaAppCodeEx();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 백업 정보 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sAutoBackupCvsYN 자동 백업 전환 여부
|
||||
**/
|
||||
public void setBackupCvsInfo(String sAutoBackupCvsYN) {
|
||||
this.sAutoBackupCvsYN = sAutoBackupCvsYN;
|
||||
}
|
||||
|
||||
public String getBackupCvsInfo() {
|
||||
return sAutoBackupCvsYN;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 백업 세션 여부 설정 (true: 백업 세션)
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param flag 백업 세션 여부
|
||||
**/
|
||||
public void setBackupSessionPool(boolean flag) {
|
||||
bBackupSessionPool = flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 백업 세션 여부 반환 (true: 백업 세션)
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 백업 세션 여부
|
||||
**/
|
||||
public boolean isBackupSessionPool() {
|
||||
return bBackupSessionPool;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 수동 백업 세션 전환 설정 (true : 백업 세션, false : 세션 복구)
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param flag 백업 전환 모드
|
||||
**/
|
||||
public void setManualBackupMode(boolean flag) {
|
||||
// bManualBackupMode = flag;
|
||||
bBackupMode = flag;
|
||||
|
||||
if (flag == true) {
|
||||
adapter_logger.warn("WCASessionPool:setManualBackupMode> " + toString() + "수동 백업모드로 전환되었습니다.");
|
||||
}
|
||||
else {
|
||||
adapter_logger.warn("WCASessionPool:setManualBackupMode> " + toString() + "수동 백업모드로 복구되었습니다.");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 자동 백업 세션 전환 설정 (true : 백업 세션, false : 세션 복구)
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param flag 백업 전환 모드
|
||||
**/
|
||||
public void setAutoBackupMode(boolean flag) {
|
||||
if (sAutoBackupCvsYN.equalsIgnoreCase(WCADefine.WCA_AUTO_BACKUP_CVS_MODE_YES)) {
|
||||
bBackupMode = flag;
|
||||
if (flag == true) {
|
||||
if (adapter_logger.isInfo()) { adapter_logger.info(toString() + "자동 백업 모드 메시지 수신하었습니다."); }
|
||||
}
|
||||
else {
|
||||
if (adapter_logger.isInfo()) { adapter_logger.info(toString() + "자동 백업 복구 메세지 수신하였습니다."); }
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (flag == true) {
|
||||
if (adapter_logger.isInfo()) { adapter_logger.info(toString() + "자동 백업 모드 메시지 수신하었습니다. 자동 백업 모드가 아닙니다."); }
|
||||
}
|
||||
else {
|
||||
if (adapter_logger.isInfo()) { adapter_logger.info(toString() + "자동 백업 복구 메세지 수신하였습니다. 자동 백업 모드가 아닙니다."); }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setWCAAutoBackup() {
|
||||
if (sAutoBackupCvsYN.equalsIgnoreCase(WCADefine.WCA_AUTO_BACKUP_CVS_MODE_YES)) {
|
||||
bBackupMode = true;
|
||||
adapter_logger.warn(toString() + "가용율이 0입니다. 백업 모드로 전환합니다.");
|
||||
}
|
||||
else {
|
||||
adapter_logger.warn(toString() + "가용율이 0입니다. 자동 백업 모드가 아닙니다.");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 백업 모드로 전환되었는지 판단 (true: 백업 세션)
|
||||
* 2. 처리 개요 :
|
||||
* 다음의 경우 백업 모드로 전환
|
||||
* - 수동 백업 전환 메세지 수신한 경우
|
||||
* - 자동 백업 모드가 YES 이고 자동 백업 전환 메세지 수신한 경우
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 백업 전환 여부
|
||||
**/
|
||||
public boolean getBackupMode() {
|
||||
return bBackupMode;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Softlink와 연결된 세션수를 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return Softlink와 연결된 세션수
|
||||
**/
|
||||
public int getConnectedSessNum() {
|
||||
int nTotalSessNum = 0;
|
||||
WCASession wcaSession = null;
|
||||
|
||||
for (int i = 0; i < nSessNum; i++) {
|
||||
if (listWCASession.size() <= i) { break; }
|
||||
wcaSession = (WCASession)listWCASession.get(i);
|
||||
nTotalSessNum += wcaSession.getConnectedSessNum();
|
||||
}
|
||||
|
||||
return nTotalSessNum;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Softlink와 설정된 세션수를 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return Softlink와 설정된 세션수
|
||||
**/
|
||||
public int getConfiguredSessNum() {
|
||||
return nSessNum;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 세션 Pool 초기화
|
||||
* 2. 처리 개요 :
|
||||
* - WCA 세션 수 만큼 WCASession을 생성 및 초기화한다.
|
||||
* - WCA 세션 리스트에 추가한다.
|
||||
* - isStarted를 true 로 설정한다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
**/
|
||||
// 20200603 Start
|
||||
// 백업 세션 연결 처리를 위해서 WCA Session Thread에 의해서 호출되는 경우, 백업 세션이 정해진 세션수보다 늘어나는 것을 방지하기 위해서 synchronized 함수로 변경
|
||||
// public void initAndStartWcaSessionInSessionPool() {
|
||||
public synchronized void initAndStartWcaSessionInSessionPool() {
|
||||
// 20200603 end
|
||||
WCASession wcaSession = null;
|
||||
int wcsSessionCount = 0;
|
||||
|
||||
// 20200603 Start
|
||||
// isStarted 값 설정 위치를 함수 시작 위치로 이동
|
||||
adapter_logger.error("WCASessionPool:initAndStartWcaSessionInSessionPool> " + toString() + ", Start, Set isStarted = true");
|
||||
isStarted = true;
|
||||
// 20200603 End
|
||||
|
||||
for (int i = 0; i < nSessNum; i++) {
|
||||
// 20200603 Start
|
||||
synchronized (listWCASession) {
|
||||
wcsSessionCount = listWCASession.size();
|
||||
}
|
||||
|
||||
if (wcsSessionCount >= nSessNum) {
|
||||
adapter_logger.error("WCASessionPool:initAndStartWcaSessionInSessionPool> " + toString() + ", Already Max Session Count");
|
||||
break;
|
||||
}
|
||||
// 20200603 End
|
||||
|
||||
wcaSession = new WCASession(sIpAddr, nPortNo, sAdapterGroupName, sAdapterName, sGroupCode, i);
|
||||
wcaSession.setBackupSessionPool(bBackupSessionPool);
|
||||
wcaSession.setLogInfo(bLogYN, nLogLevel, nLogSize);
|
||||
wcaSession.setTranTimeout(tran_timeout);
|
||||
|
||||
// 20090810 Start
|
||||
wcaSession.setNodeName(sNodeName);
|
||||
wcaSession.setBackupEnableFlag(bBackupEnableFlag);
|
||||
// 20090810 End
|
||||
|
||||
wcaSession.initWCASession();
|
||||
|
||||
adapter_logger.error("WCASessionPool:initAndStartWcaSessionInSessionPool> " + toString() + ", Add wcaSession to listWCASession");
|
||||
|
||||
synchronized (listWCASession) {
|
||||
listWCASession.addLast(wcaSession);
|
||||
}
|
||||
}
|
||||
|
||||
// 20200603 Start
|
||||
// isStarted 값 설정 위치를 함수 시작 위치로 이동
|
||||
/*
|
||||
adapter_logger.error("WCASessionPool:initAndStartWcaSessionInSessionPool> " + toString() + ", Set isStarted = true");
|
||||
isStarted = true;
|
||||
*/
|
||||
// 20200603 End
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 세션 수 추가
|
||||
* 2. 처리 개요 :
|
||||
* - 증가한 세션수 만큼 WCASession을 생성 및 초기화한다.
|
||||
* - WCA 세션 리스트에 추가한다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
**/
|
||||
public void increaseSessionPool(int nOldSessNum, int nNewSessNum) {
|
||||
WCASession wcaSession = null;
|
||||
|
||||
if (adapter_logger.isDebug()) { adapter_logger.debug(toString() + " increaseSessionPool is starting"); }
|
||||
|
||||
for (int i = nOldSessNum; i < nNewSessNum; i++) {
|
||||
wcaSession = new WCASession(sIpAddr, nPortNo, sAdapterGroupName, sAdapterName, sGroupCode, i);
|
||||
wcaSession.setBackupSessionPool(bBackupSessionPool);
|
||||
wcaSession.setLogInfo(bLogYN, nLogLevel, nLogSize);
|
||||
wcaSession.setTranTimeout(tran_timeout);
|
||||
|
||||
wcaSession.initWCASession();
|
||||
|
||||
synchronized (listWCASession) {
|
||||
listWCASession.addLast(wcaSession);
|
||||
}
|
||||
}
|
||||
|
||||
adapter_logger.warn("WCASessionPool:increaseSessionPool> " + toString() + " " + (nNewSessNum - nOldSessNum) + " 세션이 증가하였습니다. ");
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 세션 Pool 종료
|
||||
* 2. 처리 개요 :
|
||||
* - WCA 세션 리스트에 등록된 WCA 세션의 stopAdapter를 호출한다.
|
||||
* 3. 주의사항
|
||||
**/
|
||||
public void stopAdapter() {
|
||||
String strLogPrefix = getLogPrefix();
|
||||
|
||||
adapter_logger.warn("WCASessionPool:stopAdapter> " + strLogPrefix + " Start To Stop WCA Session List");
|
||||
adapter_logger.warn("WCASessionPool:stopAdapter> " + strLogPrefix + " WCA Session Count = " + listWCASession.size());
|
||||
|
||||
for (int i = 0; i < listWCASession.size(); i++) {
|
||||
WCASession wcaSession = (WCASession)listWCASession.get(i);
|
||||
wcaSession.stopAdapter();
|
||||
}
|
||||
|
||||
adapter_logger.warn("WCASessionPool:stopAdapter> " + strLogPrefix + " Clear WCA Session List");
|
||||
synchronized (listWCASession) {
|
||||
listWCASession.clear();
|
||||
}
|
||||
|
||||
adapter_logger.warn("WCASessionPool:stopAdapter> " + strLogPrefix + " Set isStarted Flag to False");
|
||||
isStarted = false;
|
||||
|
||||
adapter_logger.warn("WCASessionPool:stopAdapter> " + strLogPrefix + " Start To Stop WCA Session List");
|
||||
}
|
||||
|
||||
public String getLogPrefix() {
|
||||
StringBuffer sbLogPrefix = new StringBuffer();
|
||||
sbLogPrefix.append("[" + sAdapterGroupName + "][" + sNodeName + "]["+ sGroupCode + "]");
|
||||
if (bBackupSessionPool) {
|
||||
sbLogPrefix.append("[BACAKUP]");
|
||||
}
|
||||
|
||||
return sbLogPrefix.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : INBOUND 핸들러 등록
|
||||
* 2. 처리 개요 :
|
||||
* - WCA 세션 리스트에 등록된 WCA 세션에 INBOUND 핸들러 등록한다.
|
||||
* 3. 주의사항
|
||||
**/
|
||||
public void registerEventHandler(Object objHandler) {
|
||||
int i;
|
||||
WCASession wcaSession = null;
|
||||
|
||||
for (i = nLocalSessionIdx; i < listWCASession.size(); i++) {
|
||||
wcaSession = (WCASession)listWCASession.get(i);
|
||||
wcaSession.registerEventHandler(objHandler);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 1. 기능 : WCA 세션을 반환
|
||||
* 2. 처리 개요 :
|
||||
* - 세션 Pool이 송신 가능한지 판단한다. (트랜잭션 모드가 "S" 일경우)
|
||||
* - WCA 세션풀내에서 이용가능한 세션을 부하 분산울 위해서 라운드 로빈 방식으로 구한다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return WCASession WCA 세션
|
||||
**/
|
||||
public synchronized WCASession getWCASessionInSessionPool() {
|
||||
WCASession wcaSession = null;
|
||||
int i = 0;
|
||||
|
||||
// 해당 세션이 없을 경우
|
||||
if (listWCASession.size() == 0) {
|
||||
if (trc_logger.isInfo()) {
|
||||
trc_logger.info("getWCASessionInSessionPool] - listWCASession Size = 0 " + toString());
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
// WCA 세션 풀에서 부하 분산을 위해서 라운드 로빈 방식으로 WCA 세션을 구함
|
||||
nLocalSessionIdx = nLocalSessionIdx % listWCASession.size();
|
||||
for (i = nLocalSessionIdx; i < listWCASession.size(); i++) {
|
||||
wcaSession = (WCASession)listWCASession.get(i);
|
||||
if (wcaSession.isAvailable()) {
|
||||
nLocalSessionIdx++;
|
||||
return wcaSession;
|
||||
}
|
||||
}
|
||||
|
||||
if (i == listWCASession.size()) {
|
||||
for (i = 0; i < nLocalSessionIdx; i++) {
|
||||
wcaSession = (WCASession)listWCASession.get(i);
|
||||
if (wcaSession.isAvailable()) {
|
||||
nLocalSessionIdx++;
|
||||
return wcaSession;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
nLocalSessionIdx++;
|
||||
//trc_logger.error("getWCASessionInSessionPool] Available Session doesn't Exist...." + toString() );
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public int getPortNo() {
|
||||
return nPortNo;
|
||||
}
|
||||
|
||||
public void setPortNo(int nPortNo) {
|
||||
this.nPortNo = nPortNo;
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,123 @@
|
||||
package com.eactive.eai.adapter.wca.cfg;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 정보 Object 클래스
|
||||
* 2. 처리 개요 : LU 정보를 Get/Set 한다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see : Serializable
|
||||
* @since :
|
||||
*/
|
||||
public class LUHostDataEx implements Serializable
|
||||
{
|
||||
/**
|
||||
* SNA 어댑터 서버 이름
|
||||
*/
|
||||
private String sSNAAdptrSevrName;
|
||||
/**
|
||||
* SNA 어댑터 서버 IP 주소
|
||||
*/
|
||||
private String sSNAAdptrSevrIPName;
|
||||
/**
|
||||
* SNA 어댑터 서버 Comment
|
||||
*/
|
||||
private String sSNAAdptrSevrCtnt;
|
||||
|
||||
/**
|
||||
* 1. 기능 : Defualt Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
**/
|
||||
public LUHostDataEx() {
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : SNA 어댑터 서버 이름 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sSNAAdptrSevrName SNA 어댑터 서버 이름
|
||||
**/
|
||||
public void setSNAAdptrSevrName(String sSNAAdptrSevrName) {
|
||||
if (sSNAAdptrSevrName == null) { sSNAAdptrSevrName = ""; }
|
||||
this.sSNAAdptrSevrName = sSNAAdptrSevrName.trim();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : SNA 어댑터 서버 이름 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return SNA 어댑터 서버 이름
|
||||
**/
|
||||
public String getSNAAdptrSevrName() {
|
||||
return this.sSNAAdptrSevrName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : SNA 어댑터 서버 IP 주소 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sSNAAdptrSevrIPName SNA 어댑터 서버 IP 주소
|
||||
**/
|
||||
public void setSNAAdptrSevrIPName(String sSNAAdptrSevrIPName) {
|
||||
if (sSNAAdptrSevrIPName == null) { sSNAAdptrSevrIPName = ""; }
|
||||
this.sSNAAdptrSevrIPName = sSNAAdptrSevrIPName.trim();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : SNA 어댑터 서버 IP 주소 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return SNA 어댑터 서버 IP 주소
|
||||
**/
|
||||
public String getSNAAdptrSevrIPName() {
|
||||
return this.sSNAAdptrSevrIPName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : SNA 어댑터 서버 Comment 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sSNAAdptrSevrCtnt SNA 어댑터 서버 Comment
|
||||
**/
|
||||
public void setSNAAdptrSevrCtnt(String sSNAAdptrSevrCtnt) {
|
||||
if (sSNAAdptrSevrCtnt == null) { sSNAAdptrSevrCtnt = ""; }
|
||||
this.sSNAAdptrSevrCtnt = sSNAAdptrSevrCtnt.trim();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : SNA 어댑터 서버 Comment 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return SNA 어댑터 서버 Comment
|
||||
**/
|
||||
public String getSNAAdptrSevrCtnt() {
|
||||
return this.sSNAAdptrSevrCtnt;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 정보 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return LU 정보
|
||||
**/
|
||||
public String toString() {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
sb.append("LUHostData[ 어댑터 서버 이름 =").append(sSNAAdptrSevrName);
|
||||
sb.append(", 어댑터 서버 IP =").append(sSNAAdptrSevrIPName);
|
||||
sb.append(", 어댑터 서버 설명 =").append(sSNAAdptrSevrCtnt);
|
||||
sb.append(" ]");
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,103 @@
|
||||
package com.eactive.eai.adapter.wca.cfg;
|
||||
|
||||
import com.eactive.eai.adapter.wca.jdbc.BaseJDBC;
|
||||
import com.eactive.eai.adapter.wca.jdbc.JDBCException;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
|
||||
import java.sql.SQLException;
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 호스트 테이블을 접근하기 위한 JDBC 클래스
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see : LUHostQuery.java
|
||||
* @since :
|
||||
*/
|
||||
public class LUHostJDBCEx extends BaseJDBC implements LUHostQueryEx
|
||||
{
|
||||
Logger trc_logger = Logger.getLogger(Logger.LOGGER_ADAPTER);
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 호스트 정보 추가
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param data LUHostData Object
|
||||
* @return 추가된 레코드 수
|
||||
* @exception JDBCException DB 작업시 발행하는 예외 발생 정보 (SQLException 에러코드와 메세지 포함)
|
||||
**/
|
||||
public int insertLUHost(LUHostDataEx data) throws JDBCException {
|
||||
try {
|
||||
getDsConnection();
|
||||
setStatement(INSERT_LU_HOST);
|
||||
|
||||
this.preparedStatement.setString(1,data.getSNAAdptrSevrName());
|
||||
this.preparedStatement.setString(2,data.getSNAAdptrSevrIPName());
|
||||
this.preparedStatement.setString(3,data.getSNAAdptrSevrCtnt());
|
||||
|
||||
return executeUpdate();
|
||||
}
|
||||
catch(SQLException e) {
|
||||
throw new JDBCException("LUHostJDBC","insertLUHost",e);
|
||||
}
|
||||
finally {
|
||||
this.close();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 호스트 정보 삭제
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param data LUHostData Object
|
||||
* @return 삭제된 레코드 수
|
||||
* @exception JDBCException DB 작업시 발행하는 예외 발생 정보 (SQLException 에러코드와 메세지 포함)
|
||||
**/
|
||||
public int deleteLUHost(LUHostDataEx data) throws JDBCException {
|
||||
try {
|
||||
getDsConnection();
|
||||
setStatement(DELETE_LU_HOST);
|
||||
this.preparedStatement.setString(1,data.getSNAAdptrSevrName());
|
||||
|
||||
return executeUpdate();
|
||||
}
|
||||
catch(SQLException e) {
|
||||
throw new JDBCException("LUHostJDBC","deleteLUHost",e);
|
||||
}
|
||||
finally {
|
||||
this.close();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 호스트 정보 수정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param data LUHostData Object
|
||||
* @return 수정된 레코드 수
|
||||
* @exception JDBCException DB 작업시 발행하는 예외 발생 정보 (SQLException 에러코드와 메세지 포함)
|
||||
**/
|
||||
public int updateLUHost(LUHostDataEx data) throws JDBCException {
|
||||
try {
|
||||
getDsConnection();
|
||||
setStatement(UPDATE_LU_HOST);
|
||||
this.preparedStatement.setString(1,data.getSNAAdptrSevrIPName());
|
||||
this.preparedStatement.setString(2,data.getSNAAdptrSevrCtnt());
|
||||
this.preparedStatement.setString(3,data.getSNAAdptrSevrName());
|
||||
|
||||
return executeUpdate();
|
||||
}
|
||||
catch(SQLException e) {
|
||||
throw new JDBCException("LUHostJDBC","updateLUHost",e);
|
||||
}
|
||||
finally {
|
||||
this.close();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package com.eactive.eai.adapter.wca.cfg;
|
||||
|
||||
import com.eactive.eai.adapter.wca.servlet.TableInfoEx;
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 호스트 관리 SQL Query문을 정의한 인터페이스
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see : 관련 기능을 참조
|
||||
* @since :
|
||||
*/
|
||||
public interface LUHostQueryEx
|
||||
{
|
||||
/**
|
||||
* 노드 이름에 해당하는 LU 호스트 SELECT QUERY
|
||||
*/
|
||||
public static final String GET_ALL_LU_HOST = "SELECT SNAAdptrSevrName, SNAAdptrSevrIPName, SNAAdptrSevrCtnt " +
|
||||
"FROM " + TableInfoEx.T_LU_HOST + " where 1=1 " +
|
||||
" ORDER BY SNAAdptrSevrName ";
|
||||
/**
|
||||
* LU 호스트 INSERT QUERY
|
||||
*/
|
||||
public static final String INSERT_LU_HOST = "INSERT INTO "+ TableInfoEx.T_LU_HOST +
|
||||
" (SNAAdptrSevrName, SNAAdptrSevrIPName, SNAAdptrSevrCtnt ) " +
|
||||
"VALUES(?, ?, ?)";
|
||||
|
||||
/**
|
||||
* LU 호스트 DELETE QUERY
|
||||
*/
|
||||
public static final String DELETE_LU_HOST = "DELETE FROM "+ TableInfoEx.T_LU_HOST +
|
||||
" WHERE SNAAdptrSevrName=?";
|
||||
|
||||
/**
|
||||
* LU 호스트 UPDATE QUERY
|
||||
*/
|
||||
public static final String UPDATE_LU_HOST = "UPDATE "+ TableInfoEx.T_LU_HOST +
|
||||
" SET SNAAdptrSevrIPName=?, SNAAdptrSevrCtnt=? " +
|
||||
"WHERE SNAAdptrSevrName=? ";
|
||||
}
|
||||
@@ -0,0 +1,416 @@
|
||||
package com.eactive.eai.adapter.wca.cfg;
|
||||
|
||||
import com.eactive.eai.adapter.wca.global.WCADefine;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 정보 Object 클래스
|
||||
* 2. 처리 개요 : LU 정보를 Get/Set 한다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see : Serializable
|
||||
* @since :
|
||||
*/
|
||||
public class LUInfoDataEx implements Serializable
|
||||
{
|
||||
/**
|
||||
* 노드 정보 (SNA 어댑터가 구동하는 서버 이름)
|
||||
*/
|
||||
private String nodeName;
|
||||
/**
|
||||
* EAI 어댑터 그룹 이름
|
||||
*/
|
||||
private String adpterGroupName;
|
||||
/**
|
||||
* LU 그룹 이름
|
||||
*/
|
||||
private String groupName;
|
||||
/**
|
||||
* PU 이름
|
||||
*/
|
||||
private String puName;
|
||||
/**
|
||||
* LU 이름
|
||||
*/
|
||||
private String luName;
|
||||
/**
|
||||
* 송수신 모드 : RR(‘1’)/Dedicated(’2’)/ RNR-Send(‘3’)/RNR-Recv(‘4’)
|
||||
*/
|
||||
private String tranMode;
|
||||
/**
|
||||
* LU 세션을 ACTIVE하기 위해 Connection Point로 사용하는 HOST측 Application을 의미하는 ID값
|
||||
*/
|
||||
private String applyID;
|
||||
|
||||
/**
|
||||
* 백업 LU 여부
|
||||
*/
|
||||
private String backupLUYN;
|
||||
/**
|
||||
* 로그 기록 여부
|
||||
*/
|
||||
private String logYN;
|
||||
/**
|
||||
* 로그 레벨
|
||||
*/
|
||||
private String StringlogLevel;
|
||||
/**
|
||||
* 로그 사이즈 (단위 : M)
|
||||
*/
|
||||
private int logSize;
|
||||
|
||||
// 20080527 Start
|
||||
/**
|
||||
* 원격 LU 여부
|
||||
*/
|
||||
private String rmtLUYN;
|
||||
// 20080527 Start
|
||||
|
||||
/**
|
||||
* 1. 기능 : Defualt Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
**/
|
||||
public LUInfoDataEx() {
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sNodName 노드이름
|
||||
**/
|
||||
public LUInfoDataEx(String sNodName) {
|
||||
this.nodeName = sNodName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 노드 이름 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sNodName 노드이름
|
||||
**/
|
||||
public void setNodeName(String sNodName) {
|
||||
if (sNodName == null) { sNodName = ""; }
|
||||
this.nodeName = sNodName.trim();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 노드 이름 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 노드이름
|
||||
**/
|
||||
public String getNodeName() {
|
||||
return this.nodeName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 어댑터 그룹 이름 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sAdapterGroupName 어댑터 그룹 이름
|
||||
**/
|
||||
public void setAdapterGroupName(String sAdapterGroupName) {
|
||||
if (sAdapterGroupName == null) { sAdapterGroupName = ""; }
|
||||
this.adpterGroupName = sAdapterGroupName.trim();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 어댑터 그룹 이름 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 어댑터 그룹 이름
|
||||
**/
|
||||
public String getAdapterGroupName() {
|
||||
return this.adpterGroupName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 그룹 이름 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sGroupName LU 그룹 이름
|
||||
**/
|
||||
public void setGroupName(String sGroupName) {
|
||||
if (sGroupName == null) { sGroupName = ""; }
|
||||
this.groupName = sGroupName.trim();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 그룹 이름 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return LU 그룹 이름
|
||||
**/
|
||||
public String getGroupName() {
|
||||
return this.groupName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : PU 이름 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sPUName PU 이름
|
||||
**/
|
||||
public void setPUName(String sPUName) {
|
||||
if (sPUName == null) { sPUName = ""; }
|
||||
this.puName = sPUName.trim();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : PU 이름 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return PU 이름
|
||||
**/
|
||||
public String getPUName() {
|
||||
return this.puName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 이름 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sLUName LU 이름
|
||||
**/
|
||||
public void setLUName(String sLUName) {
|
||||
if (sLUName == null) { sLUName = ""; }
|
||||
this.luName = sLUName.trim();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 이름 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return LU 이름
|
||||
**/
|
||||
public String getLUName() {
|
||||
return this.luName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 송수신 모드 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sTranMode 송수신 모드
|
||||
**/
|
||||
public void setTranMode(String sTranMode) {
|
||||
if (sTranMode == null) { sTranMode = ""; }
|
||||
this.tranMode = sTranMode.trim();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 송수신 모드 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 송수신 모드
|
||||
**/
|
||||
public String getTranMode() {
|
||||
return this.tranMode;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 송신 가능 여부 반환
|
||||
* 2. 처리 개요 : RECV_ONLY 모드가 아닌경우 true 반환
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 송신가능 여부
|
||||
**/
|
||||
public boolean isSendable() {
|
||||
if (!tranMode.equals(WCADefine.LU_TRAN_MODE_RECV_ONLY)) {
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Application ID 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sApplyID Application ID
|
||||
**/
|
||||
public void setApplyID(String sApplyID) {
|
||||
if (sApplyID == null) { sApplyID = ""; }
|
||||
this.applyID = sApplyID.trim();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Application ID 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return Application ID
|
||||
**/
|
||||
public String getApplyID() {
|
||||
return this.applyID;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 1. 기능 : 로그 기록 여부 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sLogYN 로그 기록 여부
|
||||
**/
|
||||
public void setLogYN(String sLogYN) {
|
||||
if (sLogYN == null) { sLogYN = WCADefine.DEFAULT_WCA_LOG; }
|
||||
logYN = sLogYN;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 로그 기록 여부 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 로그 기록 여부
|
||||
**/
|
||||
public String getLogYN() {
|
||||
return this.logYN;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 로그 기록 여부 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sLogYN 로그 기록 여부
|
||||
**/
|
||||
public void setBackupLUYN(String sBackupLUYN) {
|
||||
if (sBackupLUYN == null) { sBackupLUYN = WCADefine.DEFAULT_BACKUP_LU_NO; }
|
||||
backupLUYN = sBackupLUYN;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 백업 LU 여부
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 백업 LU 여부
|
||||
**/
|
||||
public String getBackupLUYN() {
|
||||
return this.backupLUYN;
|
||||
}
|
||||
|
||||
// 20080527 Start
|
||||
/**
|
||||
* 1. 기능 : 원격 LU 여부 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sRmtLUYN 원격 LU 여부
|
||||
**/
|
||||
public void setRmtLUYN(String sRmtLUYN) {
|
||||
if (sRmtLUYN == null) { sRmtLUYN = WCADefine.DEFAULT_REMOTE_LU_NO; }
|
||||
rmtLUYN = sRmtLUYN;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 원격 LU 여부
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 원격 LU 여부
|
||||
**/
|
||||
public String getRmtLUYN() {
|
||||
return this.rmtLUYN;
|
||||
}
|
||||
// 20080527 End
|
||||
|
||||
/**
|
||||
* 1. 기능 : 로그 레벨 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sLogLevel 로그 레벨
|
||||
**/
|
||||
public void setLogLevel(String sLogLevel) {
|
||||
if (sLogLevel == null) { sLogLevel = WCADefine.DEFAULT_WCA_STRING_LOG_LEVEL; }
|
||||
StringlogLevel = sLogLevel;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 로그 레벨 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 로그 레벨
|
||||
**/
|
||||
public String getStringLogLevel() {
|
||||
return this.StringlogLevel;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 로그 사이즈 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sLogLevel 로그 레벨사이즈
|
||||
**/
|
||||
public void setLogSize(String sLogSize) {
|
||||
try {
|
||||
if (sLogSize == null) { sLogSize = String.valueOf(WCADefine.DEFAULT_WCA_LOG_SIZE); }
|
||||
if (sLogSize!=null && sLogSize.equals("")) { sLogSize = String.valueOf(WCADefine.DEFAULT_WCA_LOG_SIZE); }
|
||||
this.logSize = Integer.parseInt(sLogSize.trim());
|
||||
}
|
||||
catch (Exception e) {
|
||||
this.logSize = WCADefine.DEFAULT_WCA_LOG_SIZE;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 로그 사이즈 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 로그 사이즈
|
||||
**/
|
||||
public int getLogSize() {
|
||||
return this.logSize;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 정보 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return LU 정보
|
||||
**/
|
||||
public String toString() {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
sb.append("LUInfoData[ 노드 =").append(nodeName);
|
||||
sb.append(", 어댑터 그룹 이름 =").append(adpterGroupName);
|
||||
sb.append(", LU 그룹 이름 =").append(groupName);
|
||||
sb.append(", PU 이름 =").append(puName);
|
||||
sb.append(", LU 이름 =").append(luName);
|
||||
sb.append(", 송수신 모드 =").append(tranMode);
|
||||
sb.append(", Application ID =").append(applyID);
|
||||
sb.append(", 백업 LU 여부 =").append(backupLUYN);
|
||||
sb.append(", 로그 기록 여부 =").append(logYN);
|
||||
sb.append(", 로그 레벨 =").append(StringlogLevel);
|
||||
sb.append(", 로그 사이즈 =").append(logSize);
|
||||
sb.append(" ]");
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,254 @@
|
||||
package com.eactive.eai.adapter.wca.cfg;
|
||||
|
||||
import com.eactive.eai.adapter.wca.jdbc.BaseJDBC;
|
||||
import com.eactive.eai.adapter.wca.jdbc.JDBCException;
|
||||
import com.eactive.eai.adapter.wca.util.DateUtil;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 정보 테이블을 접근하기 위한 JDBC 클래스
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see : LUInfoQuery.java
|
||||
* @since :
|
||||
*/
|
||||
public class LUInfoJDBCEx extends BaseJDBC implements LUInfoQueryEx
|
||||
{
|
||||
Logger trc_logger = Logger.getLogger(Logger.LOGGER_ADAPTER);
|
||||
|
||||
/**
|
||||
* 1. 기능 : 노드이름에 해당하는 모든 LU 정보 반환
|
||||
* 2. 처리 개요 : 검색된 LU 정보를 LUInfoData Object 저장한다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @params nodeName 노드 이름
|
||||
* @return HashMap 노드에 해당하는 모든 LU 정보를 저장한다.
|
||||
* @exception JDBCException DB 작업시 발행하는 예외 발생 정보 (SQLException 에러코드와 메세지 포함)
|
||||
**/
|
||||
/*
|
||||
public HashMap getLUInfos(String nodeName) throws JDBCException {
|
||||
ResultSet rs = null;
|
||||
|
||||
try {
|
||||
getDsConnection();
|
||||
setStatement(GET_ALL_LU_INFO);
|
||||
preparedStatement.setString(1, nodeName);
|
||||
rs = executeSelect();
|
||||
|
||||
HashMap luinfos = new HashMap();
|
||||
LUInfoData luinfo = null;
|
||||
while(rs.next()) {
|
||||
luinfo = new LUInfoData(rs.getString(1));
|
||||
luinfo.setAdapterGroupName(rs.getString(2));
|
||||
luinfo.setGroupName(rs.getString(3));
|
||||
luinfo.setPUName(rs.getString(4));
|
||||
luinfo.setLUName(rs.getString(5));
|
||||
luinfos.put(luinfo.getLUName(), luinfo);
|
||||
}
|
||||
trc_logger.debug("getLUInfos] luinfos size = " + luinfos.size());
|
||||
return luinfos;
|
||||
} catch(Exception e) {
|
||||
e.printStackTrace();
|
||||
throw new JDBCException("LUInfoJDBC","getLUInfos",e);
|
||||
} finally {
|
||||
this.close(rs);
|
||||
}
|
||||
}
|
||||
*/
|
||||
public HashMap getLUInfos(String nodeName) throws JDBCException {
|
||||
ResultSet rs = null;
|
||||
|
||||
try {
|
||||
getDsConnection();
|
||||
|
||||
// 20080827 Start
|
||||
/*
|
||||
setStatement(GET_ALL_LU_INFO);
|
||||
preparedStatement.setString(1, nodeName);
|
||||
*/
|
||||
setStatement(GET_ALL_NODE_LU_INFO);
|
||||
// 20080827 End
|
||||
rs = executeSelect();
|
||||
|
||||
// LU 정보 저장
|
||||
HashMap luInfos = new HashMap();
|
||||
|
||||
LUInfoDataEx luinfo = null;
|
||||
String sTranMode = null;
|
||||
String sGroupName = "";
|
||||
|
||||
/*
|
||||
public static final String GET_ALL_NODE_LU_INFO
|
||||
= "SELECT \"AdptrGstatSevrName\", \"AdptrGroupName\", \"LUGroupName\", \"PUName\", \"LUName\", \"SndrcvDstcd\" " +
|
||||
"FROM " + TableInfoEx.T_LU_INFO +
|
||||
" ORDER BY \"LUGroupName\", \"AdptrGstatSevrName\", \"AdptrGroupName\" ";
|
||||
*/
|
||||
|
||||
while (rs.next()) {
|
||||
sGroupName = rs.getString(3);
|
||||
sTranMode = rs.getString(6);
|
||||
luinfo = new LUInfoDataEx(rs.getString(1));
|
||||
luinfo.setAdapterGroupName(rs.getString(2));
|
||||
luinfo.setGroupName(sGroupName);
|
||||
luinfo.setPUName(rs.getString(4));
|
||||
luinfo.setLUName(rs.getString(5));
|
||||
luinfo.setTranMode(sTranMode);
|
||||
|
||||
luInfos.put(luinfo.getLUName(), luinfo);
|
||||
}
|
||||
|
||||
if(trc_logger.isDebug()) {
|
||||
trc_logger.debug("getLUInfos] luinfos size = " + luInfos.size());
|
||||
}
|
||||
|
||||
return luInfos;
|
||||
}
|
||||
catch (Exception e) {
|
||||
trc_logger.error("LUInfoJDBC", e);
|
||||
throw new JDBCException("LUInfoJDBC","getLUInfos",e);
|
||||
}
|
||||
finally {
|
||||
this.close(rs);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 1. 기능 : LU 정보 추가
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param data LUInfoData Object
|
||||
* @return 추가된 레코드 수
|
||||
* @exception JDBCException DB 작업시 발행하는 예외 발생 정보 (SQLException 에러코드와 메세지 포함)
|
||||
**/
|
||||
public int insertLUInfo(LUInfoDataEx data) throws JDBCException {
|
||||
try {
|
||||
DateUtil dateUtil = new DateUtil();
|
||||
String sDateTime = dateUtil.getDateMilliTime();
|
||||
getDsConnection();
|
||||
|
||||
setStatement(INSERT_LU_INFO);
|
||||
this.preparedStatement.setString(1,data.getNodeName());
|
||||
this.preparedStatement.setString(2,data.getAdapterGroupName());
|
||||
this.preparedStatement.setString(3,data.getGroupName());
|
||||
this.preparedStatement.setString(4,data.getPUName());
|
||||
this.preparedStatement.setString(5,data.getLUName());
|
||||
this.preparedStatement.setString(6,data.getTranMode());
|
||||
this.preparedStatement.setString(7,data.getApplyID());
|
||||
this.preparedStatement.setString(8,data.getBackupLUYN());
|
||||
this.preparedStatement.setString(9,data.getLogYN());
|
||||
this.preparedStatement.setString(10,data.getStringLogLevel());
|
||||
this.preparedStatement.setInt(11,data.getLogSize());
|
||||
this.preparedStatement.setString(12, sDateTime);
|
||||
this.preparedStatement.setString(13, sDateTime);
|
||||
|
||||
// 20080827 Start
|
||||
/*
|
||||
// 20080527 Start
|
||||
this.preparedStatement.setString(14,data.getRmtLUYN());
|
||||
// 20080527 End
|
||||
*/
|
||||
// 20080827 End
|
||||
|
||||
return executeUpdate();
|
||||
}
|
||||
catch (SQLException e) {
|
||||
throw new JDBCException("LUInfoJDBC", "insertLUInfo", e);
|
||||
}
|
||||
finally {
|
||||
this.close();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 정보 삭제
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param data LUInfoData Object
|
||||
* @return 삭제된 레코드 수
|
||||
* @exception JDBCException DB 작업시 발행하는 예외 발생 정보 (SQLException 에러코드와 메세지 포함)
|
||||
**/
|
||||
public int deleteLUInfo(LUInfoDataEx data) throws JDBCException {
|
||||
try {
|
||||
getDsConnection();
|
||||
setStatement(DELETE_LU_INFO);
|
||||
this.preparedStatement.setString(1,data.getNodeName());
|
||||
this.preparedStatement.setString(2,data.getAdapterGroupName());
|
||||
this.preparedStatement.setString(3,data.getGroupName());
|
||||
this.preparedStatement.setString(4,data.getPUName());
|
||||
this.preparedStatement.setString(5,data.getLUName());
|
||||
|
||||
return executeUpdate();
|
||||
}
|
||||
catch (SQLException e) {
|
||||
throw new JDBCException("LUInfoJDBC", "deleteLUInfo", e);
|
||||
}
|
||||
finally {
|
||||
this.close();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 정보 수정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param data LUInfoData Object
|
||||
* @return 수정된 레코드 수
|
||||
* @exception JDBCException DB 작업시 발행하는 예외 발생 정보 (SQLException 에러코드와 메세지 포함)
|
||||
**/
|
||||
public int updateLUInfo(LUInfoDataEx data) throws JDBCException {
|
||||
try {
|
||||
DateUtil dateUtil = new DateUtil();
|
||||
|
||||
getDsConnection();
|
||||
setStatement(UPDATE_LU_INFO);
|
||||
this.preparedStatement.setString(1,data.getTranMode());
|
||||
this.preparedStatement.setString(2,data.getApplyID());
|
||||
this.preparedStatement.setString(3,data.getBackupLUYN());
|
||||
this.preparedStatement.setString(4,data.getLogYN());
|
||||
this.preparedStatement.setString(5,data.getStringLogLevel());
|
||||
this.preparedStatement.setInt(6,data.getLogSize());
|
||||
this.preparedStatement.setString(7, dateUtil.getDateMilliTime());
|
||||
|
||||
// 20080827 Start
|
||||
// 20080527 Start
|
||||
/*
|
||||
this.preparedStatement.setString(8,data.getNodeName());
|
||||
this.preparedStatement.setString(9,data.getAdapterGroupName());
|
||||
this.preparedStatement.setString(10,data.getGroupName());
|
||||
this.preparedStatement.setString(11,data.getPUName());
|
||||
this.preparedStatement.setString(12,data.getLUName());
|
||||
*/
|
||||
/*
|
||||
this.preparedStatement.setString(8,data.getRmtLUYN());
|
||||
this.preparedStatement.setString(9,data.getNodeName());
|
||||
this.preparedStatement.setString(10,data.getAdapterGroupName());
|
||||
this.preparedStatement.setString(11,data.getGroupName());
|
||||
this.preparedStatement.setString(12,data.getPUName());
|
||||
this.preparedStatement.setString(13,data.getLUName());
|
||||
*/
|
||||
// 20080527 End
|
||||
this.preparedStatement.setString(8,data.getNodeName());
|
||||
this.preparedStatement.setString(9,data.getAdapterGroupName());
|
||||
this.preparedStatement.setString(10,data.getGroupName());
|
||||
this.preparedStatement.setString(11,data.getPUName());
|
||||
this.preparedStatement.setString(12,data.getLUName());
|
||||
// 20080827 End
|
||||
return executeUpdate();
|
||||
}
|
||||
catch (SQLException e) {
|
||||
throw new JDBCException("LUInfoJDBC", "updateLUInfo", e);
|
||||
}
|
||||
finally {
|
||||
this.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
package com.eactive.eai.adapter.wca.cfg;
|
||||
|
||||
import com.eactive.eai.adapter.wca.servlet.TableInfoEx;
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 정보 관리 SQL Query문을 정의한 인터페이스
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see : 관련 기능을 참조
|
||||
* @since :
|
||||
*/
|
||||
public interface LUInfoQueryEx
|
||||
{
|
||||
/**
|
||||
* 노드 이름에 해당하는 LU 정보 SELECT QUERY
|
||||
*/
|
||||
public static final String GET_ALL_LU_INFO = "SELECT ADPTRGSTATSEVRNAME, ADPTRGROUPNAME, LUGROUPNAME, PUNAME, LUNAME, SNDRCVDSTCD " +
|
||||
"FROM " + TableInfoEx.T_LU_INFO + " where ADPTRGSTATSEVRNAME=? " +
|
||||
" ORDER BY ADPTRGSTATSEVRNAME, ADPTRGROUPNAME, LUGROUPNAME ";
|
||||
|
||||
// 20080827 추가
|
||||
/**
|
||||
* 노드 이름에 상관없이 모든 LU 정보 SELECT QUERY
|
||||
*/
|
||||
public static final String GET_ALL_NODE_LU_INFO = "SELECT ADPTRGSTATSEVRNAME, ADPTRGROUPNAME, LUGROUPNAME, PUNAME, LUNAME, SNDRCVDSTCD " +
|
||||
"FROM " + TableInfoEx.T_LU_INFO +
|
||||
" ORDER BY LUGROUPNAME, ADPTRGSTATSEVRNAME, ADPTRGROUPNAME ";
|
||||
// 20080827 Start
|
||||
// 20080527 Start
|
||||
/**
|
||||
* LU 정보 INSERT QUERY
|
||||
*/
|
||||
/*
|
||||
public static final String INSERT_LU_INFO = "INSERT INTO "+ TableInfo.T_LU_INFO +
|
||||
" (AdptrGstatSevrName, AdptrGroupName, LUGroupName, PUName, LUName, SndrcvDstcd, UapplIDName, BkupLUYn, " +
|
||||
" LogUseYn, LogLvelName, MaxLogFileVal, LUInfoRegiHMS, LUAmndHMS )" +
|
||||
"VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||
*/
|
||||
/*
|
||||
public static final String INSERT_LU_INFO = "INSERT INTO "+ TableInfoEx.T_LU_INFO +
|
||||
" (AdptrGstatSevrName, AdptrGroupName, LUGroupName, PUName, LUName, SndrcvDstcd, UapplIDName, BkupLUYn, " +
|
||||
" LogUseYn, LogLvelName, MaxLogFileVal, LUInfoRegiHMS, LUAmndHMS, RmtLUYn )" +
|
||||
"VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||
*/
|
||||
// 20080527 End
|
||||
public static final String INSERT_LU_INFO = "INSERT INTO "+ TableInfoEx.T_LU_INFO +
|
||||
" (ADPTRGSTATSEVRNAME, ADPTRGROUPNAME, LUGROUPNAME, PUNAME, LUNAME, SNDRCVDSTCD, UAPPLIDNAME, BKUPLUYN, " +
|
||||
" LOGUSEYN, LOGLVELNAME, MAXLOGFILEVAL, LUINFOREGIHMS, LUAMNDHMS )" +
|
||||
"VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||
// 20080827 End
|
||||
|
||||
/**
|
||||
* LU 정보 DELETE QUERY
|
||||
*/
|
||||
public static final String DELETE_LU_INFO = "DELETE FROM "+ TableInfoEx.T_LU_INFO +
|
||||
" WHERE ADPTRGSTATSEVRNAME=? AND ADPTRGROUPNAME=? AND LUGROUPNAME=? " +
|
||||
" AND PUNAME=? AND LUNAME=?";
|
||||
|
||||
/**
|
||||
* LU 정보 UPDATE QUERY
|
||||
*/
|
||||
// 20080827 Start
|
||||
// 20080527 Start
|
||||
/*
|
||||
public static final String UPDATE_LU_INFO = "UPDATE "+ TableInfo.T_LU_INFO +
|
||||
" SET SndrcvDstcd=?, UapplIDName=?, BkupLUYn =?, " +
|
||||
" LogUseYn=?, LogLvelName=?, MaxLogFileVal=?, LUAmndHMS=? " +
|
||||
"WHERE AdptrGstatSevrName=? AND AdptrGroupName=? AND LUGroupName=? " +
|
||||
" AND PUName=? AND LUName=?";
|
||||
*/
|
||||
/*
|
||||
public static final String UPDATE_LU_INFO = "UPDATE "+ TableInfoEx.T_LU_INFO +
|
||||
" SET SndrcvDstcd=?, UapplIDName=?, BkupLUYn =?, " +
|
||||
" LogUseYn=?, LogLvelName=?, MaxLogFileVal=?, LUAmndHMS=?, RmtLUYn=? " +
|
||||
"WHERE AdptrGstatSevrName=? AND AdptrGroupName=? AND LUGroupName=? " +
|
||||
" AND PUName=? AND LUName=?";
|
||||
*/
|
||||
// 20080527 End
|
||||
public static final String UPDATE_LU_INFO = "UPDATE "+ TableInfoEx.T_LU_INFO +
|
||||
" SET SNDRCVDSTCD=?, UAPPLIDNAME=?, BKUPLUYN =?, " +
|
||||
" LOGUSEYN=?, LOGLVELNAME=?, MAXLOGFILEVAL=?, LUAMNDHMS=? " +
|
||||
"WHERE ADPTRGSTATSEVRNAME=? AND ADPTRGROUPNAME=? AND LUGROUPNAME=? " +
|
||||
" AND PUNAME=? AND LUNAME=?";
|
||||
// 20080827 End
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,446 @@
|
||||
package com.eactive.eai.adapter.wca.cfg;
|
||||
|
||||
import com.eactive.eai.adapter.wca.WCASession;
|
||||
import com.eactive.eai.adapter.wca.exception.WCAException;
|
||||
import com.eactive.eai.adapter.wca.global.WCADefine;
|
||||
import com.eactive.eai.adapter.wca.jdbc.JDBCException;
|
||||
import com.eactive.eai.adapter.wca.jdbc.JDBCFactory;
|
||||
import com.eactive.eai.common.server.EAIServerManager;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
||||
|
||||
/**
|
||||
* 1. 기능 : SNAAdpaterManager(WCA) 관리, Singleton 패턴
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see :
|
||||
* @since : 2005. 6. 22. 오후 4:49:17
|
||||
*/
|
||||
public class SNAAdapterManager
|
||||
{
|
||||
/**
|
||||
* SNAAdapter critical한 정보 로깅을 위한 logger
|
||||
*/
|
||||
Logger adapter_logger = Logger.getLogger(WCADefine.ADAPTER_LOGGER_NAME);
|
||||
|
||||
/**
|
||||
* Adapter 맵
|
||||
* 키 : 어댑터 그룹 이름
|
||||
* 값 : SNAAdapter 클래스 오브젝트
|
||||
*/
|
||||
HashMap adapterMap;
|
||||
|
||||
/**
|
||||
* LU 정보 List (LU 이름이 정의되어 있을 경우 해당 LU 세션 그룹으로 데이타 송신하기 위함)
|
||||
* 키 : LU 이름
|
||||
* 값 : LUInfoDataEx 클래스 오브젝트
|
||||
*/
|
||||
HashMap luMap;
|
||||
|
||||
/**
|
||||
* SNAAdapterManager Single Instance
|
||||
*/
|
||||
static SNAAdapterManager smanager = new SNAAdapterManager();
|
||||
|
||||
/**
|
||||
* 1. 기능 : Default Constructor
|
||||
* 2. 처리 개요 :
|
||||
* - LU 정보를 로딩한다.
|
||||
* 3. 주의사항
|
||||
**/
|
||||
private SNAAdapterManager() {
|
||||
adapterMap = new HashMap(); // 어댑터 정보 Map 오브젝트 생성
|
||||
luMap = new HashMap(); // LU 정보 Map 오브젝트 생성
|
||||
|
||||
// 모든 LU 정보를 LU 정보 테이블에서 로드하여 HashMap(luMap)에 저장
|
||||
loadLUInfos();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 모든 LU 정보를 LU 정보 테이블에서 로드하여 HashMap(luMap)에 저장
|
||||
* 2. 처리 개요
|
||||
* 3. 주의사항
|
||||
**/
|
||||
public synchronized void loadLUInfos() {
|
||||
JDBCFactory factory = JDBCFactory.newInstance();
|
||||
LUInfoJDBCEx jdbc = null;
|
||||
|
||||
try {
|
||||
adapter_logger.warn("SNAAdapterManager:loadLUInfos> Start To Load Adapter LU Info.");
|
||||
|
||||
jdbc = (LUInfoJDBCEx)factory.create(LUInfoJDBCEx.class);
|
||||
luMap = jdbc.getLUInfos(EAIServerManager.getInstance().getLocalServerHostName());
|
||||
|
||||
adapter_logger.warn("SNAAdapterManager:loadLUInfos> Success To Load LU Info.");
|
||||
}
|
||||
catch (java.net.UnknownHostException host) {
|
||||
adapter_logger.error("SNAAdapterManager:loadLUInfos> " + host.getMessage(), host);
|
||||
}
|
||||
catch (JDBCException e) {
|
||||
// e.printStackTrace();
|
||||
adapter_logger.error("SNAAdapterManager:loadLUInfos> " + e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 이름에 해당하는 LU 그룹 노드 이름 및 LU 그룹 이름 반환
|
||||
* 2. 처리 개요 :
|
||||
* - LU 이름이 정의 되어 있으면 해당 LU 그룹 세션을 구한다.
|
||||
* - 특정 LU로 데이터를 전송할때, 해당 LU를 포함하고 있는 노드 및 LU 그룹 정보를 추출하기 위해 사용된다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param luName LU 이름
|
||||
*
|
||||
* @return LU에 해당하는 LU 그룹 노드 이름 및 LU 그룹 이름을 포함하는 ArrayList
|
||||
**/
|
||||
public ArrayList getNodeAndGroupName(String luName) throws WCAException {
|
||||
ArrayList alInfo = new ArrayList();
|
||||
|
||||
if (luName == null) {
|
||||
adapter_logger.error("SNAAdapterManager:getNodeAndGroupName> LU Name is NULL");
|
||||
alInfo.add(""); // Dummy 노드 이름
|
||||
alInfo.add(""); // Dummy LU 그룹 이름
|
||||
return alInfo;
|
||||
}
|
||||
|
||||
if (luName.trim().equals("")) {
|
||||
adapter_logger.error("SNAAdapterManager:getNodeAndGroupName> LU Name Length is 0");
|
||||
alInfo.add("");
|
||||
alInfo.add("");
|
||||
return alInfo;
|
||||
}
|
||||
|
||||
LUInfoDataEx luInfo = (LUInfoDataEx)luMap.get(luName);
|
||||
if (luInfo == null) {
|
||||
adapter_logger.error("SNAAdapterManager:getGroupCode> " + WCAException.displayError(WCAException.E_LUNAME_NO_EXIST, "LU 이름 = " + luName));
|
||||
throw new WCAException(WCAException.E_LUNAME_NO_EXIST, "LU 이름 = " + luName);
|
||||
}
|
||||
|
||||
alInfo.add(luInfo.getNodeName());
|
||||
alInfo.add(luInfo.getGroupName());
|
||||
|
||||
return alInfo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : SNAAdapterManager Singleton Object 반환
|
||||
* 2. 처리 개요 : SNAAdapterManager Singleton Object 반환한다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return SNAAdapterManager Singleton object
|
||||
**/
|
||||
public static SNAAdapterManager getInstance() {
|
||||
if (smanager == null) {
|
||||
smanager = new SNAAdapterManager();
|
||||
}
|
||||
|
||||
return smanager;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 어댑터 그룹에 해당하는 SNA Adapter 오브젝트를 어댑터 맵에 추가한다.
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sAdapterGrpName 어댑터 그룹 이름
|
||||
* @param sessgroups SessionGroupData Object를 저장한 HashMap
|
||||
**/
|
||||
public void insertSnaAdapter(String adapterGroupName, SNAAdapter snaAdapter) {
|
||||
adapter_logger.warn("SNAAdapterManager:insertAdapterToMap> Put Adapter in Adapter Map, sAdapterGrpName = " + adapterGroupName);
|
||||
synchronized (adapterMap) {
|
||||
adapterMap.put(adapterGroupName, snaAdapter);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 어댑터 그룹에 해당하는 어댑터 오브젝트를 구함
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sAdapterGrpName 어댑터 그룹 이름
|
||||
*
|
||||
* @param SNAAdapter 오브젝트
|
||||
**/
|
||||
public SNAAdapter selectSnaAdapter(String adapterGroupName) {
|
||||
SNAAdapter snaAdapter = (SNAAdapter)adapterMap.get(adapterGroupName);
|
||||
return snaAdapter;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 어댑터 맵에서 어댑터 그룹에 해당하는 SNA Adapter 오브젝트를 삭제한다.
|
||||
* 2. 처리 개요 :
|
||||
* - SNAAdapter를 HashMap(adapters)에 삭제한다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sAdapterGrpName 어댑터 그룹 이름
|
||||
**/
|
||||
public void deleteSnaAdapter(String adapterGroupName) {
|
||||
adapter_logger.warn("SNAAdapterManager:deleteSnaAdapter> Delete Adapter in Adapter Map, sAdapterGrpName = " + adapterGroupName);
|
||||
try {
|
||||
synchronized (adapterMap) {
|
||||
adapterMap.remove(adapterGroupName);
|
||||
}
|
||||
}
|
||||
catch (Exception e) {
|
||||
adapter_logger.warn("SNAAdapterManager:deleteSnaAdapter> Exception", e);
|
||||
// e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 1. 기능 : 어댑터 그룹 이름에 해당하는 SNA 어댑터를 종료한다.
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param adapterGroupName 어댑터 그룹 이름
|
||||
* @param adapterName 어댑터 이름
|
||||
**/
|
||||
public void stopAdapter(String adapterGroupName, String adapterName) {
|
||||
String sLogStr = "[" + adapterGroupName + "][" + adapterName + "]";
|
||||
|
||||
adapter_logger.warn("SNAAdapterManager:stopAdapter> Try To Stop Adapter, " + sLogStr);
|
||||
|
||||
SNAAdapter snaAdapter = selectSnaAdapter(adapterGroupName);
|
||||
if (snaAdapter == null) {
|
||||
adapter_logger.warn("SNAAdapterManager:stopAdapter> There is No Adapter, So Return, " + sLogStr);
|
||||
return;
|
||||
}
|
||||
|
||||
adapter_logger.warn("SNAAdapterManager:stopAdapter> Strart To Stop Adapter, " + sLogStr);
|
||||
snaAdapter.stopAdapter();
|
||||
|
||||
/*
|
||||
adapter_logger.warn("SNAAdapterManager:stopAdapter> Try To Delete Adapter From Adapter Map, " + sLogStr);
|
||||
deleteSnaAdapter(adapterGroupName);
|
||||
*/
|
||||
|
||||
adapter_logger.warn("SNAAdapterManager:stopAdapter> Success To Stop Adapter, " + sLogStr);
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 어댑터 그룹, LU 그룹에 해당하는 WCA 세션 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sAdapterGrpName 어댑터 그룹 이름
|
||||
* @param sNodeName LU 그룹 노드 이름
|
||||
* @param sGroupCode LU 그룹 이름
|
||||
**/
|
||||
public WCASession getWCASession(String adapterGroupName, String nodeName, String lugrpName) throws WCAException {
|
||||
// 어댑터 그룹에 해당하는 어댑터 오브젝트를 구함
|
||||
SNAAdapter snaAdapter = selectSnaAdapter(adapterGroupName);
|
||||
if (snaAdapter == null) {
|
||||
adapter_logger.warn("SNAAdapterManager:getWCASession> There is No Adapter, sAdapterGrpName = [" + adapterGroupName + "]");
|
||||
throw new WCAException(WCAException.E_ADAPTERGROUP_NO_EXIST);
|
||||
}
|
||||
|
||||
// LU 그룹 노드 정보와 LU 그룹명이 두가지 다 있거나, 두가지 다 없어나 해야 한다.
|
||||
if (nodeName.equals("") || lugrpName.equals("")) {
|
||||
return snaAdapter.getWCASessionInSessionPoolList();
|
||||
}
|
||||
else {
|
||||
return snaAdapter.getWCASessionInSessionPoolList(nodeName, lugrpName);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : BACKUP POOL 수동 전환 모드
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sAdapterGrpName 어댑터 그룹 이름
|
||||
* @param sNodeName LU 그룹 노드 이름
|
||||
* @param sGroupCode LU 그룹 이름
|
||||
* @param flag 백업 여부 (true : 백업, false : 정상)
|
||||
**/
|
||||
public void setManualBackupMode(String sAdapterGroupName, String sNodeName, String sGroupCode, boolean flag) throws WCAException {
|
||||
adapter_logger.warn("SNAAdapterManager:setManualBackupMode> [" + sAdapterGroupName + "][" + sNodeName + "][" + sGroupCode + "][" + flag + "]");
|
||||
|
||||
SNAAdapter sAdapter = (SNAAdapter)adapterMap.get(sAdapterGroupName);
|
||||
if (sAdapter == null) {
|
||||
adapter_logger.warn("SNAAdapterManager:setManualBackupMode> There is No Adapter, sAdapterGrpName = [" + sAdapterGroupName + "]");
|
||||
throw new WCAException(WCAException.E_SOFTLINK_NOT_FOUND_SESSION, "수동 백업/복구 모드 전환시 발생 [" +sAdapterGroupName+"]");
|
||||
}
|
||||
|
||||
sAdapter.setManualBackupMode(sNodeName, sGroupCode, flag);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 1. 기능 : 어댑터 그룹에 속한 LU 그룹과 현재 설정된 백업 모드 정보 반환
|
||||
* 2. 처리 개요 : 모니터링에서 사용하기 위한 함수임
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sAdapterGrpName 어댑터 그룹 이름
|
||||
*
|
||||
* @return LU 그룹 및 백업 모드 정보 [
|
||||
* Key : LU 그룹 이름, value : Boolean Object 백업 모드 정보 (true : 백업, false : 정상)
|
||||
**/
|
||||
public HashMap getLuGrpBackupModeMap(String adapterGroupName) throws WCAException {
|
||||
SNAAdapter snaAdapter = selectSnaAdapter(adapterGroupName);
|
||||
if (snaAdapter == null) {
|
||||
adapter_logger.warn("SNAAdapterManager:getLuGrpBackupModeMap> There is No Adapter, sAdapterGrpName = [" + adapterGroupName + "]");
|
||||
return new HashMap();
|
||||
}
|
||||
|
||||
return snaAdapter.getLuGrpBackupModeMap();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 1. 기능 : 모니터링으로부터 새로운 LU 그룹이 추가되었다는 Command를 처리
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param data LU 그룹 정보 오브젝트
|
||||
**/
|
||||
public void insertLuGroupInfoEx(SessionGroupDataEx lugrpInfo) throws WCAException {
|
||||
SNAAdapter snaAdapter = selectSnaAdapter(lugrpInfo.getAdapterGroupName());
|
||||
|
||||
// adapter db에 정의되지 않았을 경우
|
||||
if (snaAdapter == null) {
|
||||
adapter_logger.warn("SNAAdapterManager:insertLuGroupInfoEx> " + lugrpInfo.getAdapterGroupName() +"이 구동되지 않았습니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
snaAdapter.insertLuGroupInfoEx(lugrpInfo);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 모니터링으로부터 새로운 LU 그룹이 추가되었다는 Command를 처리
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param data LU 그룹 정보 오브젝트
|
||||
**/
|
||||
public void deleteLuGroupInfoEx(SessionGroupDataEx lugrpInfo) throws WCAException {
|
||||
SNAAdapter snaAdapter = selectSnaAdapter(lugrpInfo.getAdapterGroupName());
|
||||
|
||||
// adapter db에 정의되지 않았을 경우
|
||||
if (snaAdapter == null) {
|
||||
adapter_logger.warn("SNAAdapterManager:deleteLuGroupInfoEx> " + lugrpInfo.getAdapterGroupName() +"이 구동되지 않았습니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
snaAdapter.deleteLuGroupInfoEx(lugrpInfo);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 모니터링으로부터 LU 그룹 정보가 갱신되었다는 Command를 처리
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param data LU 그룹 정보 오브젝트
|
||||
**/
|
||||
public void updateLuGroupInfoEx(SessionGroupDataEx lugrpInfo) throws WCAException {
|
||||
SNAAdapter snaAdapter = selectSnaAdapter(lugrpInfo.getAdapterGroupName());
|
||||
|
||||
// adapter db에 정의되지 않았을 경우
|
||||
if (snaAdapter == null) {
|
||||
adapter_logger.warn("SNAAdapterManager:updateLuGroupInfoEx> " + lugrpInfo.getAdapterGroupName() +"이 구동되지 않았습니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
snaAdapter.updateLuGroupInfoEx(lugrpInfo);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 모니터링으로부터 WCA AppCode 정보가 갱신되었다는 Command를 처리 (updateWcaInfo 함수를 참조하여 개발)
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param wcaInfo WcaInfoDataEx 오브젝트
|
||||
**/
|
||||
public void updateWcaAppCodeEx(WcaInfoDataEx wcaInfo) throws WCAException {
|
||||
adapter_logger.warn("SNAAdapterManager:updateWcaAppCodeEx> sEaiNodeName = [" + wcaInfo.sEaiNodeName + "], sEaiInstanceName = [" + wcaInfo.sEaiInstanceName + "]");
|
||||
adapter_logger.warn("SNAAdapterManager:updateWcaAppCodeEx> sAdapterGroupName = [" + wcaInfo.sAdapterGroupName + "], sAdapterName = [" + wcaInfo.sAdapterName + "]");
|
||||
|
||||
SNAAdapter snaAdapter = selectSnaAdapter(wcaInfo.sAdapterGroupName);
|
||||
|
||||
// adapter가 db에 정의되지 않았을 경우
|
||||
if (snaAdapter == null) {
|
||||
adapter_logger.warn("SNAAdapterManager:updateWcaAppCodeEx> " + wcaInfo.sAdapterGroupName +"이 구동되지 않았습니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (snaAdapter.adapterName.equals(wcaInfo.sAdapterName) == false) {
|
||||
adapter_logger.warn("SNAAdapterManager:updateWcaAppCodeEx> Adapter Name is not same, snaAdapter.adapterName = [" + snaAdapter.adapterName + "]");
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
snaAdapter.updateWcaAppCodeEx(wcaInfo);
|
||||
}
|
||||
catch (Exception e) {
|
||||
adapter_logger.warn("SNAAdapterManager:updateWcaAppCodeEx> [" + wcaInfo.sAdapterGroupName + "] Exception Msg = " + e.getMessage());
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 모니터링으로부터 WCA 정보가 갱신되었다는 Command를 처리
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param data WCA 정보 오브젝트
|
||||
**/
|
||||
public void updateWcaInfo(WcaInfoDataEx wcaInfo) {
|
||||
SNAAdapter snaAdapter = selectSnaAdapter(wcaInfo.sAdapterGroupName);
|
||||
|
||||
// adapter db에 정의되지 않았을 경우
|
||||
if (snaAdapter == null) {
|
||||
adapter_logger.warn("SNAAdapterManager:updateWcaInfo> " + wcaInfo.sAdapterGroupName +"이 구동되지 않았습니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (wcaInfo.sAdapterName.equals(snaAdapter.adapterName) == false) {
|
||||
adapter_logger.warn("SNAAdapterManager:updateWcaAppCodeEx> " + wcaInfo.sAdapterGroupName +"이 구동되지 않았습니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
snaAdapter.updateWcaInfo();
|
||||
}
|
||||
catch (Exception e) {
|
||||
adapter_logger.warn("SNAAdapterManager:updateWcaInfo> [" + wcaInfo.sAdapterGroupName + "] Exception Msg = " + e.getMessage());
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 어댑터 그룹에 속한 전체 LU 그룹 갯수를 구함.
|
||||
* 2. 처리 개요 : 어댑터로 데이터를 송신할때, WCA 세션을 찾을때 사용함
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param adapterGroupName 어댑터 그룹 이름
|
||||
*
|
||||
* @return 어댑터 그룹에 속한 전체 LU 그룹 갯수
|
||||
**/
|
||||
public int getLuGroupMapCount(String adapterGroupName) {
|
||||
SNAAdapter snaAdapter = selectSnaAdapter(adapterGroupName);
|
||||
|
||||
// adapter db에 정의되지 않았을 경우
|
||||
if (snaAdapter == null) {
|
||||
adapter_logger.warn("SNAAdapterManager:getLuGroupMapCount> " + adapterGroupName +"이 구동되지 않았습니다.");
|
||||
return 0;
|
||||
}
|
||||
|
||||
return snaAdapter.getLuGroupMapCount();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,723 @@
|
||||
package com.eactive.eai.adapter.wca.cfg;
|
||||
|
||||
import com.eactive.eai.adapter.wca.global.WCADefine;
|
||||
import com.eactive.eai.adapter.wca.util.MyLog;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 그룹 정보 Object 클래스
|
||||
* 2. 처리 개요 : LU 그룹 정보를 Get/Set 한다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see : Serializable
|
||||
* @since :
|
||||
*/
|
||||
public class SessionGroupDataEx implements Serializable
|
||||
{
|
||||
/**
|
||||
* 노드 정보 (SNA 어댑터가 구동하는 서버 이름)
|
||||
*/
|
||||
private String node_name;
|
||||
/**
|
||||
* EAI 어댑터 그룹 이름
|
||||
*/
|
||||
private String adpter_group_name;
|
||||
/**
|
||||
* LU 그룹 이름
|
||||
*/
|
||||
private String group_name;
|
||||
/**
|
||||
* 소프트링크 접속 TCP 포트 번호
|
||||
*/
|
||||
private int port;
|
||||
/**
|
||||
* WCA와 맺을 소켓 세션 수
|
||||
*/
|
||||
private int sess_cnt;
|
||||
/**
|
||||
* 트랜잭션 타임아웃 (단위:초)
|
||||
*/
|
||||
private int tran_timeout;
|
||||
|
||||
/**
|
||||
* DUMMY 메시지 구분 위치
|
||||
*/
|
||||
private int dummy_offset;
|
||||
/**
|
||||
* 호스트 송신 RU 크기
|
||||
*/
|
||||
private int host_snd_ru_size;
|
||||
/**
|
||||
* 호스트 수신 RU 크기
|
||||
*/
|
||||
private int host_rcv_ru_size;
|
||||
/**
|
||||
* LU 그룹 세션 Application id
|
||||
*/
|
||||
private String applyID;
|
||||
|
||||
/**
|
||||
* 백업 자동 전환 모드 ‘1’ - 자동, ‘0’ - 수동
|
||||
*/
|
||||
private String backup_cvs_mode;
|
||||
/**
|
||||
* 장애 발생 시 Fail-Over할 서버 이름
|
||||
*/
|
||||
private String backup_node_name;
|
||||
/**
|
||||
* 백업 소프트링크 접속 TCP 포트 번호
|
||||
*/
|
||||
private int backup_port;
|
||||
|
||||
/**
|
||||
* 백업 전환 기준 장애율
|
||||
*/
|
||||
private int backup_cvs_val;
|
||||
|
||||
/**
|
||||
* Log On/Off 설정 (‘1’/’0’)
|
||||
*/
|
||||
private String log_yn;
|
||||
|
||||
/**
|
||||
* 로그 레벨 (int)
|
||||
*/
|
||||
private int log_level;
|
||||
|
||||
/**
|
||||
* 로그 레벨 (‘DEBUG’,’INFO’, ‘WARN’,’ERROR’,’FATAL’)
|
||||
*/
|
||||
private String string_log_level;
|
||||
|
||||
/**
|
||||
* 로그 사이즈 (단위 : M)
|
||||
*/
|
||||
private int log_size;
|
||||
|
||||
// 20090810
|
||||
private boolean bBackupEnableFlag = true;
|
||||
|
||||
public boolean getBackupEnableFlag() {
|
||||
return bBackupEnableFlag;
|
||||
}
|
||||
|
||||
public void setBackupEnableFlag(boolean bBackupEnableFlag) {
|
||||
this.bBackupEnableFlag = bBackupEnableFlag;
|
||||
return;
|
||||
}
|
||||
// 20090810 End
|
||||
|
||||
// 20080527 Start
|
||||
/**
|
||||
* SoftLink Server IP Address
|
||||
*/
|
||||
private String softLinkSevrName;
|
||||
// 20080527 End
|
||||
|
||||
// 20090227 Start ("1"/"0")
|
||||
private String update_lu_applyID = "0";
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU Application ID 변경 여부 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sApplyID Application ID
|
||||
**/
|
||||
public void setUpdateLuApplyID(String sUpdateLuApplyID) {
|
||||
if (sUpdateLuApplyID == null) { sUpdateLuApplyID = "0"; }
|
||||
this.update_lu_applyID = sUpdateLuApplyID.trim();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU Application ID 변경 여부 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return Update LU Application ID 여부
|
||||
**/
|
||||
public String getUpdateLuApplyID() {
|
||||
return this.update_lu_applyID;
|
||||
}
|
||||
// 20090227 End
|
||||
|
||||
// 20090228 Start ("1"/"0")
|
||||
private String start_backup_session = "0";
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU Application ID 변경 여부 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sApplyID Application ID
|
||||
**/
|
||||
public void setStartBackupSession(String sStartBackupSession) {
|
||||
if (sStartBackupSession == null) { start_backup_session = "0"; }
|
||||
this.start_backup_session = sStartBackupSession.trim();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU Application ID 변경 여부 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return Update LU Application ID 여부
|
||||
**/
|
||||
public String getStartBackupSession() {
|
||||
return this.start_backup_session;
|
||||
}
|
||||
// 20090227 End
|
||||
/**
|
||||
* 1. 기능 : Defualt Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
**/
|
||||
public SessionGroupDataEx() {
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param node_name 노드이름
|
||||
* @param adpter_group_name 어댑터 그룹 이름
|
||||
**/
|
||||
public SessionGroupDataEx(String node_name, String adpter_group_name) {
|
||||
this.node_name = node_name;
|
||||
this.adpter_group_name = adpter_group_name;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 노드 이름 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sNodName 노드이름
|
||||
**/
|
||||
public void setNodeName(String s_node_name) {
|
||||
if (s_node_name == null) { s_node_name = ""; }
|
||||
this.node_name = s_node_name.trim();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 노드 이름 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 노드이름
|
||||
**/
|
||||
public String getNodeName() {
|
||||
return this.node_name;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 어댑터 그룹 이름 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sAdapterGroupName 어댑터 그룹 이름
|
||||
**/
|
||||
public void setAdapterGroupName(String s_adpter_group_name) {
|
||||
if (s_adpter_group_name == null) { s_adpter_group_name = ""; }
|
||||
this.adpter_group_name = s_adpter_group_name.trim();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 어댑터 그룹 이름 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 어댑터 그룹 이름
|
||||
**/
|
||||
public String getAdapterGroupName() {
|
||||
return this.adpter_group_name;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 그룹 이름 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sGroupName LU 그룹 이름
|
||||
**/
|
||||
public void setGroupName(String s_group_name) {
|
||||
if (s_group_name == null) { s_group_name = ""; }
|
||||
this.group_name = s_group_name.trim();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 그룹 이름 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return LU 그룹 이름
|
||||
**/
|
||||
public String getGroupName() {
|
||||
return this.group_name;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 포트 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sPort 포트 (default : 0)
|
||||
**/
|
||||
public void setPort(String sPort) {
|
||||
if (sPort == null) { sPort ="0"; }
|
||||
if (sPort != null && sPort.equals("")) { sPort ="0"; }
|
||||
this.port = Integer.parseInt(sPort.trim());
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 포트 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 포트
|
||||
**/
|
||||
public int getPort() {
|
||||
return this.port;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : WCA 세션 수 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sSessCnt WCA 세션 수 (default : 0)
|
||||
**/
|
||||
public void setSessionCnt(String sSessCnt) {
|
||||
if (sSessCnt == null) { sSessCnt ="0"; }
|
||||
if (sSessCnt != null && sSessCnt.equals("")) { sSessCnt ="0"; }
|
||||
this.sess_cnt = Integer.parseInt(sSessCnt.trim());
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : WCA 세션 수 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return WCA 세션 수
|
||||
**/
|
||||
public int getSessionCnt() {
|
||||
return this.sess_cnt;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : DUMMY 메시지 구분 위치 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sOffset DUMMY 메시지 구분 위치 (default : 0)
|
||||
**/
|
||||
public void setDummyOffset(String sOffset) {
|
||||
if (sOffset == null) { sOffset ="0"; }
|
||||
if (sOffset != null && sOffset.equals("")) { sOffset ="0"; }
|
||||
this.dummy_offset = Integer.parseInt(sOffset.trim());
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : DUMMY 메시지 구분 위치 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return DUMMY 메시지 구분 위치
|
||||
**/
|
||||
public int getDummyOffset() {
|
||||
return this.dummy_offset;
|
||||
}
|
||||
/**
|
||||
* 1. 기능 : 호스트 송신 RU 크기 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sRUSize 호스트 송신 RU 크기 (default : 0)
|
||||
**/
|
||||
public void setHostSndRUSize(String sRUSize) {
|
||||
if (sRUSize == null) { sRUSize ="0"; }
|
||||
if (sRUSize != null && sRUSize.equals("")) { sRUSize ="0"; }
|
||||
this.host_snd_ru_size = Integer.parseInt(sRUSize.trim());
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 호스트 송신 RU 크기 설정 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 호스트 송신 RU 크기 설정
|
||||
**/
|
||||
public int getHostSndRUSize() {
|
||||
return this.host_snd_ru_size;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 호스트 수신 RU 크기 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sRUSize 호스트 수신 RU 크기 (default : 0)
|
||||
**/
|
||||
public void setHostRcvRUSize(String sRUSize) {
|
||||
if (sRUSize == null) { sRUSize ="0"; }
|
||||
if (sRUSize != null && sRUSize.equals("")) { sRUSize ="0"; }
|
||||
this.host_rcv_ru_size = Integer.parseInt(sRUSize.trim());
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 호스트 수신 RU 크기 설정 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 호스트 수신 RU 크기 설정
|
||||
**/
|
||||
public int getHostRcvRUSize() {
|
||||
return this.host_rcv_ru_size;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Application ID 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sApplyID Application ID
|
||||
**/
|
||||
public void setApplyID(String sApplyID) {
|
||||
if (sApplyID == null) { sApplyID = ""; }
|
||||
this.applyID = sApplyID.trim();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Application ID 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return Application ID
|
||||
**/
|
||||
public String getApplyID() {
|
||||
return this.applyID;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 백업 자동 전환 모드 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param s_mode 백업 자동 전환 모드 (default : N)
|
||||
**/
|
||||
public void setBackupCvsMode(String s_mode) {
|
||||
if (s_mode == null) { s_mode = WCADefine.DEFAULT_MANUAL_BACKUP_CVS_MODE; }
|
||||
if (s_mode != null && s_mode.equals("")) { s_mode = WCADefine.DEFAULT_MANUAL_BACKUP_CVS_MODE; }
|
||||
this.backup_cvs_mode = s_mode.trim();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 백업 자동 전환 모드 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return BUSY 백업 자동 전환 모드
|
||||
**/
|
||||
public String getBackupCvsMode() {
|
||||
return this.backup_cvs_mode;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 백업 서버 이름 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param s_node_name 백업 서버 이름
|
||||
**/
|
||||
public void setBackupNodeName(String s_node_name) {
|
||||
if (s_node_name == null) { s_node_name = ""; }
|
||||
this.backup_node_name = s_node_name;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 백업 서버 이름 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 백업 서버 이름
|
||||
**/
|
||||
public String getBackupNodeName() {
|
||||
return this.backup_node_name;
|
||||
}
|
||||
|
||||
// 20080527 Start
|
||||
/**
|
||||
* 1. 기능 : SoftLink Server 이름 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param s_softlink_sevr_name SoftLink Server 이름
|
||||
**/
|
||||
public void setSoftLinkSevrName(String s_softlink_sevr_name) {
|
||||
if (s_softlink_sevr_name == null) { softLinkSevrName = "127.0.0.1"; }
|
||||
this.softLinkSevrName = s_softlink_sevr_name;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : SoftLink Server 이름 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return SoftLink Server 이름
|
||||
**/
|
||||
public String getSoftLinkSevrName() {
|
||||
return this.softLinkSevrName;
|
||||
}
|
||||
// 20080527 End
|
||||
|
||||
/**
|
||||
* 1. 기능 : 백업 서버 포트 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sPort 백업 서버 포트
|
||||
**/
|
||||
public void setBackupPort(String sPort) {
|
||||
if (sPort == null) { sPort ="0"; }
|
||||
if (sPort != null && sPort.equals("")) { sPort ="0"; }
|
||||
this.backup_port = Integer.parseInt(sPort.trim());
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 백업 서버 포트 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 백업 서버 포트
|
||||
**/
|
||||
public int getBackupPort() {
|
||||
return this.backup_port;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 백업 전환 기준 장애율 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param s_backup_val 백업 전환 기준 장애율
|
||||
**/
|
||||
public void setBackupCvsVal(String s_backup_val) {
|
||||
if (s_backup_val == null) { s_backup_val ="0"; }
|
||||
if (s_backup_val != null && s_backup_val.equals("")) { s_backup_val ="0"; }
|
||||
this.backup_cvs_val = Integer.parseInt(s_backup_val.trim());
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 백업 전환 기준 장애율 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 백업 전환 기준 장애율 반환
|
||||
**/
|
||||
public int getBackupCvsVal() {
|
||||
return this.backup_cvs_val;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 로그 기록 여부 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sLogYN 로그 기록 여부
|
||||
**/
|
||||
public void setLogYN(String s_log_yn) {
|
||||
if (s_log_yn == null) { s_log_yn = WCADefine.DEFAULT_WCA_LOG; }
|
||||
log_yn = s_log_yn;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 로그 기록 여부 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 로그 기록 여부 (Y/N)
|
||||
**/
|
||||
public String getLogYN() {
|
||||
return this.log_yn;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 로그 기록 여부 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 로그 기록 여부(true/false)
|
||||
**/
|
||||
public boolean isLogWritable() {
|
||||
if (log_yn.equalsIgnoreCase(WCADefine.WCA_LOG_YES)) { return true; }
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 로그 레벨 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sLogLevel 로그 레벨
|
||||
**/
|
||||
public void setLogLevel(String s_log_level) {
|
||||
try {
|
||||
if (s_log_level == null) { log_level = WCADefine.DEFAULT_WCA_LOG_LEVEL; }
|
||||
|
||||
if (s_log_level.equalsIgnoreCase("DEBUG")) {
|
||||
log_level = MyLog.DEBUG;
|
||||
string_log_level = "DEBUG";
|
||||
}
|
||||
else if (s_log_level.equalsIgnoreCase("INFO")) {
|
||||
log_level = MyLog.INFO;
|
||||
string_log_level = "INFO";
|
||||
}
|
||||
else if (s_log_level.equalsIgnoreCase("NOTICE")) {
|
||||
log_level = MyLog.NOTICE;
|
||||
string_log_level = "NOTICE";
|
||||
}
|
||||
else if (s_log_level.equalsIgnoreCase("WARN")) {
|
||||
log_level = MyLog.WARN;
|
||||
string_log_level = "WARN";
|
||||
}
|
||||
else if (s_log_level.equalsIgnoreCase("ERROR")) {
|
||||
log_level = MyLog.ERROR;
|
||||
string_log_level = "ERROR";
|
||||
}
|
||||
else if (s_log_level.equalsIgnoreCase("ALERT")) {
|
||||
log_level = MyLog.ALERT;
|
||||
string_log_level = "ALERT";
|
||||
}
|
||||
else if (s_log_level.equalsIgnoreCase("EMERGENCY")) {
|
||||
log_level = MyLog.EMERGENCY;
|
||||
string_log_level = "EMERGENCY";
|
||||
}
|
||||
else {
|
||||
log_level = WCADefine.DEFAULT_WCA_LOG_LEVEL;
|
||||
string_log_level = WCADefine.DEFAULT_WCA_STRING_LOG_LEVEL;
|
||||
}
|
||||
}
|
||||
catch (Exception e) {
|
||||
log_level = WCADefine.DEFAULT_WCA_LOG_LEVEL;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 로그 레벨 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return integer type 로그 레벨
|
||||
**/
|
||||
public int getLogLevel() {
|
||||
return this.log_level;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 로그 레벨 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return String type 로그 레벨
|
||||
**/
|
||||
public String getStringLogLevel() {
|
||||
return this.string_log_level;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 로그 사이즈 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sLogLevel 로그 레벨사이즈
|
||||
**/
|
||||
public void setLogSize(String s_log_size) {
|
||||
try {
|
||||
if (s_log_size == null) { s_log_size = String.valueOf(WCADefine.DEFAULT_WCA_LOG_SIZE); }
|
||||
if (s_log_size != null && s_log_size.equals("")) { s_log_size = String.valueOf(WCADefine.DEFAULT_WCA_LOG_SIZE); }
|
||||
this.log_size = Integer.parseInt(s_log_size.trim());
|
||||
}
|
||||
catch (Exception e) {
|
||||
this.log_size = WCADefine.DEFAULT_WCA_LOG_SIZE;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 로그 사이즈 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 로그 사이즈
|
||||
**/
|
||||
public int getLogSize() {
|
||||
return this.log_size;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 트랜잭션 타임아웃 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param s_timeout 트랜잭션 타임아웃
|
||||
**/
|
||||
public void setTranTimeout(String s_timeout) {
|
||||
if (s_timeout == null) { s_timeout = String.valueOf(WCADefine.DEFAULT_TRANSACTION_TIMEOUT); }
|
||||
if (s_timeout != null && s_timeout.equals("")) { s_timeout = String.valueOf(WCADefine.DEFAULT_TRANSACTION_TIMEOUT); }
|
||||
this.tran_timeout = Integer.parseInt(s_timeout.trim());
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 트랜잭션 타임아웃 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 트랜잭션 타임아웃
|
||||
**/
|
||||
public int getTranTimeout() {
|
||||
return this.tran_timeout;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 그룹 정보 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return LU 정보
|
||||
**/
|
||||
public String toString() {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
sb.append("SessionGroupData[ 노드 =").append(node_name);
|
||||
sb.append(", 어댑터 그룹 이름 =").append(adpter_group_name);
|
||||
sb.append(", LU 그룹 이름 =").append(group_name);
|
||||
sb.append(", IP =").append(softLinkSevrName);
|
||||
sb.append(", \nPort =").append(port);
|
||||
sb.append(", WCA 세션 수 =").append(sess_cnt);
|
||||
// 20090228 Start
|
||||
sb.append(", 백업 세션 시작 =").append(start_backup_session);
|
||||
// 20090228 End
|
||||
// 20090810 Start
|
||||
sb.append(", 백업 동작 여부 =").append(bBackupEnableFlag);
|
||||
// 20090810 End
|
||||
sb.append(", 트랜잭션 타임아웃 =").append(tran_timeout);
|
||||
sb.append(", DUMMY 메시지 구분 위치 =").append(dummy_offset);
|
||||
sb.append(", 호스트 송신 RU 크기 =").append(host_snd_ru_size);
|
||||
sb.append(", 호스트 수신 RU 크기 =").append(host_rcv_ru_size);
|
||||
sb.append(", Apply id =").append(applyID);
|
||||
sb.append(", \n백업 자동 전환 모드 =").append(backup_cvs_mode);
|
||||
sb.append(", 백업 서버 =").append(backup_node_name);
|
||||
sb.append(", 백업 Port =").append(backup_port);
|
||||
sb.append(", 백업 전환 기준 장애율 =").append(backup_cvs_val);
|
||||
sb.append(", \n로깅 여부 =").append(log_yn);
|
||||
sb.append(", 로그 레벨 =").append(log_level);
|
||||
sb.append(", 로그 사이즈 =").append(log_size);
|
||||
sb.append(" ]");
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,477 @@
|
||||
package com.eactive.eai.adapter.wca.cfg;
|
||||
|
||||
import com.eactive.eai.adapter.wca.global.WCADefine;
|
||||
import com.eactive.eai.adapter.wca.jdbc.BaseJDBC;
|
||||
import com.eactive.eai.adapter.wca.jdbc.JDBCException;
|
||||
import com.eactive.eai.adapter.wca.util.DateUtil;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 그룹 정보 테이블을 접근하기 위한 JDBC 클래스
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see : SessionGroupQuery.java
|
||||
* @since :
|
||||
*/
|
||||
public class SessionGroupJDBCEx extends BaseJDBC implements SessionGroupQueryEx
|
||||
{
|
||||
/**
|
||||
* SNAAdapter 트레이스 로깅을 위한 logger
|
||||
*/
|
||||
Logger trc_logger = Logger.getLogger(Logger.LOGGER_ADAPTER);
|
||||
|
||||
// 20080827 Start
|
||||
/**
|
||||
* SNAAdapter critical한 정보 로깅을 위한 logger
|
||||
*/
|
||||
Logger adapter_logger = Logger.getLogger(WCADefine.ADAPTER_LOGGER_NAME);
|
||||
// 20080827 End
|
||||
|
||||
// 20080827 Start
|
||||
/**
|
||||
* 1. 기능 : Softlink IP 주소에 해당하는 노드 이름을 구한다.
|
||||
* 2. 처리 개요
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @params softlinkIpAddr Softlink IP 주소
|
||||
*
|
||||
* @return Softlink 노드 이름
|
||||
*
|
||||
* @exception JDBCException DB 작업시 발행하는 예외 발생 정보 (SQLException 에러코드와 메세지 포함)
|
||||
**/
|
||||
public String getSoftlinkNodeName(String softlinkIpAddr) throws JDBCException {
|
||||
ResultSet rs = null;
|
||||
String softlinkNodeName = "";
|
||||
|
||||
try {
|
||||
getDsConnection();
|
||||
|
||||
if(adapter_logger.isInfo())
|
||||
adapter_logger.info("getSoftlinkNodeName> Query = " + GET_SOFTLINK_NODE_NAME);
|
||||
|
||||
setStatement(GET_SOFTLINK_NODE_NAME);
|
||||
|
||||
this.preparedStatement.setString(1, softlinkIpAddr);
|
||||
|
||||
rs = executeSelect();
|
||||
|
||||
while (rs.next()) {
|
||||
softlinkNodeName = rs.getString(1);
|
||||
adapter_logger.info("getSoftlinkNodeName> softlinkNodeName = " + softlinkNodeName);
|
||||
}
|
||||
|
||||
return softlinkNodeName;
|
||||
|
||||
}
|
||||
catch (Exception e) {
|
||||
if(adapter_logger.isError()) {
|
||||
adapter_logger.error("getSoftlinkNodeName> Exception Occur, Msg", e);
|
||||
}
|
||||
throw new JDBCException("SessionGroupJDBC","getSoftlinkNodeName",e);
|
||||
}
|
||||
finally {
|
||||
try {
|
||||
if (rs != null) { rs.close(); }
|
||||
}
|
||||
catch(Exception ex) {}
|
||||
this.close();
|
||||
}
|
||||
}
|
||||
// 20080827 End
|
||||
|
||||
/**
|
||||
* 1. 기능 : Softlink 노드 이름에 해당하는 시스템의 IP 주소를 구한다.
|
||||
* 2. 처리 개요
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @params softlinkNodeName Softlink 노드 이름
|
||||
*
|
||||
* @return Softlink IP 주소
|
||||
*
|
||||
* @exception JDBCException DB 작업시 발행하는 예외 발생 정보 (SQLException 에러코드와 메세지 포함)
|
||||
**/
|
||||
public String getSoftlinkIpAddr(String softlinkNodeName) throws JDBCException {
|
||||
ResultSet rs = null;
|
||||
String softlinkIpAddr = "";
|
||||
|
||||
try {
|
||||
getDsConnection();
|
||||
|
||||
if (adapter_logger.isInfo()) {
|
||||
adapter_logger.info("getSoftlinkIpAddr> Query = " + GET_SOFTLINK_IP_ADDR);
|
||||
}
|
||||
|
||||
setStatement(GET_SOFTLINK_IP_ADDR);
|
||||
|
||||
this.preparedStatement.setString(1, softlinkNodeName);
|
||||
|
||||
rs = executeSelect();
|
||||
|
||||
while (rs.next()) {
|
||||
softlinkIpAddr = rs.getString(1);
|
||||
adapter_logger.info("getSoftlinkNodeName> softlinkNodeName = " + softlinkNodeName);
|
||||
}
|
||||
|
||||
return softlinkIpAddr;
|
||||
}
|
||||
catch (Exception e) {
|
||||
adapter_logger.error("getSoftlinkIpAddr> Exception Occur, Msg", e);
|
||||
throw new JDBCException("SessionGroupJDBC", "getSoftlinkIpAddr", e);
|
||||
}
|
||||
finally {
|
||||
try {
|
||||
if (rs != null) {
|
||||
rs.close();
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { }
|
||||
this.close();
|
||||
}
|
||||
}
|
||||
// 20080827 End
|
||||
|
||||
/**
|
||||
* 1. 기능 : 노드, 어댑터 그룹 이름에 해당하는 모든 LU 그룹 정보 반환
|
||||
* 2. 처리 개요 : 검색된 LU 그룹 정보를 SessionGroupData Object 저장한다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @params nodeName 노드 이름
|
||||
* @params adapterGroupName 어댑터 그룹 이름
|
||||
* @return HashMap 노드, 어댑터 그룹 이름에 해당하는 모든 LU 그룹 정보를 저장한다.
|
||||
* @exception JDBCException DB 작업시 발행하는 예외 발생 정보 (SQLException 에러코드와 메세지 포함)
|
||||
**/
|
||||
// 20090228 Start
|
||||
// 20080827 Start
|
||||
// public HashMap getAdapterInfo(String nodeName, String adapterGroupName) throws JDBCException {
|
||||
// public HashMap getAdapterInfo(String nodeName, String nodeIpAddr, String adapterGroupName) throws JDBCException {
|
||||
// 20080827 End
|
||||
public HashMap getAdapterInfo(HashMap luGroupInfoMap, String nodeName, String nodeIpAddr,
|
||||
String adapterGroupName, String sStartBackupSession, boolean bBackupSessionEnableFlag) throws JDBCException {
|
||||
// 20090228 End
|
||||
ResultSet rs = null;
|
||||
|
||||
try {
|
||||
getDsConnection();
|
||||
setStatement(GET_ADAPTER);
|
||||
this.preparedStatement.setString(1, nodeName);
|
||||
this.preparedStatement.setString(2, adapterGroupName);
|
||||
rs = executeSelect();
|
||||
|
||||
SessionGroupDataEx info = null;
|
||||
|
||||
while (rs.next()) {
|
||||
info = new SessionGroupDataEx(rs.getString(1), rs.getString(2)); // 어댑터 기동 서버명 및 어댑터 그룹 이름 값 설정
|
||||
info.setGroupName(rs.getString(3)); // LU 그룹 설정
|
||||
info.setPort(rs.getString(4));
|
||||
info.setSessionCnt(rs.getString(5));
|
||||
info.setBackupCvsMode(rs.getString(6));
|
||||
info.setBackupNodeName(rs.getString(7));
|
||||
info.setBackupPort(rs.getString(8));
|
||||
info.setBackupCvsVal(rs.getString(9));
|
||||
info.setLogYN(rs.getString(10));
|
||||
info.setLogLevel(rs.getString(11));
|
||||
info.setLogSize(rs.getString(12));
|
||||
info.setTranTimeout(rs.getString(13));
|
||||
|
||||
// 20080827 Start
|
||||
// info.setSoftLinkSevrName(rs.getString(14));
|
||||
info.setSoftLinkSevrName(nodeIpAddr);
|
||||
// info.setSoftLinkSevrName("127.0.0.1"); // For 임시 테스트
|
||||
// 20080827 End
|
||||
|
||||
// 20090228 Start
|
||||
info.setStartBackupSession(sStartBackupSession);
|
||||
// 20090228 End
|
||||
|
||||
// 20090810 Start
|
||||
info.setBackupEnableFlag(bBackupSessionEnableFlag);
|
||||
// 20090810 End
|
||||
|
||||
if (trc_logger.isDebug()){
|
||||
trc_logger.debug("==================================================");
|
||||
trc_logger.debug("getAdapterInfo] " + info.toString());
|
||||
trc_logger.debug("==================================================");
|
||||
}
|
||||
|
||||
// 2008.09.09 Start
|
||||
if (adapter_logger.isWarn()) {
|
||||
adapter_logger.warn("getAdapterInfo> " + info.toString());
|
||||
adapter_logger.warn("getAdapterInfo> Add Session Info To " + info.getGroupName());
|
||||
}
|
||||
// 2008.09.09 End
|
||||
|
||||
// 20090810 Start
|
||||
// LU 그룹 값을 키로 하여 LU 그룹 세션 정보 저장
|
||||
// sessgroups.put(info.getGroupName(), info);
|
||||
luGroupInfoMap.put(info.getGroupName(), info);
|
||||
// 20090810 End
|
||||
}
|
||||
|
||||
return luGroupInfoMap;
|
||||
|
||||
}
|
||||
catch (Exception e) {
|
||||
adapter_logger.error("getAdapterInfo error", e);
|
||||
throw new JDBCException("SessionGroupJDBC","getAdapterInfo",e);
|
||||
}
|
||||
finally {
|
||||
try {
|
||||
if (rs != null) {
|
||||
rs.close();
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { }
|
||||
this.close();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 그룹 정보 등록 및 해당하는 LU 정보 수정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param data SessionGroupData Object
|
||||
* @return 추가된 레코드 수
|
||||
* @exception JDBCException DB 작업시 발행하는 예외 발생 정보 (SQLException 에러코드와 메세지 포함)
|
||||
**/
|
||||
public int insertSessionGroup(SessionGroupDataEx data) throws JDBCException {
|
||||
int nExeCnt = 0;
|
||||
try {
|
||||
DateUtil dateUtil = new DateUtil();
|
||||
String sDateTime = dateUtil.getDateMilliTime();
|
||||
getDsConnection();
|
||||
setAutoCommit(false);
|
||||
setStatement(INSERT_SESSION_GROUP);
|
||||
this.preparedStatement.setString(1,data.getNodeName());
|
||||
this.preparedStatement.setString(2,data.getAdapterGroupName());
|
||||
this.preparedStatement.setString(3,data.getGroupName());
|
||||
this.preparedStatement.setInt(4,data.getPort());
|
||||
this.preparedStatement.setInt(5,data.getSessionCnt());
|
||||
this.preparedStatement.setInt(6,data.getTranTimeout());
|
||||
this.preparedStatement.setInt(7,data.getDummyOffset());
|
||||
this.preparedStatement.setInt(8,data.getHostSndRUSize());
|
||||
this.preparedStatement.setInt(9,data.getHostRcvRUSize());
|
||||
this.preparedStatement.setString(10,data.getApplyID());
|
||||
|
||||
this.preparedStatement.setString(11,data.getBackupCvsMode());
|
||||
this.preparedStatement.setInt(12,data.getBackupCvsVal());
|
||||
this.preparedStatement.setString(13,data.getBackupNodeName());
|
||||
this.preparedStatement.setInt(14,data.getBackupPort());
|
||||
|
||||
this.preparedStatement.setString(15,data.getLogYN());
|
||||
this.preparedStatement.setString(16,data.getStringLogLevel());
|
||||
this.preparedStatement.setInt(17,data.getLogSize());
|
||||
|
||||
this.preparedStatement.setString(18, sDateTime);
|
||||
this.preparedStatement.setString(19, sDateTime);
|
||||
|
||||
// 20080827 Start
|
||||
// 20080527 Start
|
||||
// this.preparedStatement.setString(20, data.getSoftLinkSevrName());
|
||||
// 20080527 End
|
||||
// 20080827 End
|
||||
|
||||
nExeCnt =executeUpdate();
|
||||
|
||||
setStatement(UPDATE_LU_INFO);
|
||||
this.preparedStatement.setString(1,data.getApplyID());
|
||||
this.preparedStatement.setString(2,data.getLogYN());
|
||||
this.preparedStatement.setString(3,data.getStringLogLevel());
|
||||
this.preparedStatement.setInt(4,data.getLogSize());
|
||||
this.preparedStatement.setString(5,sDateTime);
|
||||
this.preparedStatement.setString(6,data.getNodeName());
|
||||
this.preparedStatement.setString(7,data.getAdapterGroupName());
|
||||
this.preparedStatement.setString(8,data.getGroupName());
|
||||
nExeCnt += executeUpdate();
|
||||
commit();
|
||||
return nExeCnt;
|
||||
}
|
||||
catch (SQLException e) {
|
||||
throw new JDBCException("SessionGroupJDBC","insertSessionGroup",e);
|
||||
}
|
||||
finally {
|
||||
this.close();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 그룹 정보 삭제
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param data SessionGroupData Object
|
||||
* @return 삭제된 레코드 수
|
||||
* @exception JDBCException DB 작업시 발행하는 예외 발생 정보 (SQLException 에러코드와 메세지 포함)
|
||||
**/
|
||||
public int deleteSessionGroup(SessionGroupDataEx vo) throws JDBCException {
|
||||
int nExeCnt = 0;
|
||||
try {
|
||||
getDsConnection();
|
||||
setStatement(DELETE_SESSION_GROUP);
|
||||
this.preparedStatement.setString(1,vo.getNodeName());
|
||||
this.preparedStatement.setString(2,vo.getAdapterGroupName());
|
||||
this.preparedStatement.setString(3,vo.getGroupName());
|
||||
nExeCnt = executeUpdate();
|
||||
return nExeCnt;
|
||||
}
|
||||
catch (SQLException e) {
|
||||
throw new JDBCException("SessionGroupJDBC","deleteSessionGroup",e);
|
||||
}
|
||||
finally {
|
||||
this.close();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 그룹 정보와 LU 그룹에 해당하느 LU 정보 삭제
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param data SessionGroupData Object
|
||||
* @return 삭제된 레코드 수
|
||||
* @exception JDBCException DB 작업시 발행하는 예외 발생 정보 (SQLException 에러코드와 메세지 포함)
|
||||
**/
|
||||
public int deleteAllSessionGroup(SessionGroupDataEx vo) throws JDBCException {
|
||||
int nExeCnt = 0;
|
||||
try {
|
||||
getDsConnection();
|
||||
setAutoCommit(false);
|
||||
|
||||
setStatement(DELETE_SESSION_GROUP);
|
||||
this.preparedStatement.setString(1,vo.getNodeName());
|
||||
this.preparedStatement.setString(2,vo.getAdapterGroupName());
|
||||
this.preparedStatement.setString(3,vo.getGroupName());
|
||||
nExeCnt = executeUpdate();
|
||||
|
||||
setStatement(DELETE_ALL_LU_INFO);
|
||||
this.preparedStatement.setString(1,vo.getNodeName());
|
||||
this.preparedStatement.setString(2,vo.getAdapterGroupName());
|
||||
this.preparedStatement.setString(3,vo.getGroupName());
|
||||
nExeCnt += executeUpdate();
|
||||
|
||||
commit();
|
||||
return nExeCnt;
|
||||
}
|
||||
catch (SQLException e) {
|
||||
throw new JDBCException("SessionGroupJDBC","deleteAllSessionGroup",e);
|
||||
}
|
||||
finally {
|
||||
this.close();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 그룹 정보 및 해당하는 LU 정보 수정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param data SessionGroupData Object
|
||||
* @return 수정된 레코드 수
|
||||
* @exception JDBCException DB 작업시 발행하는 예외 발생 정보 (SQLException 에러코드와 메세지 포함)
|
||||
**/
|
||||
public int updateSessionGroup(SessionGroupDataEx data) throws JDBCException {
|
||||
int nExeCnt = 0;
|
||||
try {
|
||||
DateUtil dateUtil = new DateUtil();
|
||||
|
||||
getDsConnection();
|
||||
setAutoCommit(false);
|
||||
// 세션 그룹 update
|
||||
setStatement(UPDATE_SESSION_GROUP);
|
||||
this.preparedStatement.setInt(1,data.getPort());
|
||||
this.preparedStatement.setInt(2,data.getSessionCnt());
|
||||
this.preparedStatement.setInt(3,data.getTranTimeout());
|
||||
this.preparedStatement.setInt(4,data.getDummyOffset());
|
||||
this.preparedStatement.setInt(5,data.getHostSndRUSize());
|
||||
this.preparedStatement.setInt(6,data.getHostRcvRUSize());
|
||||
this.preparedStatement.setString(7,data.getApplyID());
|
||||
|
||||
this.preparedStatement.setString(8,data.getBackupCvsMode());
|
||||
this.preparedStatement.setInt(9,data.getBackupCvsVal());
|
||||
this.preparedStatement.setString(10,data.getBackupNodeName());
|
||||
this.preparedStatement.setInt(11,data.getBackupPort());
|
||||
|
||||
this.preparedStatement.setString(12,data.getLogYN());
|
||||
this.preparedStatement.setString(13,data.getStringLogLevel());
|
||||
this.preparedStatement.setInt(14,data.getLogSize());
|
||||
|
||||
this.preparedStatement.setString(15, dateUtil.getDateMilliTime());
|
||||
|
||||
// 20080827 Start
|
||||
// 20080527 Start
|
||||
/*
|
||||
this.preparedStatement.setString(16,data.getNodeName());
|
||||
this.preparedStatement.setString(17,data.getAdapterGroupName());
|
||||
this.preparedStatement.setString(18,data.getGroupName());
|
||||
*/
|
||||
/*
|
||||
this.preparedStatement.setString(16,data.getSoftLinkSevrName());
|
||||
this.preparedStatement.setString(17,data.getNodeName());
|
||||
this.preparedStatement.setString(18,data.getAdapterGroupName());
|
||||
this.preparedStatement.setString(19,data.getGroupName());
|
||||
*/
|
||||
// 20080527 End
|
||||
this.preparedStatement.setString(16,data.getNodeName());
|
||||
this.preparedStatement.setString(17,data.getAdapterGroupName());
|
||||
this.preparedStatement.setString(18,data.getGroupName());
|
||||
// 20080827 End
|
||||
|
||||
nExeCnt = executeUpdate();
|
||||
|
||||
// 20090227 Start
|
||||
// LU applcation id & LU 로그 update
|
||||
/*
|
||||
setStatement(UPDATE_LU_INFO);
|
||||
this.preparedStatement.setString(1,data.getApplyID());
|
||||
this.preparedStatement.setString(2,data.getLogYN());
|
||||
this.preparedStatement.setString(3,data.getStringLogLevel());
|
||||
this.preparedStatement.setInt(4,data.getLogSize());
|
||||
this.preparedStatement.setString(5,dateUtil.getDateMilliTime());
|
||||
this.preparedStatement.setString(6,data.getNodeName());
|
||||
this.preparedStatement.setString(7,data.getAdapterGroupName());
|
||||
this.preparedStatement.setString(8,data.getGroupName());
|
||||
*/
|
||||
if (data.getUpdateLuApplyID().compareTo("1") == 0) {
|
||||
setStatement(UPDATE_LU_INFO);
|
||||
this.preparedStatement.setString(1,data.getApplyID());
|
||||
this.preparedStatement.setString(2,data.getLogYN());
|
||||
this.preparedStatement.setString(3,data.getStringLogLevel());
|
||||
this.preparedStatement.setInt(4,data.getLogSize());
|
||||
this.preparedStatement.setString(5,dateUtil.getDateMilliTime());
|
||||
this.preparedStatement.setString(6,data.getNodeName());
|
||||
this.preparedStatement.setString(7,data.getAdapterGroupName());
|
||||
this.preparedStatement.setString(8,data.getGroupName());
|
||||
}
|
||||
else {
|
||||
setStatement(UPDATE_LU_INFO_EXCEPT_APPL_ID);
|
||||
this.preparedStatement.setString(1,data.getLogYN());
|
||||
this.preparedStatement.setString(2,data.getStringLogLevel());
|
||||
this.preparedStatement.setInt(3,data.getLogSize());
|
||||
this.preparedStatement.setString(4,dateUtil.getDateMilliTime());
|
||||
this.preparedStatement.setString(5,data.getNodeName());
|
||||
this.preparedStatement.setString(6,data.getAdapterGroupName());
|
||||
this.preparedStatement.setString(7,data.getGroupName());
|
||||
}
|
||||
// 20090227 End
|
||||
nExeCnt += executeUpdate();
|
||||
commit();
|
||||
return nExeCnt;
|
||||
}
|
||||
catch (SQLException e) {
|
||||
adapter_logger.error("updateSessionGroup error", e);
|
||||
throw new JDBCException("SessionGroupJDBC","updateSessionGroup",e);
|
||||
}
|
||||
finally {
|
||||
this.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,124 @@
|
||||
package com.eactive.eai.adapter.wca.cfg;
|
||||
|
||||
import com.eactive.eai.adapter.wca.servlet.TableInfoEx;
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 그룹 정보 관리 SQL Query문을 정의한 인터페이스
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see : 관련 기능을 참조
|
||||
* @since :
|
||||
*/
|
||||
public interface SessionGroupQueryEx
|
||||
{
|
||||
/**
|
||||
* 노드 이름에 해당하는 모든 LU 그룹 정보 SELECT QUERY
|
||||
*/
|
||||
/*
|
||||
public static final String GET_ALL_ADAPTER = "SELECT AdptrGstatSevrName, AdptrGroupName, LUGroupName, SoftLinkPortNo, WCASessCnt, " +
|
||||
" BkupAutoCnvsnYn, BkupAdptrGstatSevrName, BkupSoftLinkPortNo, BkupCnvsnBaseObstclRt, " +
|
||||
" LogUseYn, LogLvelName, MaxLogFileVal, SvcToutVal " +
|
||||
"FROM " + TableInfoEx.T_LU_GROUP + " where AdptrGstatSevrName=? ";
|
||||
*/
|
||||
|
||||
// 20080827 Start
|
||||
/**
|
||||
* 노드 이름, 어댑터 그룹 이름에 해당하는 모든 LU 그룹 정보 SELECT QUERY
|
||||
*/
|
||||
/*
|
||||
public static final String GET_ADAPTER = "SELECT AdptrGstatSevrName, AdptrGroupName, LUGroupName, SoftLinkPortNo, WCASessCnt, " +
|
||||
" BkupAutoCnvsnYn, BkupAdptrGstatSevrName, BkupSoftLinkPortNo, BkupCnvsnBaseObstclRt, " +
|
||||
" LogUseYn, LogLvelName, MaxLogFileVal, SvcToutVal, SoftLinkSevrName " +
|
||||
"FROM " + TableInfoEx.T_LU_GROUP + " where AdptrGstatSevrName=? AND AdptrGroupName=?";
|
||||
*/
|
||||
public static final String GET_ADAPTER = "SELECT ADPTRGSTATSEVRNAME, ADPTRGROUPNAME, LUGROUPNAME, SOFTLINKPORTNO, WCASESSCNT, " +
|
||||
" BKUPAUTOCNVSNYN, BKUPADPTRGSTATSEVRNAME, BKUPSOFTLINKPORTNO, BKUPCNVSNBASEOBSTCLRT, " +
|
||||
" LOGUSEYN, LOGLVELNAME, MAXLOGFILEVAL, SVCTOUTVAL " +
|
||||
"FROM " + TableInfoEx.T_LU_GROUP + " where ADPTRGSTATSEVRNAME=? AND ADPTRGROUPNAME=?";
|
||||
// 20080827 End
|
||||
|
||||
// 20080827 Start
|
||||
/**
|
||||
* 노드 이름, 어댑터 그룹 이름에 해당하는 모든 LU 그룹 정보 SELECT QUERY
|
||||
*/
|
||||
public static final String GET_SOFTLINK_NODE_NAME = "SELECT SNAADPTRSEVRNAME FROM " + TableInfoEx.T_LU_HOST + " where SNAADPTRSEVRIPNAME=?";
|
||||
|
||||
public static final String GET_SOFTLINK_IP_ADDR = "SELECT SNAADPTRSEVRIPNAME FROM " + TableInfoEx.T_LU_HOST + " where SNAADPTRSEVRNAME=?";
|
||||
// 20080827 End
|
||||
|
||||
// 20080827 Start
|
||||
// 20080527 Start
|
||||
/**
|
||||
* LU 그룹 정보 INSERT QUERY
|
||||
*/
|
||||
/*
|
||||
public static final String INSERT_SESSION_GROUP = "INSERT INTO " + TableInfoEx.T_LU_GROUP +
|
||||
" (AdptrGstatSevrName, AdptrGroupName, LUGroupName, SoftLinkPortNo, WCASessCnt, " +
|
||||
" SvcToutVal, DmyMsgSituVal, HostSndmsgRUVal, HostDpstRUVal, UapplIDName, " +
|
||||
" BkupAutoCnvsnYn, BkupCnvsnBaseObstclRt, BkupAdptrGstatSevrName, BkupSoftLinkPortNo, " +
|
||||
" LogUseYn, LogLvelName, MaxLogFileVal, "+
|
||||
" LUGroupRegiHMS, LUGroupAmndHMS, SoftLinkSevrName )" +
|
||||
"VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||
*/
|
||||
public static final String INSERT_SESSION_GROUP = "INSERT INTO " + TableInfoEx.T_LU_GROUP +
|
||||
" (ADPTRGSTATSEVRNAME, ADPTRGROUPNAME, LUGROUPNAME, SOFTLINKPORTNO, WCASESSCNT, " +
|
||||
" SVCTOUTVAL, DMYMSGSITUVAL, HOSTSNDMSGRUVAL, HOSTDPSTRUVAL, UAPPLIDNAME, " +
|
||||
" BKUPAUTOCNVSNYN, BKUPCNVSNBASEOBSTCLRT, BKUPADPTRGSTATSEVRNAME, BKUPSOFTLINKPORTNO, " +
|
||||
" LOGUSEYN, LOGLVELNAME, MAXLOGFILEVAL, "+
|
||||
" LUGROUPREGIHMS, LUGROUPAMNDHMS )" +
|
||||
"VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||
// 20080527 End
|
||||
// 20080827 End
|
||||
|
||||
/**
|
||||
* LU 그룹 정보 DELETE QUERY
|
||||
*/
|
||||
public static final String DELETE_SESSION_GROUP = "DELETE FROM "+ TableInfoEx.T_LU_GROUP +
|
||||
" WHERE ADPTRGSTATSEVRNAME=? AND ADPTRGROUPNAME=? AND LUGROUPNAME=?";
|
||||
/**
|
||||
* LU 그룹에 해당하는 모든 LU 정보 DELETE QUERY
|
||||
*/
|
||||
public static final String DELETE_ALL_LU_INFO = "DELETE FROM " + TableInfoEx.T_LU_INFO +
|
||||
" WHERE ADPTRGSTATSEVRNAME=? AND ADPTRGROUPNAME=? AND LUGROUPNAME=? ";
|
||||
// 20080827 Start
|
||||
// 20080527 Start
|
||||
/**
|
||||
* LU 그룹 정보 UPDATE QUERY
|
||||
*/
|
||||
/*
|
||||
public static final String UPDATE_SESSION_GROUP = "UPDATE "+ TableInfoEx.T_LU_GROUP +
|
||||
" SET SoftLinkPortNo=?, WCASessCnt=?, " +
|
||||
" SvcToutVal=?, DmyMsgSituVal=?, HostSndmsgRUVal=?, HostDpstRUVal=?, UapplIDName=?, " +
|
||||
" BkupAutoCnvsnYn=?, BkupCnvsnBaseObstclRt=?, BkupAdptrGstatSevrName=?, BkupSoftLinkPortNo=?, " +
|
||||
" LogUseYn=?, LogLvelName=?, MaxLogFileVal=?, " +
|
||||
" LUGroupAmndHMS=?, SoftLinkSevrName=? " +
|
||||
"WHERE AdptrGstatSevrName=? AND AdptrGroupName=? AND LUGroupName=?";
|
||||
*/
|
||||
// 20080527 End
|
||||
public static final String UPDATE_SESSION_GROUP = "UPDATE "+ TableInfoEx.T_LU_GROUP +
|
||||
" SET SOFTLINKPORTNO=?, WCASESSCNT=?, " +
|
||||
" SVCTOUTVAL=?, DMYMSGSITUVAL=?, HOSTSNDMSGRUVAL=?, HOSTDPSTRUVAL=?, UAPPLIDNAME=?, " +
|
||||
" BKUPAUTOCNVSNYN=?, BKUPCNVSNBASEOBSTCLRT=?, BKUPADPTRGSTATSEVRNAME=?, BKUPSOFTLINKPORTNO=?, " +
|
||||
" LOGUSEYN=?, LOGLVELNAME=?, MAXLOGFILEVAL=?, " +
|
||||
" LUGROUPAMNDHMS=? " +
|
||||
"WHERE ADPTRGSTATSEVRNAME=? AND ADPTRGROUPNAME=? AND LUGROUPNAME=?";
|
||||
// 20080827 End
|
||||
/**
|
||||
* LU 그룹에 속한 lu apply id 변경 & lu 로그 정보
|
||||
*/
|
||||
public static final String UPDATE_LU_INFO = "UPDATE "+ TableInfoEx.T_LU_INFO +
|
||||
" SET UAPPLIDNAME=?, LOGUSEYN=?, LOGLVELNAME=?, MAXLOGFILEVAL=?, LUAMNDHMS=? " +
|
||||
" WHERE ADPTRGSTATSEVRNAME=? AND ADPTRGROUPNAME=? AND LUGROUPNAME=?";
|
||||
|
||||
// 20090227 Start
|
||||
/**
|
||||
* LU 그룹에 속한 lu 로그 정보
|
||||
*/
|
||||
public static final String UPDATE_LU_INFO_EXCEPT_APPL_ID = "UPDATE "+ TableInfoEx.T_LU_INFO +
|
||||
" SET LOGUSEYN=?, LOGLVELNAME=?, MAXLOGFILEVAL=?, LUAMNDHMS=? " +
|
||||
" WHERE ADPTRGSTATSEVRNAME=? AND ADPTRGROUPNAME=? AND LUGROUPNAME=?";
|
||||
// 20090227 End
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
package com.eactive.eai.adapter.wca.cfg;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 정보 Object 클래스
|
||||
* 2. 처리 개요 : LU 정보를 Get/Set 한다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see : Serializable
|
||||
* @since :
|
||||
*/
|
||||
public class WcaInfoDataEx implements Serializable
|
||||
{
|
||||
/**
|
||||
* EAI Framework 노드 이름
|
||||
*/
|
||||
public String sEaiNodeName = "";
|
||||
|
||||
/**
|
||||
* EAI Framework 인스턴스 이름
|
||||
*/
|
||||
public String sEaiInstanceName = "";
|
||||
|
||||
/**
|
||||
* WCA 어댑터 그룹 이름
|
||||
*/
|
||||
public String sAdapterGroupName = "";
|
||||
|
||||
/**
|
||||
* WCA 어댑터 이름
|
||||
*/
|
||||
public String sAdapterName = "";
|
||||
|
||||
/**
|
||||
* app_code
|
||||
*/
|
||||
public String appCd = "";
|
||||
|
||||
/**
|
||||
* 1. 기능 : Defualt Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
**/
|
||||
public WcaInfoDataEx(String sAdapterGroupName, String sAdapterName , String sEaiNodeName , String sEaiInstanceName , String appCd) {
|
||||
if(sAdapterGroupName != null)
|
||||
this.sAdapterGroupName = sAdapterGroupName.trim();
|
||||
|
||||
if(sAdapterName != null)
|
||||
this.sAdapterName = sAdapterName.trim();
|
||||
|
||||
if(sEaiNodeName != null)
|
||||
this.sEaiNodeName = sEaiNodeName.trim();
|
||||
|
||||
if(sEaiInstanceName != null)
|
||||
this.sEaiInstanceName = sEaiInstanceName.trim();
|
||||
|
||||
if(appCd != null)
|
||||
this.appCd = appCd.trim();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 정보 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return LU 정보
|
||||
**/
|
||||
public String toString() {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
sb.append("WCA 정보 [ 어댑터 그룹 이름 =").append(sAdapterGroupName);
|
||||
sb.append(", 어댑터 이름 =").append(sAdapterName);
|
||||
sb.append(", 인스턴스명 =").append(sEaiInstanceName);
|
||||
sb.append(", 노드명 =").append(sEaiNodeName);
|
||||
sb.append(", 어플리케이션코드 =").append(appCd);
|
||||
sb.append(" ]");
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.eactive.eai.adapter.wca.command;
|
||||
|
||||
public interface DBCommand
|
||||
{
|
||||
public static final String CMD_UPDATE = "UPDATE";
|
||||
public static final String CMD_INSERT = "INSERT";
|
||||
public static final String CMD_DELETE = "DELETE";
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
package com.eactive.eai.adapter.wca.command;
|
||||
|
||||
import com.eactive.eai.adapter.wca.cfg.SNAAdapterManager;
|
||||
import com.eactive.eai.adapter.wca.cfg.SessionGroupDataEx;
|
||||
import com.eactive.eai.adapter.wca.global.WCADefine;
|
||||
import com.eactive.eai.agent.command.Command;
|
||||
import com.eactive.eai.agent.command.CommandException;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
|
||||
/**
|
||||
* 1. 기능 : EAI 서버에 실시간 LU 세션 그룹 삭제
|
||||
* 2. 처리 개요 :
|
||||
* - SNAAdapterManager 클래스에 deleteSessionGroup 함수 실행
|
||||
* - softlink에 notify 해준다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version :
|
||||
* @see :
|
||||
* @since :
|
||||
*/
|
||||
public class DeleteSessionGroupEx extends Command
|
||||
{
|
||||
/**
|
||||
* 1. 기능 : Default Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
**/
|
||||
public DeleteSessionGroupEx() {
|
||||
super("DeleteSessionGroup");
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 세션 그룹 삭제
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @exception CommandException command 실행 시 발생하는 예외 상황
|
||||
**/
|
||||
public Object execute() throws CommandException
|
||||
{
|
||||
Logger adapter_logger = Logger.getLogger(WCADefine.ADAPTER_LOGGER_NAME);
|
||||
|
||||
adapter_logger.warn("DeleteSessionGroupEx:execute> Start Execute Command, Command = " + this.name);
|
||||
|
||||
if(!(args instanceof SessionGroupDataEx) ) {
|
||||
String rspErrorCode = "RECEAIMCM001";
|
||||
String msg = makeException(rspErrorCode, null);
|
||||
adapter_logger.error("DeleteSessionGroupEx:execute> Invalid Data Type, Msg = " + msg);
|
||||
throw new CommandException(msg);
|
||||
}
|
||||
|
||||
try {
|
||||
SessionGroupDataEx data = (SessionGroupDataEx)args;
|
||||
SNAAdapterManager.getInstance().deleteLuGroupInfoEx(data);
|
||||
}
|
||||
catch (Exception e) {
|
||||
String rspErrorCode = "RECEAIMCM002";
|
||||
String msg = makeException(rspErrorCode, e);
|
||||
adapter_logger.error("InsertSessionGroupEx:execute> Exception Occur, Msg = " + msg, e);
|
||||
// e.printStackTrace();
|
||||
throw new CommandException(msg);
|
||||
}
|
||||
return "success";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
package com.eactive.eai.adapter.wca.command;
|
||||
|
||||
import com.eactive.eai.adapter.wca.cfg.SNAAdapterManager;
|
||||
import com.eactive.eai.adapter.wca.cfg.SessionGroupDataEx;
|
||||
import com.eactive.eai.adapter.wca.global.WCADefine;
|
||||
import com.eactive.eai.agent.command.Command;
|
||||
import com.eactive.eai.agent.command.CommandException;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
|
||||
/**
|
||||
* 1. 기능 : EAI 서버에 실시간 LU 세션 그룹 등록
|
||||
* 2. 처리 개요 :
|
||||
* - SNAAdapterManager 클래스에 insertSessionGroup 함수 실행
|
||||
* - softlink에 notify 해준다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version :
|
||||
* @see :
|
||||
* @since :
|
||||
*/
|
||||
public class InsertSessionGroupEx extends Command
|
||||
{
|
||||
/**
|
||||
* 1. 기능 : Default Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
**/
|
||||
public InsertSessionGroupEx() {
|
||||
super("InsertSessionGroup");
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 세션 그룹 등록
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @exception CommandException command 실행 시 발생하는 예외 상황
|
||||
**/
|
||||
public Object execute() throws CommandException
|
||||
{
|
||||
Logger adapter_logger = Logger.getLogger(WCADefine.ADAPTER_LOGGER_NAME);
|
||||
|
||||
adapter_logger.warn("InsertSessionGroupEx:execute> Start Execute Command, Command = " + this.name);
|
||||
|
||||
if(!(args instanceof SessionGroupDataEx)) {
|
||||
String rspErrorCode = "RECEAIMCM001";
|
||||
String msg = makeException(rspErrorCode, null);
|
||||
adapter_logger.error("InsertSessionGroupEx:execute> Invalid Data Type, Msg = " + msg);
|
||||
throw new CommandException(msg);
|
||||
}
|
||||
|
||||
try {
|
||||
SessionGroupDataEx data = (SessionGroupDataEx)args;
|
||||
SNAAdapterManager.getInstance().insertLuGroupInfoEx(data);
|
||||
}
|
||||
catch (Exception e) {
|
||||
String rspErrorCode = "RECEAIMCM002";
|
||||
String msg = makeException(rspErrorCode, e);
|
||||
adapter_logger.error("InsertSessionGroupEx:execute> Exception Occur, Msg = " + msg, e);
|
||||
throw new CommandException(msg);
|
||||
}
|
||||
return "success";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
package com.eactive.eai.adapter.wca.command;
|
||||
|
||||
import com.eactive.eai.adapter.wca.cfg.SessionGroupDataEx;
|
||||
import com.eactive.eai.adapter.wca.global.WCADefine;
|
||||
import com.eactive.eai.agent.command.Command;
|
||||
import com.eactive.eai.agent.command.CommandException;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
|
||||
/**
|
||||
* 1. 기능 : EAI 서버에 실시간 LU 세션 그룹 삭제
|
||||
* 2. 처리 개요 :
|
||||
* - SNAAdapterManager 클래스에 deleteSessionGroup 함수 실행
|
||||
* - softlink에 notify 해준다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version :
|
||||
* @see :
|
||||
* @since :
|
||||
*/
|
||||
public class StartSessionGroupEx extends Command
|
||||
{
|
||||
/**
|
||||
* 1. 기능 : Default Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
**/
|
||||
public StartSessionGroupEx() {
|
||||
super("DeleteSessionGroup");
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 세션 그룹 삭제
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @exception CommandException command 실행 시 발생하는 예외 상황
|
||||
**/
|
||||
public Object execute() throws CommandException
|
||||
{
|
||||
Logger adapter_logger = Logger.getLogger(WCADefine.ADAPTER_LOGGER_NAME);
|
||||
|
||||
adapter_logger.warn("DeleteSessionGroupEx:execute> Start Execute Command, Command = " + this.name);
|
||||
|
||||
if(!(args instanceof SessionGroupDataEx) ) {
|
||||
String rspErrorCode = "RECEAIMCM001";
|
||||
String msg = makeException(rspErrorCode, null);
|
||||
adapter_logger.error("DeleteSessionGroupEx:execute> Invalid Data Type, Msg = " + msg);
|
||||
throw new CommandException(msg);
|
||||
}
|
||||
|
||||
// try {
|
||||
// SessionGroupDataEx data = (SessionGroupDataEx)args;
|
||||
// // SNAAdapterManager.getInstance().deleteLuGroupInfoEx(data);
|
||||
// }
|
||||
// catch (Exception e) {
|
||||
// String rspErrorCode = "RECEAIMCM002";
|
||||
// String msg = makeException(rspErrorCode, e);
|
||||
// adapter_logger.error("InsertSessionGroupEx:execute> Exception Occur, Msg = " + msg, e);
|
||||
//// e.printStackTrace();
|
||||
// throw new CommandException(msg);
|
||||
// }
|
||||
return "success";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
package com.eactive.eai.adapter.wca.command;
|
||||
|
||||
import com.eactive.eai.adapter.wca.cfg.SessionGroupDataEx;
|
||||
import com.eactive.eai.adapter.wca.global.WCADefine;
|
||||
import com.eactive.eai.agent.command.Command;
|
||||
import com.eactive.eai.agent.command.CommandException;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
|
||||
/**
|
||||
* 1. 기능 : EAI 서버에 실시간 LU 세션 그룹 삭제
|
||||
* 2. 처리 개요 :
|
||||
* - SNAAdapterManager 클래스에 deleteSessionGroup 함수 실행
|
||||
* - softlink에 notify 해준다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version :
|
||||
* @see :
|
||||
* @since :
|
||||
*/
|
||||
public class StopSessionGroupEx extends Command
|
||||
{
|
||||
/**
|
||||
* 1. 기능 : Default Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
**/
|
||||
public StopSessionGroupEx() {
|
||||
super("DeleteSessionGroup");
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 세션 그룹 삭제
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @exception CommandException command 실행 시 발생하는 예외 상황
|
||||
**/
|
||||
public Object execute() throws CommandException
|
||||
{
|
||||
Logger adapter_logger = Logger.getLogger(WCADefine.ADAPTER_LOGGER_NAME);
|
||||
|
||||
adapter_logger.warn("DeleteSessionGroupEx:execute> Start Execute Command, Command = " + this.name);
|
||||
|
||||
if(!(args instanceof SessionGroupDataEx) ) {
|
||||
String rspErrorCode = "RECEAIMCM001";
|
||||
String msg = makeException(rspErrorCode, null);
|
||||
adapter_logger.error("DeleteSessionGroupEx:execute> Invalid Data Type, Msg = " + msg);
|
||||
throw new CommandException(msg);
|
||||
}
|
||||
|
||||
// try {
|
||||
// SessionGroupDataEx data = (SessionGroupDataEx)args;
|
||||
// // SNAAdapterManager.getInstance().deleteLuGroupInfoEx(data);
|
||||
// }
|
||||
// catch (Exception e) {
|
||||
// String rspErrorCode = "RECEAIMCM002";
|
||||
// String msg = makeException(rspErrorCode, e);
|
||||
// adapter_logger.error("InsertSessionGroupEx:execute> Exception Occur, Msg = " + msg, e);
|
||||
// throw new CommandException(msg);
|
||||
// }
|
||||
return "success";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
package com.eactive.eai.adapter.wca.command;
|
||||
|
||||
import com.eactive.eai.adapter.wca.cfg.LUInfoDataEx;
|
||||
import com.eactive.eai.adapter.wca.cfg.SNAAdapterManager;
|
||||
import com.eactive.eai.adapter.wca.global.WCADefine;
|
||||
import com.eactive.eai.agent.command.Command;
|
||||
import com.eactive.eai.agent.command.CommandException;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
|
||||
/**
|
||||
* 1. 기능 : EAI 서버에 실시간 LU 정보 수정
|
||||
* 2. 처리 개요 :
|
||||
* - SNAAdapterManager 클래스에 loadLUInfos, setLUGroupTranModes 함수 실행
|
||||
* - softlink에 notify 해준다.
|
||||
* - LU별 로그 실시간 적용할 경우, softlink에 로그 정보를 notify 해준다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version :
|
||||
* @see :
|
||||
* @since :
|
||||
*/
|
||||
|
||||
public class UpdateLUInfoEx extends Command
|
||||
{
|
||||
/**
|
||||
* 1. 기능 : Default Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
**/
|
||||
public UpdateLUInfoEx() {
|
||||
super("UpdateLUInfo");
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 정보 수정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @exception CommandException command 실행 시 발생하는 예외 상황
|
||||
**/
|
||||
public Object execute() throws CommandException
|
||||
{
|
||||
Logger adapter_logger = Logger.getLogger(WCADefine.ADAPTER_LOGGER_NAME);
|
||||
// Logger trc_logger = Logger.getLogger(Logger.LOGGER_ADAPTER);
|
||||
|
||||
// 20080527 Start
|
||||
/*
|
||||
if(adapter_logger.isInfo()) adapter_logger.info(this.name + " is executed");
|
||||
*/
|
||||
if(adapter_logger.isWarn()) adapter_logger.warn(this.name + " is executed");
|
||||
// 20080527 End
|
||||
|
||||
if( !(args instanceof LUInfoDataEx) ) {
|
||||
String rspErrorCode = "RECEAIMCM001";
|
||||
String msg = makeException(rspErrorCode, null);
|
||||
if(adapter_logger.isError()) adapter_logger.error(msg);
|
||||
throw new CommandException(msg);
|
||||
}
|
||||
|
||||
SNAAdapterManager manager = SNAAdapterManager.getInstance();
|
||||
// LUInfoDataEx lu_data = (LUInfoDataEx)args;
|
||||
|
||||
// 20080827 Start
|
||||
/*
|
||||
if(!MyUtil.isLocalHostName(lu_data.getNodeName()))
|
||||
{
|
||||
if(trc_logger.isInfo()) trc_logger.info("UpdateLUInfoCommand]적용 Node명이 틀립니다. " +lu_data.getNodeName());
|
||||
return;
|
||||
}
|
||||
*/
|
||||
// 20080827 End
|
||||
|
||||
try {
|
||||
// 1. 메모리 update
|
||||
manager.loadLUInfos();
|
||||
|
||||
/*
|
||||
if(adapter_logger.isWarn()) adapter_logger.warn(this.name + " Skip Update Commnad");
|
||||
|
||||
// 2. softlink notify
|
||||
RuntimeUtil.getInstance().notifyAllSoftlink();
|
||||
*/
|
||||
}
|
||||
catch(Exception e) {
|
||||
String rspErrorCode = "RECEAIMCM002";
|
||||
String msg = makeException(rspErrorCode, e);
|
||||
if(adapter_logger.isError()) adapter_logger.error(msg, e);
|
||||
// e.printStackTrace();
|
||||
throw new CommandException(msg);
|
||||
}
|
||||
return "success";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
package com.eactive.eai.adapter.wca.command;
|
||||
|
||||
import com.eactive.eai.adapter.wca.cfg.SNAAdapterManager;
|
||||
import com.eactive.eai.adapter.wca.cfg.SessionGroupDataEx;
|
||||
import com.eactive.eai.adapter.wca.global.WCADefine;
|
||||
import com.eactive.eai.agent.command.Command;
|
||||
import com.eactive.eai.agent.command.CommandException;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
|
||||
/**
|
||||
* 1. 기능 : EAI 서버에 실시간 LU 세션 그룹 수정
|
||||
* 2. 처리 개요 :
|
||||
* - SNAAdapterManager 클래스에 updateSessionGroup 함수 실행
|
||||
* - softlink에 notify 해준다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version :
|
||||
* @see :
|
||||
* @since :
|
||||
*/
|
||||
|
||||
public class UpdateSessionGroupEx extends Command
|
||||
{
|
||||
/**
|
||||
* 1. 기능 : Default Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
**/
|
||||
public UpdateSessionGroupEx() {
|
||||
super("UpdateSessionGroup");
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 세션 그룹 수정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @exception CommandException command 실행 시 발생하는 예외 상황
|
||||
**/
|
||||
public Object execute() throws CommandException
|
||||
{
|
||||
Logger adapter_logger = Logger.getLogger(WCADefine.ADAPTER_LOGGER_NAME);
|
||||
|
||||
adapter_logger.warn("UpdateSessionGroupEx:execute> Start Execute Command, Command = " + this.name);
|
||||
|
||||
if( !(args instanceof SessionGroupDataEx) ) {
|
||||
String rspErrorCode = "RECEAIMCM001";
|
||||
String msg = makeException(rspErrorCode, null);
|
||||
adapter_logger.error("UpdateSessionGroupEx:execute> Invalid Data Type, Msg = " + msg);
|
||||
throw new CommandException(msg);
|
||||
}
|
||||
|
||||
try {
|
||||
SessionGroupDataEx data = (SessionGroupDataEx)args;
|
||||
SNAAdapterManager.getInstance().updateLuGroupInfoEx(data);
|
||||
}
|
||||
catch (Exception e){
|
||||
String rspErrorCode = "RECEAIMCM002";
|
||||
String msg = makeException(rspErrorCode, e);
|
||||
adapter_logger.error("InsertSessionGroupEx:execute> Exception Occur, Msg = " + msg, e);
|
||||
throw new CommandException(msg);
|
||||
}
|
||||
return "success";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
package com.eactive.eai.adapter.wca.command;
|
||||
|
||||
import com.eactive.eai.adapter.wca.cfg.SNAAdapterManager;
|
||||
import com.eactive.eai.adapter.wca.cfg.WcaInfoDataEx;
|
||||
import com.eactive.eai.adapter.wca.global.WCADefine;
|
||||
import com.eactive.eai.agent.command.Command;
|
||||
import com.eactive.eai.agent.command.CommandException;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
|
||||
/**
|
||||
* 1. 기능 : EAI 서버에 실시간 LU 세션 그룹 수정
|
||||
* 2. 처리 개요 :
|
||||
* - SNAAdapterManager 클래스에 updateWcaAppCode 함수 실행
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version :
|
||||
* @see :
|
||||
* @since :
|
||||
*/
|
||||
|
||||
public class UpdateWcaAppCodeEx extends Command
|
||||
{
|
||||
/**
|
||||
* 1. 기능 : Default Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
**/
|
||||
public UpdateWcaAppCodeEx() {
|
||||
super("UpdateWcaAppCodeEx");
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 세션 그룹 수정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @exception CommandException command 실행 시 발생하는 예외 상황
|
||||
**/
|
||||
public Object execute() throws CommandException
|
||||
{
|
||||
Logger adapter_logger = Logger.getLogger(WCADefine.ADAPTER_LOGGER_NAME);
|
||||
|
||||
adapter_logger.warn("UpdateWcaAppCodeEx:execute> Start Execute Command, Command = " + this.name);
|
||||
|
||||
if (!(args instanceof WcaInfoDataEx)) {
|
||||
String rspErrorCode = "RECEAIMCM001";
|
||||
String msg = makeException(rspErrorCode, null);
|
||||
adapter_logger.error("UpdateWcaAppCodeEx:execute> Invalid Data Type, Msg = " + msg);
|
||||
throw new CommandException(msg);
|
||||
}
|
||||
|
||||
try {
|
||||
WcaInfoDataEx data = (WcaInfoDataEx)args;
|
||||
SNAAdapterManager.getInstance().updateWcaAppCodeEx(data);
|
||||
}
|
||||
catch (Exception e) {
|
||||
String rspErrorCode = "RECEAIMCM002";
|
||||
String msg = makeException(rspErrorCode, e);
|
||||
adapter_logger.error("InsertSessionGroupEx:execute> Exception Occur, Msg = " + msg, e);
|
||||
throw new CommandException(msg);
|
||||
}
|
||||
|
||||
return "success";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
package com.eactive.eai.adapter.wca.command;
|
||||
|
||||
import com.eactive.eai.adapter.wca.cfg.SNAAdapterManager;
|
||||
import com.eactive.eai.adapter.wca.cfg.WcaInfoDataEx;
|
||||
import com.eactive.eai.adapter.wca.global.WCADefine;
|
||||
import com.eactive.eai.agent.command.Command;
|
||||
import com.eactive.eai.agent.command.CommandException;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
|
||||
/**
|
||||
* 1. 기능 : EAI 서버에 실시간 LU 세션 그룹 삭제
|
||||
* 2. 처리 개요 :
|
||||
* - SNAAdapterManager 클래스에 deleteSessionGroup 함수 실행
|
||||
* - softlink에 notify 해준다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version :
|
||||
* @see :
|
||||
* @since :
|
||||
*/
|
||||
public class UpdateWcaInfoEx extends Command
|
||||
{
|
||||
/**
|
||||
* 1. 기능 : Default Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
**/
|
||||
public UpdateWcaInfoEx() {
|
||||
super("UpdateWcaInfo");
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 세션 그룹 삭제
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @exception CommandException command 실행 시 발생하는 예외 상황
|
||||
**/
|
||||
public Object execute() throws CommandException
|
||||
{
|
||||
Logger adapter_logger = Logger.getLogger(WCADefine.ADAPTER_LOGGER_NAME);
|
||||
|
||||
adapter_logger.warn("UpdateWcaInfoEx:execute> Start Execute Command, Command = " + this.name);
|
||||
|
||||
if(!(args instanceof WcaInfoDataEx) ) {
|
||||
String rspErrorCode = "RECEAIMCM001";
|
||||
String msg = makeException(rspErrorCode, null);
|
||||
adapter_logger.error("UpdateWcaInfoEx:execute> Invalid Data Type, Msg = " + msg);
|
||||
throw new CommandException(msg);
|
||||
}
|
||||
|
||||
try {
|
||||
WcaInfoDataEx data = (WcaInfoDataEx)args;
|
||||
SNAAdapterManager.getInstance().updateWcaInfo(data);
|
||||
}
|
||||
catch (Exception e) {
|
||||
String rspErrorCode = "RECEAIMCM002";
|
||||
String msg = makeException(rspErrorCode, e);
|
||||
adapter_logger.error("UpdateWcaInfoEx:execute> Exception Occur, Msg = " + msg, e);
|
||||
|
||||
throw new CommandException(msg);
|
||||
}
|
||||
return "success";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
package com.eactive.eai.adapter.wca.data;
|
||||
|
||||
/**
|
||||
* 1. 기능 : 백업 전환 / 복구 데이타
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see :
|
||||
* @since :
|
||||
*/
|
||||
public class AppCodeCmd extends WCAHeader {
|
||||
|
||||
public int nLen = 0;
|
||||
|
||||
/**
|
||||
* 1. 기능 : 백업 전환 정보 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 백업 전환
|
||||
**/
|
||||
public String toString() {
|
||||
StringBuffer sbTmp = new StringBuffer();
|
||||
|
||||
sbTmp.append(getKey() + ", " + getLUName() + ", " + getMode() + ", " + getDataType());
|
||||
return sbTmp.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : DataCode Command 클래스 Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sDataCode 데이타 코드
|
||||
**/
|
||||
public AppCodeCmd(String sDataCode) {
|
||||
this.nLen = WCA_HEADER_LEN + sDataCode.length();
|
||||
this.pHeaderBuff = new byte[nLen];
|
||||
setDataType(WCAHeader.DATA_TYPE_APP_CODE);
|
||||
System.arraycopy(sDataCode.getBytes(), 0, pHeaderBuff, WCA_HEADER_LEN, sDataCode.getBytes().length);
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 데이타 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 데이타
|
||||
**/
|
||||
public byte[] getData() {
|
||||
return pHeaderBuff;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,156 @@
|
||||
package com.eactive.eai.adapter.wca.data;
|
||||
|
||||
import com.eactive.eai.adapter.wca.exception.WCAException;
|
||||
import com.eactive.eai.adapter.wca.util.MyUtil;
|
||||
|
||||
/**
|
||||
* 1. 기능 : 백업 전환 / 복구 데이타
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see :
|
||||
* @since :
|
||||
*/
|
||||
public class ManualBackupCmd extends WCAHeader {
|
||||
/**
|
||||
* 어댑터 그룹 이름 길이
|
||||
*/
|
||||
public static final int LEN_ADAPTER_GRP_NAME = 50;
|
||||
|
||||
/**
|
||||
* LU 그룹 이름 길이
|
||||
*/
|
||||
public static final int LEN_LU_GRP_NAME = 55;
|
||||
|
||||
/**
|
||||
* 어댑터 그룹 이름 Offset
|
||||
*/
|
||||
public static final int OFFSET_ADAPTER_GRP_NAME = WCA_HEADER_LEN;
|
||||
|
||||
/**
|
||||
* LU 그룹 이름 Offset
|
||||
*/
|
||||
public static final int OFFSET_LU_GRP_NAME = OFFSET_ADAPTER_GRP_NAME + LEN_ADAPTER_GRP_NAME;
|
||||
|
||||
/**
|
||||
* 백업 전환 데이타 크기
|
||||
*/
|
||||
public static final int BACKUP_CMD_LEN = OFFSET_LU_GRP_NAME + LEN_LU_GRP_NAME;
|
||||
|
||||
/**
|
||||
* 1. 기능 : 백업 전환 정보 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 백업 전환
|
||||
**/
|
||||
public String toString() {
|
||||
StringBuffer sbTmp = new StringBuffer();
|
||||
|
||||
sbTmp.append(getKey() + ", " + getLUName() + ", " + getMode() + ", " + getDataType());
|
||||
return sbTmp.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 백업 전환 Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param nLen 데이타 길이
|
||||
* @param pBuff 데이타
|
||||
**/
|
||||
public ManualBackupCmd(int nLen, byte[] pBuff) {
|
||||
this.nLen = nLen;
|
||||
this.pHeaderBuff = pBuff;
|
||||
}
|
||||
|
||||
public ManualBackupCmd() {
|
||||
this.nLen = BACKUP_CMD_LEN;
|
||||
this.pHeaderBuff = new byte[nLen];
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 데이타 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 데이타
|
||||
**/
|
||||
public byte[] getData() {
|
||||
return pHeaderBuff;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 어댑터 그룹 이름 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 어댑터 그룹 이름
|
||||
**/
|
||||
public String getAdapterGrpName() {
|
||||
byte[] pBuff = new byte[LEN_ADAPTER_GRP_NAME];
|
||||
|
||||
System.arraycopy(pHeaderBuff, OFFSET_ADAPTER_GRP_NAME, pBuff, 0, LEN_ADAPTER_GRP_NAME);
|
||||
|
||||
String sAdapterGrpName = new String(pBuff);
|
||||
sAdapterGrpName = MyUtil.replaceString(sAdapterGrpName, String.valueOf((char)0x00), "");
|
||||
return sAdapterGrpName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 어댑터 그룹 이름 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param 어댑터 그룹 이름
|
||||
**/
|
||||
public void setAdapterGrpName(String adapterGrpName) throws WCAException {
|
||||
if (adapterGrpName == null) {
|
||||
throw new WCAException(WCAException.E_SEND_DATA_ERROR, "어댑터 그룹명");
|
||||
}
|
||||
|
||||
// Space로 채움
|
||||
adapterGrpName = MyUtil.rightPadString(adapterGrpName, LEN_ADAPTER_GRP_NAME, " ");
|
||||
|
||||
byte[] pBuff = adapterGrpName.getBytes();
|
||||
System.arraycopy(pBuff, 0, pHeaderBuff, OFFSET_ADAPTER_GRP_NAME, LEN_ADAPTER_GRP_NAME);
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 그룹 이름 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return LU 그룹 이름
|
||||
**/
|
||||
public String getLUGrpName() {
|
||||
byte[] pBuff = new byte[LEN_LU_GRP_NAME];
|
||||
|
||||
System.arraycopy(pHeaderBuff, OFFSET_LU_GRP_NAME, pBuff, 0, LEN_LU_GRP_NAME);
|
||||
|
||||
String sLUGrpName = new String(pBuff);
|
||||
sLUGrpName = MyUtil.replaceString(sLUGrpName, String.valueOf((char)0x00), "");
|
||||
return sLUGrpName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 그룹 이름 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param LU 그룹 이름
|
||||
**/
|
||||
public void setLUGrpName(String luGrpName) throws WCAException {
|
||||
if (luGrpName == null) {
|
||||
throw new WCAException(WCAException.E_SEND_DATA_ERROR, "LU 그룹명");
|
||||
}
|
||||
|
||||
// Space로 채움
|
||||
luGrpName = MyUtil.rightPadString(luGrpName, LEN_LU_GRP_NAME, " ");
|
||||
|
||||
byte[] pBuff = luGrpName.getBytes();
|
||||
System.arraycopy(pBuff, 0, pHeaderBuff, OFFSET_LU_GRP_NAME, LEN_LU_GRP_NAME);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
package com.eactive.eai.adapter.wca.data;
|
||||
|
||||
/**
|
||||
* 1. 기능 : 백업 전환 / 복구 데이타
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see :
|
||||
* @since :
|
||||
*/
|
||||
public class WCAAdapterInfoCmd extends WCAHeader {
|
||||
|
||||
public int nLen = 0;
|
||||
|
||||
/**
|
||||
* 1. 기능 : 백업 전환 정보 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 백업 전환
|
||||
**/
|
||||
public String toString() {
|
||||
StringBuffer sbTmp = new StringBuffer();
|
||||
|
||||
sbTmp.append(getKey() + ", " + getLUName() + ", " + getMode() + ", " + getDataType());
|
||||
return sbTmp.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : DataCode Command 클래스 Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sDataCode 데이타 코드
|
||||
**/
|
||||
public WCAAdapterInfoCmd(String sAdapterInfo) {
|
||||
this.nLen = WCA_HEADER_LEN + sAdapterInfo.length();
|
||||
this.pHeaderBuff = new byte[nLen];
|
||||
setDataType(WCAHeader.DATA_TYPE_WCA_ADPT_INFO);
|
||||
System.arraycopy(sAdapterInfo.getBytes(), 0, pHeaderBuff, WCA_HEADER_LEN, sAdapterInfo.getBytes().length);
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 데이타 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 데이타
|
||||
**/
|
||||
public byte[] getData() {
|
||||
return pHeaderBuff;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,273 @@
|
||||
package com.eactive.eai.adapter.wca.data;
|
||||
|
||||
import com.eactive.eai.adapter.wca.SNAProperties;
|
||||
import com.eactive.eai.adapter.wca.exception.WCAException;
|
||||
import com.eactive.eai.adapter.wca.util.MyUtil;
|
||||
|
||||
/**
|
||||
* 1. 기능 : Softlink와 데이타 송수신에 필요한 정보
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see :
|
||||
* @since : 2005. 6. 23. 오전 11:16:42
|
||||
*/
|
||||
public class WCAHeader implements SNAProperties {
|
||||
/**
|
||||
* Transaction 키 길이
|
||||
*/
|
||||
public static final int LEN_TRAN_KEY = 40;
|
||||
|
||||
/**
|
||||
* LU 이름 길이
|
||||
*/
|
||||
public static final int LEN_LUNAME = 8;
|
||||
|
||||
/**
|
||||
* 호출 모드 (Response/Non-response) 길이
|
||||
*/
|
||||
public static final int LEN_MODE = 1;
|
||||
|
||||
/**
|
||||
* HOST 수신 데이터의 종류 길이
|
||||
*/
|
||||
public static final int LEN_DATA_TYPE = 2;
|
||||
|
||||
|
||||
/**
|
||||
* Transaction 키 Offset
|
||||
*/
|
||||
public static final int OFFSET_TRAN_KEY = 0;
|
||||
|
||||
/**
|
||||
* LU 이름 Offset
|
||||
*/
|
||||
public static final int OFFSET_LUNAME = LEN_TRAN_KEY;
|
||||
|
||||
/**
|
||||
* 호출 모드 (Response/Non-response) Offset
|
||||
*/
|
||||
public static final int OFFSET_MODE = OFFSET_LUNAME + LEN_LUNAME;
|
||||
|
||||
/**
|
||||
* HOST 수신 데이터의 종류 Offset
|
||||
*/
|
||||
public static final int OFFSET_DATA_TYPE = OFFSET_MODE + LEN_MODE;
|
||||
|
||||
/**
|
||||
* WCA Header 크기
|
||||
*/
|
||||
public static final int WCA_HEADER_LEN = OFFSET_DATA_TYPE + LEN_DATA_TYPE;
|
||||
|
||||
/**
|
||||
* Tran Key가 null
|
||||
*/
|
||||
public static final byte[] NULL_TRANKEY = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
|
||||
|
||||
/**
|
||||
* LU 이름이 null
|
||||
*/
|
||||
public static final byte[] NULL_TSNAME = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
|
||||
|
||||
/**
|
||||
* 1. 기능 : Header 정보 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return Header 정보
|
||||
**/
|
||||
public String toString() {
|
||||
StringBuffer sbTmp = new StringBuffer();
|
||||
|
||||
sbTmp.append(getKey() + ", " + getLUName() + ", " + getMode() + ", " + getDataType());
|
||||
return sbTmp.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Header 길이
|
||||
*/
|
||||
int nLen = 0;
|
||||
|
||||
/**
|
||||
* Header 데이타
|
||||
*/
|
||||
byte[] pHeaderBuff = null;
|
||||
|
||||
/**
|
||||
* 1. 기능 : WCA Header Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param nLen header 길이
|
||||
* @param pBuff header 데이타
|
||||
**/
|
||||
public WCAHeader(int nLen, byte[] pBuff) {
|
||||
this.nLen = nLen;
|
||||
this.pHeaderBuff = pBuff;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : WCA Header default Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
**/
|
||||
public WCAHeader() {
|
||||
this.nLen = WCA_HEADER_LEN;
|
||||
this.pHeaderBuff = new byte[WCA_HEADER_LEN];
|
||||
|
||||
for (int i = 0; i < WCA_HEADER_LEN; i++) {
|
||||
pHeaderBuff[i] = (byte)0x00;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Header 데이타 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return Header 데이타
|
||||
**/
|
||||
public byte[] getHeader() {
|
||||
return pHeaderBuff;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 트랜잭션 키 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 트랜잭션 키
|
||||
**/
|
||||
public String getKey() {
|
||||
byte[] pBuff = new byte[LEN_TRAN_KEY];
|
||||
|
||||
System.arraycopy(pHeaderBuff, OFFSET_TRAN_KEY, pBuff, 0, LEN_TRAN_KEY);
|
||||
|
||||
String sHeaderField = new String(pBuff);
|
||||
return sHeaderField;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 트랜잭션 키 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param 트랜잭션 키
|
||||
**/
|
||||
public void setKey(String key) throws WCAException {
|
||||
if (key == null) {
|
||||
throw new WCAException(WCAException.E_SEND_DATA_ERROR, "Transaction Key");
|
||||
}
|
||||
|
||||
// TRAN KEY Space로 채움
|
||||
key = MyUtil.rightPadString(key, LEN_TRAN_KEY, " ");
|
||||
|
||||
byte[] pBuff = key.getBytes();
|
||||
System.arraycopy(pBuff, 0, pHeaderBuff, OFFSET_TRAN_KEY, LEN_TRAN_KEY);
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 이름 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return LU 이름
|
||||
**/
|
||||
public String getLUName() {
|
||||
byte[] pBuff = new byte[LEN_LUNAME];
|
||||
|
||||
System.arraycopy(pHeaderBuff, OFFSET_LUNAME, pBuff, 0, LEN_LUNAME);
|
||||
|
||||
String sHeaderField = new String(pBuff);
|
||||
|
||||
return sHeaderField;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 이름 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param LU 이름
|
||||
**/
|
||||
public void setLUName(String tsname) throws WCAException {
|
||||
try {
|
||||
if (tsname == null) { tsname = ""; }
|
||||
byte[] pBuff = tsname.getBytes();
|
||||
|
||||
int nLen = pBuff.length;
|
||||
if (nLen > LEN_LUNAME) {
|
||||
nLen = LEN_LUNAME;
|
||||
}
|
||||
System.arraycopy(pBuff, 0, pHeaderBuff, OFFSET_LUNAME, nLen);
|
||||
}
|
||||
catch (Exception e) {
|
||||
throw new WCAException(WCAException.E_SEND_DATA_ERROR, "LU NAME");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 호출 모드 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 호출 모드
|
||||
**/
|
||||
public char getMode() {
|
||||
return (char)pHeaderBuff[OFFSET_MODE];
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 호출 모드 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param 호출 모드
|
||||
**/
|
||||
public void setMode(String mode) throws WCAException {
|
||||
if (mode == null) {
|
||||
throw new WCAException(WCAException.E_SEND_DATA_ERROR, "호출모드");
|
||||
}
|
||||
|
||||
mode = MyUtil.rightPadString(mode, LEN_MODE, " ");
|
||||
byte[] pBuff = mode.getBytes();
|
||||
System.arraycopy(pBuff, 0, pHeaderBuff, OFFSET_MODE, LEN_MODE);
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : host 수신 데이타 종류 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return host 수신 데이타 종류
|
||||
**/
|
||||
public String getDataType() {
|
||||
byte[] pBuff = new byte[LEN_DATA_TYPE];
|
||||
|
||||
System.arraycopy(pHeaderBuff, OFFSET_DATA_TYPE, pBuff, 0, LEN_DATA_TYPE);
|
||||
|
||||
String sHeaderField = new String(pBuff);
|
||||
|
||||
return sHeaderField;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : host 수신 데이타 종류 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param host 수신 데이타 종류
|
||||
**/
|
||||
public void setDataType(String status) {
|
||||
if (status == null) { status = ""; }
|
||||
status = MyUtil.rightPadString(status, LEN_DATA_TYPE, " ");
|
||||
|
||||
byte[] pBuff = status.getBytes();
|
||||
System.arraycopy(pBuff, 0, pHeaderBuff, OFFSET_DATA_TYPE, LEN_DATA_TYPE);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,391 @@
|
||||
package com.eactive.eai.adapter.wca.data;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.NoSuchElementException;
|
||||
|
||||
/**
|
||||
* 1. 기능 : EAI Outbound 송수신 데이타 Queue
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see :
|
||||
* @since : 2005. 6. 17. 오후 3:22:03
|
||||
*/
|
||||
public class WCAQueue {
|
||||
/**
|
||||
* Queue에 누적된 데이터 카운트
|
||||
*/
|
||||
int nAccQueueCnt = 0;
|
||||
|
||||
/**
|
||||
* 현재 Queue에 존재하는 데이터 카운트
|
||||
*/
|
||||
int nCurrQueueCnt = 0;
|
||||
|
||||
/**
|
||||
* 현재 Queue 생성 시간
|
||||
*/
|
||||
public long lCreateTime = 0;
|
||||
|
||||
/**
|
||||
* 트랜잭션 타임아웃
|
||||
*/
|
||||
private long lTimeout = 0;
|
||||
|
||||
/**
|
||||
* 트랙잰션 default 타임아웃
|
||||
*/
|
||||
private long lDefaultTimeout = 0;
|
||||
|
||||
/**
|
||||
* 수신 데이타 리스트
|
||||
*/
|
||||
LinkedList listQueue = null;
|
||||
|
||||
/**
|
||||
* 송신 데이타
|
||||
*/
|
||||
byte[] pSendBuff = null;
|
||||
|
||||
/**
|
||||
* 송신 데이타 길이
|
||||
*/
|
||||
int nSendLen = 0;
|
||||
|
||||
/**
|
||||
* 트랜잭션 키
|
||||
*/
|
||||
private String sKey = null;
|
||||
|
||||
private String sGroupCode = null;
|
||||
|
||||
/**
|
||||
* 재전송 여부 ("LU가 사용중" 메세지 수신시 다른 LU 그룹 세션으로 데이타 송신한다.)
|
||||
*/
|
||||
boolean bResendFlag = false ;
|
||||
|
||||
/**
|
||||
* DFS 메세지 판단 getDataFromQueue할때 결정
|
||||
*/
|
||||
boolean bDFSFlag = false ;
|
||||
|
||||
/**
|
||||
* Timeout 데이타로 처리할 것인지 판단
|
||||
* (response 모드이고 queue에 없는 경우 -> queue에 저장하여 inbound로 처리한다.)
|
||||
*/
|
||||
boolean bResTimeoutFlag = false ;
|
||||
|
||||
boolean isRecvSendOK = false;
|
||||
|
||||
/**
|
||||
* 1. 기능 : WCA Queue default Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
**/
|
||||
public WCAQueue() {
|
||||
lCreateTime = System.currentTimeMillis();
|
||||
|
||||
nAccQueueCnt = 0;
|
||||
nCurrQueueCnt = 0;
|
||||
listQueue = new LinkedList();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 1. 기능 : WCA Queue Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param nLen 송신 데이타 길이
|
||||
* @param pBuff 송신 데이타 데이타
|
||||
**/
|
||||
public WCAQueue(int nLen, byte[] pBuff) {
|
||||
lCreateTime = System.currentTimeMillis();
|
||||
|
||||
nAccQueueCnt = 0;
|
||||
nCurrQueueCnt = 0;
|
||||
listQueue = new LinkedList();
|
||||
nSendLen = nLen;
|
||||
pSendBuff = pBuff;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 송신 데이타 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 송신 데이타
|
||||
**/
|
||||
public byte[] getSendData() {
|
||||
return pSendBuff;
|
||||
}
|
||||
|
||||
public byte[] getSendHeaderData() {
|
||||
byte[] pBuff = new byte[WCAHeader.WCA_HEADER_LEN];
|
||||
|
||||
if (pSendBuff == null) { return null; }
|
||||
|
||||
System.arraycopy(pSendBuff, 0, pBuff, 0, WCAHeader.WCA_HEADER_LEN);
|
||||
return pBuff;
|
||||
}
|
||||
/**
|
||||
* 1. 기능 : 트랜잭션 키 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param 트랜잭션 키
|
||||
**/
|
||||
public void setKey(String key) {
|
||||
sKey = key;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 트랜잭션 키 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 트랜잭션 키
|
||||
**/
|
||||
public String getKey() {
|
||||
return sKey;
|
||||
}
|
||||
|
||||
public void setGroupCode(String groupCode) {
|
||||
sGroupCode = groupCode;
|
||||
}
|
||||
|
||||
public String getGroupCode() {
|
||||
return sGroupCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 호출 모드 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 호출 모드
|
||||
**/
|
||||
public char getMode() {
|
||||
if (pSendBuff == null) { return WCAHeader.TRAN_MODE_NONRESPONSE.charAt(0); }
|
||||
return (char)pSendBuff[WCAHeader.OFFSET_MODE];
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 재전송 여부 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param 재전송 여부(true : 재전송 yes, false : no)
|
||||
**/
|
||||
public void setResendFlag(boolean flag) {
|
||||
bResendFlag = flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 재전송 여부 반환
|
||||
* 2. 처리 개요 : 재전송 대상이며 타임아웃이 발생하지 않았을 경우 true 반환한다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 재전송 여부(true : 재전송 yes, false : no)
|
||||
**/
|
||||
public boolean getResendFlag() {
|
||||
if (bResendFlag == true && getRemainedTime() > 0) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 타임아웃 여부 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param 타임아웃 여부(true : yes, false : no)
|
||||
**/
|
||||
public void setResTimeoutFlag(boolean flag) {
|
||||
bResTimeoutFlag = flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 타임아웃 여부 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 타임아웃 여부(true : yes, false : no)
|
||||
**/
|
||||
public boolean getResTimeoutFlag() {
|
||||
return bResTimeoutFlag;
|
||||
}
|
||||
|
||||
public boolean getRecvSendOKFlag() {
|
||||
return isRecvSendOK;
|
||||
}
|
||||
|
||||
public void setRecvSendOKFlag(boolean flag) {
|
||||
isRecvSendOK = flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 타임아웃 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param 타임아웃 시간
|
||||
**/
|
||||
public void setTimeout(int timeout) {
|
||||
lTimeout = (long)(timeout * 1000);
|
||||
}
|
||||
|
||||
public void setDefaultTimeout(int timeout) {
|
||||
lDefaultTimeout = (long)(timeout * 1000);
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 타임아웃 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 타임아웃 시간
|
||||
**/
|
||||
public int getTimeout() {
|
||||
if (lTimeout == -1L) { return (int)lDefaultTimeout; }
|
||||
return (int)lTimeout;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 남아있는 타임아웃 값 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 타임아웃 시간
|
||||
**/
|
||||
public long getRemainedTime() {
|
||||
if (lTimeout == 0L) {
|
||||
return 0L;
|
||||
}
|
||||
|
||||
long lCurrentTime = System.currentTimeMillis();
|
||||
long lRemainTime = lTimeout - (lCurrentTime - lCreateTime);
|
||||
if (lTimeout < 0L || lRemainTime <= 0L) { // 타임아웃 발샐시 - 리턴
|
||||
return -1L;
|
||||
}
|
||||
else {
|
||||
return lRemainTime;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 수신 데이타 리스트에 추가
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return queueData 수신 데이타
|
||||
**/
|
||||
public synchronized int addDataToQueue(WCAQueueData queueData) {
|
||||
listQueue.addLast(queueData);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 수신 데이타 초기화
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
**/
|
||||
public synchronized void initRecvData() {
|
||||
listQueue.clear();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 수신 데이타 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 수신 데이타
|
||||
**/
|
||||
public synchronized byte[] getDataFromQueue() {
|
||||
try {
|
||||
WCAQueueData queuedata = null;
|
||||
int nTempBuffLen = WCAHeader.WCA_HEADER_LEN;
|
||||
// 길이 계산
|
||||
//-----------------------------------------
|
||||
// 2008.03.28 : 홍명준
|
||||
// 멀티페이지 처리 오류 수정
|
||||
//-----------------------------------------
|
||||
for(int i = 0; i < listQueue.size(); i++) {
|
||||
queuedata = (WCAQueueData)listQueue.get(i);
|
||||
nTempBuffLen += (queuedata.pBuff.length - WCAHeader.WCA_HEADER_LEN) ;
|
||||
// System.out.println("getDataFromQueue> " + i + " Size = " + queuedata.pBuff.length);
|
||||
}
|
||||
|
||||
// System.out.println("getDataFromQueue> nTempBuffLen = " + nTempBuffLen);
|
||||
|
||||
byte[] pDataBuff = new byte[nTempBuffLen];
|
||||
int nBuffPos = WCAHeader.WCA_HEADER_LEN;
|
||||
for (int i = 0; i < listQueue.size(); i++) {
|
||||
queuedata = (WCAQueueData)listQueue.get(i);
|
||||
|
||||
// System.out.println("getDataFromQueue> " + i + " Copy WCA Header");
|
||||
System.arraycopy(queuedata.pBuff, 0, pDataBuff, 0, WCAHeader.WCA_HEADER_LEN);
|
||||
|
||||
// System.out.println("getDataFromQueue> " + i + " Copy WCA Data, BuffPos = " + nBuffPos + ", Length = " + (queuedata.pBuff.length - WCAHeader.WCA_HEADER_LEN));
|
||||
System.arraycopy(queuedata.pBuff, WCAHeader.WCA_HEADER_LEN, pDataBuff, nBuffPos, queuedata.pBuff.length - WCAHeader.WCA_HEADER_LEN);
|
||||
nBuffPos += (queuedata.pBuff.length - WCAHeader.WCA_HEADER_LEN);
|
||||
}
|
||||
|
||||
return pDataBuff;
|
||||
}
|
||||
catch (NoSuchElementException ex) {
|
||||
// System.out.println("getDataFromQueue> Queue is Empty : "+ ex.toString());
|
||||
return null;
|
||||
}
|
||||
catch (Exception e) {
|
||||
// System.out.println("getDataFromQueue> Exception : " + e.toString());
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 수신 데이타 수 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 수신 데이타 수
|
||||
**/
|
||||
public synchronized int getCurrQueueDataCnt() {
|
||||
return listQueue.size();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : DFS 반환
|
||||
* 2. 처리 개요 : DFS 메세지 판단
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return DFS 여부(true : DFS yes, false : no)
|
||||
**/
|
||||
public boolean getDFSFlag() {
|
||||
return bDFSFlag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : DFS 설정
|
||||
* 2. 처리 개요 : DFS 메세지 설정
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return DFS 여부(true : DFS yes, false : no)
|
||||
**/
|
||||
/*
|
||||
public void setDFSFlag(byte[] pBuff)
|
||||
{
|
||||
byte[] pDFSBuff = new byte[3];
|
||||
if (pBuff.length >= WCAHeader.WCA_HEADER_LEN + 3)
|
||||
System.arraycopy(pBuff, WCAHeader.WCA_HEADER_LEN, pDFSBuff, 0, pDFSBuff.length);
|
||||
|
||||
System.out.println("------> DFS : " + new String(pDFSBuff));
|
||||
if((new String(pDFSBuff)).equals(new String(WCADefine.DFS_MSG)))
|
||||
bDFSFlag = true;
|
||||
else bDFSFlag = false;
|
||||
}
|
||||
*/
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
package com.eactive.eai.adapter.wca.data;
|
||||
|
||||
/**
|
||||
* 1. 기능 : EAI Outbound 수신 데이타
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see :
|
||||
* @since : 2005. 6. 17. 오후 3:26:11
|
||||
*/
|
||||
public class WCAQueueData {
|
||||
/**
|
||||
* 수신 데이타 길이
|
||||
*/
|
||||
public int nLen;
|
||||
|
||||
/**
|
||||
* 수신 데이타
|
||||
*/
|
||||
public byte[] pBuff;
|
||||
|
||||
/**
|
||||
* 1. 기능 : WCA Queue Data default Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
**/
|
||||
public WCAQueueData() {
|
||||
nLen = 0;
|
||||
pBuff = null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : WCA Queue Data default Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param nLen 수신 데이타 길이
|
||||
* @param pBuff 수신 데이타 데이타
|
||||
**/
|
||||
public WCAQueueData(int nLen, byte[] pBuff) {
|
||||
this.nLen = nLen;
|
||||
this.pBuff = pBuff;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,330 @@
|
||||
package com.eactive.eai.adapter.wca.exception;
|
||||
|
||||
import com.eactive.eai.common.errorcode.ErrorCodeHandler;
|
||||
import com.eactive.eai.common.exception.ExceptionUtil;
|
||||
|
||||
/**
|
||||
* 1. 기능 : WCA 예외 발생 처리
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see :
|
||||
* @since : 2005. 6. 20. 오후 3:38:15
|
||||
*/
|
||||
public class WCAException extends Exception {
|
||||
/**
|
||||
* 에러 코드
|
||||
*/
|
||||
public String sErrCode = null;
|
||||
|
||||
/**
|
||||
* 에러 메세지
|
||||
*/
|
||||
public String sErrMsg = null;
|
||||
|
||||
/**
|
||||
* Softlink 에러 코드 크기
|
||||
*/
|
||||
public static final int SOFTLINK_ERROR_SIZE = 12;
|
||||
|
||||
/**
|
||||
* Softlink 에러 코드 Prefix
|
||||
*/
|
||||
public static final String SOFTLINK_ERROR_PREFIX = "RECEAISNA";
|
||||
public static final String WCA_ERROR_PREFIX = "RECEAIOWA";
|
||||
/**
|
||||
* Softlink "LU 가 사용중"(E_HOST_LU_IN_USED) 인 경우 에러 코드
|
||||
* "LU 가 다운 "(E_HOST_LU_DOWN) 인 경우 에러 코드
|
||||
* 해당 업무에 해당하는 LU가 없습니다
|
||||
* -> 다른 LU 그룹 세션으로 재정송됨.
|
||||
*/
|
||||
public static final String E_HOST_LU_IN_USED = SOFTLINK_ERROR_PREFIX + "002";
|
||||
public static final String E_HOST_LU_DOWN = SOFTLINK_ERROR_PREFIX + "001";
|
||||
public static final String E_HOST_LU_NON_EXIST = SOFTLINK_ERROR_PREFIX + "012";
|
||||
|
||||
/**
|
||||
* {1} Softlink 연결이 되지 않습니다.
|
||||
*/
|
||||
public static final String E_SOFTLINK_NOTCONN = "RECEAIOWA001";
|
||||
|
||||
/**
|
||||
* {1} Softlink 세션이 끊어졌습니다.
|
||||
*/
|
||||
public static final String E_SOFTLINK_CONNECTION_CLOSE = "RECEAIOWA002";
|
||||
|
||||
/**
|
||||
* Softlink로 데이타 송신중에 장애가 발생하였습니다.
|
||||
*/
|
||||
public static final String E_SOFTLINK_SENDERR = "RECEAIOWA003";
|
||||
|
||||
/**
|
||||
* Softlink로부터 데이타 수신중에 장애가 발생하였습니다.
|
||||
*/
|
||||
public static final String E_SOFTLINK_RECVERR = "RECEAIOWA004";
|
||||
|
||||
/**
|
||||
* 해당하는 어댑터그룹이 존재하지 않습니다.
|
||||
*/
|
||||
public static final String E_ADAPTERGROUP_NO_EXIST = "RECEAIOWA005";
|
||||
|
||||
/**
|
||||
* 해당하는 LU 이름이 존재하지 않습니다. [{1}]
|
||||
*/
|
||||
public static final String E_LUNAME_NO_EXIST = "RECEAIOWA006";
|
||||
|
||||
/**
|
||||
* 송신데이타[{1}]가 정의되지 않았습니다.
|
||||
*/
|
||||
public static final String E_SEND_DATA_ERROR = "RECEAIOWA007";
|
||||
|
||||
/**
|
||||
* {1} 수신데이타가 유효하지 않습니다. [{2}]
|
||||
*/
|
||||
public static final String E_RECVDATA_ERROR = "RECEAIOWA008";
|
||||
|
||||
/**
|
||||
* {1} 수신데이타길이가 유효하지 않습니다. [{2}]
|
||||
*/
|
||||
public static final String E_RECVERR_DATALEN = "RECEAIOWA009";
|
||||
|
||||
/**
|
||||
* {1} 정의되지 않은 데이터 타입입니다. [{2}]
|
||||
*/
|
||||
public static final String E_SOFTLINK_UNKNOWN_COMMAND = "RECEAIOWA010";
|
||||
|
||||
/**
|
||||
* {1} 이용가능한 WCA 세션이 없습니다.
|
||||
*/
|
||||
public static final String E_SOFTLINK_NO_SESSION_SLOT = "RECEAIOWA011";
|
||||
|
||||
/**
|
||||
* {1} 송신 가능한 WCA 세션이 없습니다.
|
||||
*/
|
||||
public static final String E_SOFTLINK_NO_SENDABLE_SESSION_SLOT = "RECEAIOWA017";
|
||||
|
||||
/**
|
||||
* 송신중 SNA LU0 어댑터 세션이 Close 되었습니다.
|
||||
*/
|
||||
public static final String E_SOFTLINK_SEND_SESSION_CLOSE = "RECEAIOWA018";
|
||||
/**
|
||||
* 수신중 SNA LU0 어댑터 세션이 Close 되었습니다.
|
||||
*/
|
||||
public static final String E_SOFTLINK_RECV_SESSION_CLOSE = "RECEAIOWA019";
|
||||
|
||||
/**
|
||||
* {1} 해당하는 세션 정보가 정의되지 않았습니다.
|
||||
*/
|
||||
public static final String E_SOFTLINK_NOT_FOUND_SESSION = "RECEAIOWA012";
|
||||
|
||||
/**
|
||||
* Transaction 시간동안 데이타 수신을 하지 못하였습니다.
|
||||
*/
|
||||
public static final String E_WCA_TRANTIMEOUT = "RECEAIOWA013";
|
||||
|
||||
/**
|
||||
* 데이타베이스 작업시 장애가 발생하였습니다.
|
||||
*/
|
||||
public static final String E_DAO = "RECEAIOWA014";
|
||||
|
||||
/**
|
||||
* 외부 프로세스 호출 실패하였습니다.[{1}]
|
||||
*/
|
||||
public static final String E_PROCESS_CALL = "RECEAIOWA015";
|
||||
|
||||
/**
|
||||
* 시스템 적용 실패하였습니다. {1}
|
||||
*/
|
||||
public static final String E_UPDATE_APPLY = "RECEAIOWA016";
|
||||
|
||||
/**
|
||||
* 미처리 데이타를 클라이언트에 알리는데 실패하였습니다.(skey)
|
||||
*/
|
||||
public static final String E_INFORM_ERROR = "RECEAIOWA020";
|
||||
|
||||
|
||||
// Recv data가 Queue에 있지 않을 경우
|
||||
public static final String E_SOFTLINK_RECV_DATA_NOTFOUND = "RECEAIOWA100";
|
||||
public static final String E_SOCKET_ERROR = "RECEAIOWA998";
|
||||
public static final String E_ETC = "RECEAIOWA999";
|
||||
|
||||
/**
|
||||
* Host Name을 얻을 수 없습니다.
|
||||
*/
|
||||
public static final String E_UNKNOWN_HOST = "RECEAIOWA101";
|
||||
|
||||
/**
|
||||
* {1} 백업모드 전환 [{2}]
|
||||
*/
|
||||
public static final String W_SOFTLINK_BACKUP_CONV = "RWCEAIOWA015";
|
||||
/**
|
||||
* Thread Group {1}에 속한 Thread가 종료되지 않았습니다. (Active Thread Count ={2})
|
||||
*/
|
||||
public static final String W_THREAD_GROUP_ACTIVE = "RWCEAIOWA001";
|
||||
|
||||
/**
|
||||
* 1. 기능 : Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param e Exception Class
|
||||
**/
|
||||
public WCAException(Exception e) {
|
||||
super();
|
||||
if (e instanceof java.lang.NullPointerException) {
|
||||
this.sErrCode = E_ETC;
|
||||
this.sErrMsg = "NULL 값이 존재합니다 [" + e.getMessage() + "]";
|
||||
}
|
||||
}
|
||||
|
||||
public WCAException() {
|
||||
super();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Constructor
|
||||
* 2. 처리 개요 : ExceptionUtil을 이용하여 에러 메세지를 설정한다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sErrCode 에러 코드
|
||||
* @param sErrMsg 에러 메세지
|
||||
**/
|
||||
public WCAException(String sErrCode, String sErrMsg) {
|
||||
super(sErrCode);
|
||||
this.sErrCode = sErrCode;
|
||||
String[] args = new String[1];
|
||||
args[0] = sErrMsg;
|
||||
this.sErrMsg = ExceptionUtil.make(sErrCode, args);
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Constructor
|
||||
* 2. 처리 개요 : ExceptionUtil을 이용하여 에러 메세지를 설정한다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sErrCode 에러 코드
|
||||
* @param sErrMsg1 에러 메세지
|
||||
* @param sErrMsg2 에러 메세지
|
||||
**/
|
||||
public WCAException(String sErrCode, String sErrMsg1, String sErrMsg2) {
|
||||
super(sErrCode);
|
||||
this.sErrCode = sErrCode;
|
||||
String[] args = new String[2];
|
||||
args[0] = sErrMsg1;
|
||||
args[1] = sErrMsg2;
|
||||
this.sErrMsg = ExceptionUtil.make(sErrCode, args);
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Constructor
|
||||
* 2. 처리 개요 : ExceptionUtil을 이용하여 에러 메세지를 설정한다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sErrCode 에러 코드
|
||||
**/
|
||||
public WCAException(String sErrCode) {
|
||||
super(sErrCode);
|
||||
this.sErrCode = sErrCode;
|
||||
this.sErrMsg = "["+sErrCode+"] " + ErrorCodeHandler.getMessage(sErrCode);
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Constructor
|
||||
* 2. 처리 개요 : ExceptionUtil을 이용하여 에러 메세지를 설정한다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sErrCode 에러 코드
|
||||
* @param e Throwable class
|
||||
**/
|
||||
public WCAException(String sErrCode, Throwable e) {
|
||||
super(sErrCode);
|
||||
this.sErrCode = sErrCode;
|
||||
this.sErrMsg = ExceptionUtil.make(e, sErrCode);
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : ExceptionUtil을 이용하여 정형화된 에러 메세지를 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sErrCode 에러 코드
|
||||
**/
|
||||
public static String displayError(String sErrCode) {
|
||||
String sErrMsg = ErrorCodeHandler.getMessage(sErrCode);
|
||||
return ExceptionUtil.make(sErrCode, sErrMsg);
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : ExceptionUtil을 이용하여 정형화된 에러 메세지를 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sErrCode 에러 코드
|
||||
* @param sErrMsg 에러 메세지
|
||||
**/
|
||||
public static String displayError(String sErrCode, String sErrMsg) {
|
||||
String[] args = new String[1];
|
||||
args[0] = sErrMsg;
|
||||
return ExceptionUtil.make(sErrCode, args);
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : ExceptionUtil을 이용하여 정형화된 에러 메세지를 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sErrCode 에러 코드
|
||||
* @param sErrMsg1 에러 메세지
|
||||
* @param sErrMsg2 에러 메세지
|
||||
**/
|
||||
public static String displayError(String sErrCode, String sErrMsg1, String sErrMsg2) {
|
||||
String[] args = new String[2];
|
||||
args[0] = sErrMsg1;
|
||||
args[1] = sErrMsg2;
|
||||
return ExceptionUtil.make(sErrCode, args);
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 예외 메세지 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 예외 메세지
|
||||
**/
|
||||
public String toString() {
|
||||
if ("".equals(sErrMsg)) {
|
||||
return super.toString();
|
||||
}
|
||||
else {
|
||||
return sErrMsg;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 예외 메세지 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 예외 메세지
|
||||
**/
|
||||
public String getMessage() {
|
||||
return toString();
|
||||
}
|
||||
|
||||
public void setMessage(String msg) {
|
||||
sErrMsg = msg;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 예외 코드 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 예외 코드
|
||||
**/
|
||||
public String getErrorReturnCode() {
|
||||
return sErrCode;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,211 @@
|
||||
package com.eactive.eai.adapter.wca.global;
|
||||
|
||||
import com.eactive.eai.common.server.EAIServerManager;
|
||||
|
||||
/**
|
||||
* 1. 기능 : WCA Global 상수 정의
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see :
|
||||
* @since : 2005. 6. 20. 오후 3:21:35
|
||||
*/
|
||||
public class WCADefine {
|
||||
/**
|
||||
* SoftLink 세션 상태 코드 : 연결안됨
|
||||
*/
|
||||
public static final int SESS_STAT_NOTCONN = 0;
|
||||
|
||||
/**
|
||||
* SoftLink 세션 상태 코드 : TCP 세션 연결
|
||||
*/
|
||||
public static final int SESS_STAT_READY = 1;
|
||||
|
||||
/**
|
||||
* SoftLink 세션 상태 코드 : TCP 세션 사용중 (사용안함)
|
||||
*/
|
||||
public static final int SESS_STAT_INUSE = 2;
|
||||
|
||||
/**
|
||||
* TCP Socket 길이 필드 크기
|
||||
*/
|
||||
public static final int LEGTH_FIELD_SIZE = 4;
|
||||
|
||||
/**
|
||||
* TCP 데이타 수신 타임아웃 (단위 : 초)
|
||||
*/
|
||||
public static final int DEFAULT_RECEIVE_TIMEOUT = 30;
|
||||
|
||||
/**
|
||||
* Softlink Socket 연결 Timeout (단위 : milliseconds)
|
||||
*/
|
||||
public static final int DEFAULT_CONNECT_TIMEOUT = 30;
|
||||
|
||||
/**
|
||||
* defalut softlink port
|
||||
*/
|
||||
public static final int DEFAULT_SOFTLINK_PORT = 4000;
|
||||
|
||||
/**
|
||||
* defalut softlink 세션 수
|
||||
*/
|
||||
public static final int DEFAULT_SESS_NUM_PER_GRP = 1;
|
||||
|
||||
/**
|
||||
* 세션 해제시 복구를 시작하기 전에 Sleep 하는 시간(초)
|
||||
*/
|
||||
public static final int DEFAULT_SESS_RECOVERY_GAP = 5;
|
||||
|
||||
/**
|
||||
* 백업 전환 체크 DEFAULT_SESS_RECOVERY_GAP * DEFAULT_BACKUP_CONVERSION_CHECK (2분)
|
||||
*/
|
||||
public static final int DEFAULT_BACKUP_CONVERSION_CHECK = 12 * 2;
|
||||
/**
|
||||
* default socket receive 타임아웃 시간(초)
|
||||
*/
|
||||
public static final int DEFAULT_SOCK_RCV_TIMEOUT = 10;
|
||||
|
||||
/**
|
||||
* default 트랜잭션 Timeout 시간(초)
|
||||
*/
|
||||
public static final int DEFAULT_TRANSACTION_TIMEOUT = 180;
|
||||
|
||||
/**
|
||||
* Delete Registered Recv queue Timeout 시간(초)
|
||||
*/
|
||||
public static final int DEFAULT_TRANSACTION_DELETE_TIMEOUT = 300;
|
||||
|
||||
/**
|
||||
* EAI instance (EAIServerManager는 WLI 엔진 부팅시 초기화)
|
||||
*/
|
||||
public static final String SERVER_NAME = EAIServerManager.getInstance().getLocalServerName();
|
||||
|
||||
/**
|
||||
* SNA 어댑터 Logger 이름
|
||||
*/
|
||||
public static final String ADAPTER_LOGGER_NAME = "FileLogger{SNA}" + "_" + SERVER_NAME;
|
||||
|
||||
/**
|
||||
* 어댑터 명
|
||||
*/
|
||||
public static final String ADAPTER_NAME = "SNAAdapter";
|
||||
|
||||
/**
|
||||
* ASCII / EBCDIC코드를 의미, logData() 함수의 파라미터로 사용됨.
|
||||
*/
|
||||
public static final char ASCII_CODE = 'A';
|
||||
public static final char EBCDIC_CODE = 'E';
|
||||
|
||||
/**
|
||||
* WCA 세션 로그 파일 기록 여부 (Yes/No)
|
||||
*/
|
||||
public static final String WCA_LOG_YES = "1";
|
||||
public static final String WCA_LOG_NO = "0";
|
||||
|
||||
/**
|
||||
* Default WCA 세션 로그 파일 기록 여부
|
||||
*/
|
||||
public static final String DEFAULT_WCA_LOG = WCA_LOG_YES;
|
||||
|
||||
/**
|
||||
* Default WCA 세션 로그 레벨
|
||||
*/
|
||||
public static final int DEFAULT_WCA_LOG_LEVEL = 1;
|
||||
|
||||
/**
|
||||
* Default WCA 세션 로그 레벨
|
||||
*/
|
||||
public static final String DEFAULT_WCA_STRING_LOG_LEVEL = "DEBUG";
|
||||
|
||||
/**
|
||||
* Default WCA 세션 로그 사이즈
|
||||
*/
|
||||
public static final int DEFAULT_WCA_LOG_SIZE = 10;
|
||||
|
||||
/**
|
||||
* LU 그룹 세션 송수신 모드 (SEND)
|
||||
*/
|
||||
public static final String LU_GROUP_TRAN_MODE_SEND = "S";
|
||||
|
||||
/**
|
||||
* LU 그룹 세션 송수신 모드 (RECV)
|
||||
*/
|
||||
public static final String LU_GROUP_TRAN_MODE_RECV = "R";
|
||||
|
||||
/**
|
||||
* 자동 백업 전환 여부 (No/Yes)
|
||||
*/
|
||||
public static final String WCA_AUTO_BACKUP_CVS_MODE_NO = "0";
|
||||
public static final String WCA_AUTO_BACKUP_CVS_MODE_YES = "1";
|
||||
|
||||
/**
|
||||
* Default 자동 백업 전환 여부
|
||||
*/
|
||||
public static final String DEFAULT_MANUAL_BACKUP_CVS_MODE = WCA_AUTO_BACKUP_CVS_MODE_NO;
|
||||
|
||||
/**
|
||||
* LU 송수신 RECV ONLY 모드
|
||||
*/
|
||||
public static final String LU_TRAN_MODE_SEND_RECV = "1";
|
||||
public static final String LU_TRAN_MODE_TERMINAL = "2";
|
||||
public static final String LU_TRAN_MODE_SEND_ONLY = "3";
|
||||
public static final String LU_TRAN_MODE_RECV_ONLY = "4";
|
||||
|
||||
/**
|
||||
* LU 송수신 모드 정의
|
||||
*/
|
||||
public static final String[][] LU_TRAN_MODE = {{LU_TRAN_MODE_SEND_RECV, "SENDRECV"},
|
||||
{LU_TRAN_MODE_TERMINAL, "TERMINAL"},
|
||||
{LU_TRAN_MODE_SEND_ONLY, "SENDONLY"},
|
||||
{LU_TRAN_MODE_RECV_ONLY, "RECVONLY"}
|
||||
};
|
||||
|
||||
/**
|
||||
* 백업 LU
|
||||
*/
|
||||
public static final String DEFAULT_BACKUP_LU_NO = "0";
|
||||
public static final String DEFAULT_BACKUP_LU_YES = "1";
|
||||
public static final String[][] BACKUP_LU_YN = {{DEFAULT_BACKUP_LU_NO, "아니오"},
|
||||
{DEFAULT_BACKUP_LU_YES, "예"}
|
||||
};
|
||||
|
||||
/* 20080526 Start */
|
||||
/**
|
||||
* 원격 LU 여부
|
||||
*/
|
||||
public static final String DEFAULT_REMOTE_LU_NO = "0";
|
||||
public static final String DEFAULT_REMOTE_LU_YES = "1";
|
||||
public static final String[][] REMOTE_LU_YN = {{DEFAULT_REMOTE_LU_NO, "아니오"},
|
||||
{DEFAULT_REMOTE_LU_YES, "예"}
|
||||
};
|
||||
/* 20080526 End */
|
||||
|
||||
/**
|
||||
* Softlink 설정 정보 변경 실행 파일
|
||||
*/
|
||||
public static final String SOFTLINK_CFG_UPDATE_COMMAND = "/SnaUpdateCfg";
|
||||
|
||||
/**
|
||||
* Softlink 로그 정보 변경 실행 파일
|
||||
*/
|
||||
public static final String SOFTLINK_LOG_UPDATE_COMMAND = "/SnaLog";
|
||||
|
||||
/**
|
||||
* Softlink 구동 실행 파일
|
||||
*/
|
||||
//public static final String SOFTLINK_START_COMMAND = "/SnaStart";
|
||||
public static final String SOFTLINK_START_COMMAND = "/softman";
|
||||
|
||||
/**
|
||||
* Softlink 종료 실행 파일
|
||||
*/
|
||||
public static final String SOFTLINK_STOP_COMMAND = "/SnaStop";
|
||||
|
||||
/**
|
||||
* DFS 메세지
|
||||
*/
|
||||
public static final byte[] DFS_MSG = {(byte)0xC4,(byte)0xC6,(byte)0xE2};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,214 @@
|
||||
package com.eactive.eai.adapter.wca.jdbc;
|
||||
|
||||
import com.eactive.eai.common.dao.Keys;
|
||||
import com.eactive.eai.common.util.ServiceLocator;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.sql.*;
|
||||
|
||||
/**
|
||||
* 1. 기능 : DB Operation을 위한 JDBC 추상 클래스
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see :
|
||||
* @since :
|
||||
*/
|
||||
public abstract class BaseJDBC
|
||||
{
|
||||
/**
|
||||
* JDBC Connection object
|
||||
*/
|
||||
protected Connection conn;
|
||||
|
||||
/**
|
||||
* JDBC preparedStatement object
|
||||
*/
|
||||
protected PreparedStatement preparedStatement;
|
||||
|
||||
/**
|
||||
* JDBC Statement object
|
||||
*/
|
||||
protected Statement Statement;
|
||||
|
||||
/**
|
||||
* JDBC DataSource JNDI 이름
|
||||
*/
|
||||
protected String jndiName;
|
||||
|
||||
/**
|
||||
* 1. 기능 : Default Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
**/
|
||||
public BaseJDBC() {
|
||||
this.jndiName = Keys.EAI_DATASOURCE;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : JNDI 설정
|
||||
* 2. 처리 개요 :
|
||||
* -
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param jndiDataSource jndi 이름
|
||||
**/
|
||||
protected void setJNDIName(String jndiDataSource) {
|
||||
this.jndiName = jndiDataSource;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : PreparedStatement객체 획득
|
||||
* 2. 처리 개요 :
|
||||
* -
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sql 실행 query
|
||||
**/
|
||||
public PreparedStatement getStatement(String sql) throws SQLException {
|
||||
return conn.prepareStatement(sql);
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : auto-commit 모드 설정
|
||||
* 2. 처리 개요 :
|
||||
* -
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param b_autoCommit (true to enable auto-commit mode; false to disable it )
|
||||
**/
|
||||
public void setAutoCommit(boolean b_autoCommit) throws SQLException {
|
||||
conn.setAutoCommit(b_autoCommit);
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : commit 실행
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
**/
|
||||
public void commit() throws SQLException {
|
||||
conn.commit();
|
||||
setAutoCommit(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : rollback 실행
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
**/
|
||||
public void rollback() throws SQLException {
|
||||
conn.rollback();
|
||||
setAutoCommit(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : close 실행
|
||||
* 2. 처리 개요 : Connection object 및 JDBC resources 반환
|
||||
* 3. 주의사항
|
||||
**/
|
||||
public void close() {
|
||||
close(null);
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : close 실행
|
||||
* 2. 처리 개요 : Connection object 및 JDBC resources 반환
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param rs ResultSet Object
|
||||
**/
|
||||
public void close(ResultSet rs) {
|
||||
if (rs != null) {
|
||||
try{ rs.close(); } catch (Exception ignore) {}
|
||||
}
|
||||
if (preparedStatement != null) {
|
||||
try { preparedStatement.close(); } catch (Exception ignore) {}
|
||||
}
|
||||
if (Statement != null) {
|
||||
try { Statement.close(); } catch (Exception ignore) {}
|
||||
}
|
||||
if (conn != null) {
|
||||
try { conn.close(); } catch (Exception ignore) {}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 검색 query 실행
|
||||
* 2. 처리 개요 : preparedStatement Object에 query 실행
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @result rs ResultSet Object
|
||||
**/
|
||||
public ResultSet executeSelect() throws SQLException {
|
||||
ResultSet rs = preparedStatement.executeQuery();
|
||||
return rs;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 변경 query 실행
|
||||
* 2. 처리 개요 : preparedStatement Object에 query 실행
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @result rs ResultSet Object
|
||||
**/
|
||||
public int executeUpdate() throws SQLException {
|
||||
return preparedStatement.executeUpdate();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : query 설정
|
||||
* 2. 처리 개요 : preparedStatement Object에 query 설정
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @result rs ResultSet Object
|
||||
**/
|
||||
public void setStatement(String query) throws SQLException {
|
||||
if (preparedStatement != null) try { preparedStatement.close(); } catch(SQLException e) {}
|
||||
preparedStatement = conn.prepareStatement(query);
|
||||
preparedStatement.clearParameters();
|
||||
//preparedStatement.setQueryTimeout(300); // 단위 초
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : JDBC Connection 생성
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @exception JDBCException JDBC 에러
|
||||
***/
|
||||
public void getDsConnection() throws JDBCException {
|
||||
DataSource dataSource = null;
|
||||
try {
|
||||
dataSource = getDataSource(jndiName);
|
||||
if(dataSource == null) {
|
||||
throw new Exception("datasource is NULL - "+jndiName);
|
||||
}
|
||||
conn = dataSource.getConnection();
|
||||
}
|
||||
catch(Exception e) {
|
||||
throw new JDBCException("["+jndiName+"] connection을 얻을 수 없습니다.");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : JNDI 서비스로부터 JDBC DataSource 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @exception JDBCException JDBC 에러
|
||||
***/
|
||||
private DataSource getDataSource(String dataSourceName) throws JDBCException {
|
||||
DataSource dataSource = null;
|
||||
try {
|
||||
ServiceLocator sl = ServiceLocator.getInstance();
|
||||
dataSource = sl.getDataSource(jndiName);
|
||||
return dataSource;
|
||||
}
|
||||
catch (Exception e) {
|
||||
throw new JDBCException("["+jndiName+"]을 얻을 수 없습니다.");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,269 @@
|
||||
package com.eactive.eai.adapter.wca.jdbc;
|
||||
|
||||
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.ResultSetMetaData;
|
||||
import java.sql.SQLException;
|
||||
|
||||
/**
|
||||
* 1. 기능 : DB Operation을 위한 공통 JDBC 클래스
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see :
|
||||
* @since :
|
||||
*/
|
||||
public class CommonJDBC extends BaseJDBC
|
||||
{
|
||||
/**
|
||||
* SNAAdapter 로깅을 위한 logger
|
||||
*/
|
||||
Logger trc_logger = Logger.getLogger(Logger.LOGGER_ADAPTER);
|
||||
|
||||
/**
|
||||
* 1. 기능 : insert/update/delete SQL 실행
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sQuery 실행 Query
|
||||
**/
|
||||
public void update(String sQuery) throws JDBCException {
|
||||
int nExeCnt = 0;
|
||||
try {
|
||||
getDsConnection();
|
||||
setAutoCommit(false);
|
||||
setStatement(sQuery);
|
||||
nExeCnt = executeUpdate();
|
||||
commit();
|
||||
}
|
||||
catch (SQLException sqle) {
|
||||
try { rollback(); } catch(Exception e) {
|
||||
trc_logger.error("rollback error");
|
||||
}
|
||||
//throw new JDBCException(sqle.getErrorCode(), sqle.getMessage());
|
||||
throw new JDBCException("SQLProc", "update", sqle);
|
||||
}
|
||||
finally {
|
||||
close();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : insert/update/delete MULTI SQL 실행
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param saSql[] 실행 Query 배열
|
||||
**/
|
||||
public void update(String[] saSql) throws JDBCException {
|
||||
try {
|
||||
getDsConnection();
|
||||
setAutoCommit(false);
|
||||
|
||||
for( int i =0; i< saSql.length; i++) {
|
||||
setStatement(saSql[i]);
|
||||
executeUpdate();
|
||||
}
|
||||
commit();
|
||||
}
|
||||
catch (SQLException sqle) {
|
||||
try { rollback(); } catch(Exception r) {
|
||||
trc_logger.error("rollback error");
|
||||
}
|
||||
//throw new JDBCException(sqle.getErrorCode(), sqle.getMessage());
|
||||
throw new JDBCException("SQLProc", "update", sqle);
|
||||
}
|
||||
catch (Exception e) {
|
||||
try { rollback(); } catch(Exception r) {
|
||||
trc_logger.error("rollback error");
|
||||
}
|
||||
throw new JDBCException("SQLProc", "update", e);
|
||||
}
|
||||
finally {
|
||||
close();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Query 검색
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항 :
|
||||
*
|
||||
* @return SQLData Object
|
||||
**/
|
||||
public SQLData select(String sQuery) throws JDBCException {
|
||||
return select(sQuery, 0, 0, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Query 검색
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항 :
|
||||
*
|
||||
* @param sQuery 실행 query
|
||||
* @param nCurPageNum 현재 page 번호
|
||||
* @param nDispRowsCnt 한 화면에 보여줄수 있는 데이타수
|
||||
* @param nDispPagesCnt 한 화면에 보여줄수 있는 페이지수
|
||||
* @return SQLData Object
|
||||
**/
|
||||
public SQLData select(String sQuery,
|
||||
int nCurPageNum,
|
||||
int nDispRowsCnt,
|
||||
int nDispPagesCnt) throws JDBCException {
|
||||
ResultSet rs = null;
|
||||
|
||||
int nFromIndx = 0;
|
||||
int nOrderByIndx = 0;
|
||||
String sCountQuery = "";
|
||||
|
||||
SQLData dao_data = null; //데이타 object
|
||||
int nTotalDatasCnt = 0; //전체 데이타 수
|
||||
int nTotalPagesCnt = 0; //전체 페이지 수
|
||||
|
||||
try {
|
||||
getDsConnection();
|
||||
if (nCurPageNum != 0 && nDispRowsCnt != 0 && nDispPagesCnt != 0) {
|
||||
nFromIndx = sQuery.toUpperCase().indexOf(" FROM "); // From 절이 시작되는 자리의 값
|
||||
nOrderByIndx = sQuery.toUpperCase().indexOf("ORDER BY"); // ORDER BY 절이 시작되는 자리의 값
|
||||
|
||||
if (nOrderByIndx != -1) {
|
||||
sCountQuery = new StringBuffer()
|
||||
.append("SELECT count(*) ")
|
||||
.append(sQuery.substring(nFromIndx + 1, nOrderByIndx)).toString();
|
||||
}
|
||||
else {
|
||||
sCountQuery = new StringBuffer()
|
||||
.append("SELECT count(*) ")
|
||||
.append(sQuery.substring(nFromIndx + 1)).toString();
|
||||
}
|
||||
|
||||
setStatement(sCountQuery);
|
||||
rs = executeSelect();
|
||||
|
||||
if (rs.next()) {
|
||||
nTotalDatasCnt = rs.getInt(1);
|
||||
}
|
||||
|
||||
try {
|
||||
if (rs != null)
|
||||
rs.close();
|
||||
}
|
||||
catch (Exception ex) {
|
||||
}
|
||||
|
||||
nTotalPagesCnt = nTotalDatasCnt / nDispRowsCnt;
|
||||
if (nTotalDatasCnt % nDispRowsCnt > 0) {
|
||||
nTotalPagesCnt++;
|
||||
}
|
||||
|
||||
//전체 페이지가 현재 페이지보다 작을 경우 마지막 페이지번호를 현재페이지로...
|
||||
if (nTotalPagesCnt < nCurPageNum) {
|
||||
nCurPageNum = nTotalPagesCnt;
|
||||
}
|
||||
}
|
||||
|
||||
//if(trc_logger.isDebug()) trc_logger.debug("DAO select query] nCurPageNum = " + nCurPageNum + "\n" + sQuery);
|
||||
setStatement(sQuery);
|
||||
rs = executeSelect();
|
||||
|
||||
dao_data = setSQLData(rs, nCurPageNum, nDispRowsCnt,
|
||||
nDispPagesCnt, nTotalDatasCnt,
|
||||
nTotalPagesCnt);
|
||||
return dao_data;
|
||||
|
||||
}
|
||||
catch (SQLException sqle) {
|
||||
throw new JDBCException("SQLProc", "select", sqle);
|
||||
}
|
||||
catch (Exception e) {
|
||||
// System.out.println("select error - " + e.getMessage());
|
||||
throw new JDBCException("SQLProc", "select", e);
|
||||
}
|
||||
finally {
|
||||
close(rs);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 검색된 데이타를 SQLData Object 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항 :
|
||||
*
|
||||
* @param rs ResultSet Object
|
||||
* @param nCurPageNum 현재 page 번호
|
||||
* @param nDispRowsCnt 한 화면에 보여줄수 있는 데이타수
|
||||
* @param nDispPagesCnt 한 화면에 보여줄수 있는 페이지수
|
||||
* @return SQLData Object
|
||||
**/
|
||||
public SQLData setSQLData(ResultSet rs, int nCurPagesNum,
|
||||
int nDispRowsCnt, int nDispPagesCnt,
|
||||
int nTotalDatasCnt, int nTotalPagesCnt) throws JDBCException {
|
||||
try {
|
||||
ResultSetMetaData rsmd = null;
|
||||
int nColumnCnt = 0; // resultSet에 담아있는 data의 열수
|
||||
|
||||
SQLData dao_data = new SQLData(); // DATA OBJECT
|
||||
rsmd = rs.getMetaData();
|
||||
nColumnCnt = rsmd.getColumnCount(); // resultSet에 담아있는 data의 열수
|
||||
|
||||
// DAOData 객체의 hashtable에 넣을 행 값
|
||||
int nRowsNum = 0;
|
||||
|
||||
// SQLDATA 객체에 Column Name을 Set
|
||||
for (int nIndx = 1; nIndx <= nColumnCnt; nIndx++) {
|
||||
dao_data.setColumnName(rsmd.getColumnName(nIndx));
|
||||
}
|
||||
|
||||
// page를 나누지 않을 경우
|
||||
if (nCurPagesNum == 0 && nDispRowsCnt == 0 && nDispPagesCnt == 0) {
|
||||
for (int nRowIndx = 0; rs.next(); nRowIndx++) {
|
||||
for (int nColIndx = 1; nColIndx <= nColumnCnt; nColIndx++) {
|
||||
// DAODATA 객체에 data를 set
|
||||
dao_data.setHashData(nRowsNum, rsmd.getColumnName(nColIndx), rs.getString(rsmd.getColumnName(nColIndx)));
|
||||
if (nColIndx == nColumnCnt) {
|
||||
nRowsNum++; // hashtable의 행의 수 증가
|
||||
}
|
||||
}
|
||||
nTotalDatasCnt++;
|
||||
}
|
||||
}
|
||||
// page를 나눌경우
|
||||
else {
|
||||
for (int nRowIndx = 0; rs.next(); nRowIndx++) {
|
||||
// display하는 page의 정보만을 DAODATA 객체 SET
|
||||
if ( (nRowIndx >= ( (nCurPagesNum - 1) * nDispRowsCnt)) && (nRowIndx < (nCurPagesNum * nDispRowsCnt))) {
|
||||
for (int nColIndx = 1; nColIndx <= nColumnCnt;nColIndx++) {
|
||||
// DAODATA 객체에 Column Name을 Set
|
||||
dao_data.setColumnName(rsmd.getColumnName(nColIndx));
|
||||
|
||||
// SQLDATA 객체에 data를 set
|
||||
dao_data.setHashData(nRowsNum, rsmd.getColumnName(nColIndx), rs.getString(rsmd.getColumnName(nColIndx)));
|
||||
|
||||
if (nColIndx == nColumnCnt) {
|
||||
nRowsNum++; // hashtable의 행의 수 증가
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 페이지이동시 필요한 정보 SET
|
||||
dao_data.setCurrentPageNum(nCurPagesNum);
|
||||
dao_data.setDispRowsCount(nDispRowsCnt);
|
||||
dao_data.setDispPagesCount(nDispPagesCnt);
|
||||
dao_data.setTotalRowsCount(nTotalDatasCnt);
|
||||
dao_data.setTotalPagesCount(nTotalPagesCnt);
|
||||
dao_data.setTotalColumnsCount(nColumnCnt);
|
||||
|
||||
return dao_data;
|
||||
}
|
||||
catch (Exception e) {
|
||||
trc_logger.error("setDAOData error - " + e.toString());
|
||||
throw new JDBCException("SQLProc", "setDAOData", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,151 @@
|
||||
package com.eactive.eai.adapter.wca.jdbc;
|
||||
|
||||
import java.sql.SQLException;
|
||||
|
||||
/**
|
||||
* 1. 기능 : JDBC 예외 발생 처리
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see :
|
||||
* @since :
|
||||
*/
|
||||
public class JDBCException extends Exception
|
||||
{
|
||||
/**
|
||||
* 에러 코드
|
||||
*/
|
||||
String errorCode = "";
|
||||
|
||||
/**
|
||||
* 에러 메세지
|
||||
*/
|
||||
String errorMsg = "";
|
||||
|
||||
/**
|
||||
* 1. 기능 : Default Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
**/
|
||||
public JDBCException() {
|
||||
super("JDBCException is occured.");
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param msg 에러 메세지
|
||||
**/
|
||||
public JDBCException(String msg) {
|
||||
super(msg);
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param code 에러 코드
|
||||
* @param msg 에러 메세지
|
||||
**/
|
||||
public JDBCException(int code, String msg) {
|
||||
super(msg);
|
||||
errorCode = String.valueOf(code);
|
||||
errorMsg = msg;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param func 발생 class
|
||||
* @param method 발생 함수
|
||||
* @param e Exception 클래스
|
||||
**/
|
||||
public JDBCException(String func, String method, Exception e) {
|
||||
super(method + " Method in " + func + " Function - "+ e.getMessage());
|
||||
if (e instanceof SQLException) {
|
||||
//errorCode = "ORA-" + String.valueOf(((SQLException)e).getErrorCode());
|
||||
//errorMsg = ((SQLException)e).getMessage().trim();
|
||||
setOracleMessage((SQLException)e);
|
||||
}
|
||||
else {
|
||||
errorMsg = e.getMessage();
|
||||
}
|
||||
}
|
||||
|
||||
public JDBCException(Exception e, String para) {
|
||||
super(e.getMessage());
|
||||
if (e instanceof SQLException) {
|
||||
//errorCode = "ORA-" + String.valueOf(((SQLException)e).getErrorCode());
|
||||
//errorMsg = ((SQLException)e).getMessage().trim();
|
||||
setOracleMessage((SQLException)e);
|
||||
errorMsg = errorMsg + "[" + para + "]";
|
||||
}
|
||||
else {
|
||||
errorMsg = e.getMessage() + "[" + para + "]";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 오라클 에러 메세지 설정
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param e SQLException 클래스
|
||||
**/
|
||||
private void setOracleMessage(SQLException e)
|
||||
{
|
||||
int code = e.getErrorCode();
|
||||
errorCode = "ORA-" + String.valueOf(((SQLException)e).getErrorCode());
|
||||
switch (code) {
|
||||
case 00001: errorMsg = "UNIQUE COLUMN에 중복된 값이 입력되었습니다."; break;
|
||||
case 01401: errorMsg = "입력한 필드 길이가 너무 큽니다."; break;
|
||||
default : errorMsg = e.getMessage().trim(); break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : JDBC 예외 메세지 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param 예외 메세지
|
||||
**/
|
||||
public String toString() {
|
||||
if (errorMsg.equals("")) {
|
||||
return super.toString();
|
||||
}
|
||||
else {
|
||||
return errorMsg;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : JDBC 예외 메세지 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param 예외 메세지
|
||||
**/
|
||||
public String getMessage() {
|
||||
return toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 예외 코드 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return 예외 코드
|
||||
**/
|
||||
public String getErrorReturnCode() {
|
||||
return errorCode;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
package com.eactive.eai.adapter.wca.jdbc;
|
||||
|
||||
/**
|
||||
* 1. 기능 :
|
||||
* 2. 처리 개요 :
|
||||
* * -
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see : 관련 기능을 참조
|
||||
* @since :
|
||||
*/
|
||||
public class JDBCFactory
|
||||
{
|
||||
private JDBCFactory() {
|
||||
}
|
||||
|
||||
public static JDBCFactory newInstance() {
|
||||
return new JDBCFactory();
|
||||
}
|
||||
|
||||
public BaseJDBC create(String jdbcClassName) throws JDBCException {
|
||||
Class wrapperClass = null;
|
||||
try {
|
||||
wrapperClass = Class.forName(jdbcClassName);
|
||||
}
|
||||
catch (Exception e) {
|
||||
throw new JDBCException("Cannot find the DAO Class. - "+jdbcClassName);
|
||||
}
|
||||
|
||||
BaseJDBC wrapper = null;
|
||||
try {
|
||||
wrapper = (BaseJDBC)wrapperClass.newInstance();
|
||||
}
|
||||
catch (Exception e) {
|
||||
throw new JDBCException("Cannot create a instance of class. - "+e.getMessage());
|
||||
}
|
||||
|
||||
return wrapper;
|
||||
}
|
||||
|
||||
public BaseJDBC create(Class daoClass) throws JDBCException {
|
||||
BaseJDBC wrapper = null;
|
||||
try {
|
||||
wrapper = (BaseJDBC)daoClass.newInstance();
|
||||
}
|
||||
catch (Exception e) {
|
||||
throw new JDBCException("Cannot create a instance of class. - "+e.getMessage());
|
||||
}
|
||||
|
||||
return wrapper;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,301 @@
|
||||
package com.eactive.eai.adapter.wca.jdbc;
|
||||
|
||||
import java.util.Hashtable;
|
||||
import java.util.Vector;
|
||||
|
||||
/**
|
||||
* 1. 기능 : 검색된 SQL 데이타 저장한 Object
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version : v 1.0.0
|
||||
* @see :
|
||||
* @since :
|
||||
*/
|
||||
public class SQLData
|
||||
{
|
||||
Hashtable ht_data = new Hashtable(); // SQL DATA 저장
|
||||
Vector v_colName = new Vector(); // Column Name 저장
|
||||
|
||||
int i_total_rows_cnt; // 전체 데이타 수
|
||||
int i_total_columns_cnt; // 전체 컬럼의 수
|
||||
int i_total_pages_cnt; // 전체 페이지 수
|
||||
int i_disp_rows_cnt; // 한 화면에 보여줄수 있는 데이타수
|
||||
int i_disp_pages_cnt; // 한 화면에 보여줄수 있는 페이지수
|
||||
int i_current_page_num; // 현재 page 번호
|
||||
int i_disp_datas_cnt = -1; // 한 화면에 보여주는 데이타 수
|
||||
|
||||
String DEFAULT_FIRST_BUTTON = "/btn_first_page.gif";
|
||||
String DEFAULT_PREV_BUTTON = "/btn_pre_page.gif";
|
||||
String DEFAULT_NEXT_BUTTON = "/btn_next_page.gif";
|
||||
String DEFAULT_LAST_BUTTON = "/btn_end_page.gif";
|
||||
|
||||
/**
|
||||
* Hashtable에 검색된 SQL 데이타를 SET
|
||||
* key -> (s_name + i_row_num )
|
||||
* value -> s_value
|
||||
*/
|
||||
public void setHashData (int i_row_num, String s_name, String s_value) {
|
||||
this.i_disp_datas_cnt = i_row_num;
|
||||
String s_key = s_name + i_row_num;
|
||||
|
||||
if (s_value == null) {
|
||||
s_value = "";
|
||||
}
|
||||
ht_data.put((Object)s_key, s_value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Column Name을 SET
|
||||
*/
|
||||
public void setColumnName(String s_name) {
|
||||
v_colName.addElement(s_name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Column Name들을 GET
|
||||
*/
|
||||
public Vector getColumnName() {
|
||||
return v_colName;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 검색된 전체 데이타 ROW 수 SET
|
||||
*/
|
||||
public void setTotalRowsCount(int i_total_rows_cnt) {
|
||||
this.i_total_rows_cnt = i_total_rows_cnt;
|
||||
}
|
||||
|
||||
/**
|
||||
* 검색된 전체 데이타 COLUMN 수 SET
|
||||
*/
|
||||
public void setTotalColumnsCount(int i_total_columns_cnt) {
|
||||
this.i_total_columns_cnt = i_total_columns_cnt;
|
||||
}
|
||||
|
||||
/**
|
||||
* 한화면에 표시될 데이타 ROW 수 SET
|
||||
*/
|
||||
public void setDispRowsCount(int i_disp_rows_cnt) {
|
||||
this.i_disp_rows_cnt = i_disp_rows_cnt;
|
||||
}
|
||||
|
||||
/**
|
||||
* 현재 page번호 SET
|
||||
*/
|
||||
public void setCurrentPageNum(int i_current_page_num) {
|
||||
this.i_current_page_num = i_current_page_num;
|
||||
}
|
||||
|
||||
/**
|
||||
* 한 화면에 표시될 페이지이동번호 수 SET
|
||||
* @param i_disp_pages_cnt 페이지번호의 수
|
||||
*/
|
||||
public void setDispPagesCount(int i_disp_pages_cnt) {
|
||||
this.i_disp_pages_cnt = i_disp_pages_cnt;
|
||||
}
|
||||
|
||||
/**
|
||||
* 전체 페이지 수 SET
|
||||
*/
|
||||
public void setTotalPagesCount(int i_total_pages_cnt) {
|
||||
if (i_disp_rows_cnt != 0) {
|
||||
this.i_total_pages_cnt = i_total_pages_cnt;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 검색된 전체 데이타 ROW 수 GET
|
||||
*/
|
||||
public int getTotalRowsCount() {
|
||||
return i_total_rows_cnt;
|
||||
}
|
||||
|
||||
/**
|
||||
* 검색된 전체 데이타 COLUMN 수 GET
|
||||
*/
|
||||
public int getTotalColumnsCount() {
|
||||
return i_total_columns_cnt;
|
||||
}
|
||||
|
||||
/**
|
||||
* 한화면에 표시될 데이타 ROW 수 SET
|
||||
**/
|
||||
public int getDispRowsCount() {
|
||||
return i_disp_rows_cnt;
|
||||
}
|
||||
|
||||
/**
|
||||
* 전체 page 수를 GET
|
||||
* @return 전체 page 수
|
||||
*/
|
||||
public int getTotalPagesCount() {
|
||||
return i_total_pages_cnt;
|
||||
}
|
||||
|
||||
/**
|
||||
* 현재 page번호 SET
|
||||
*/
|
||||
public int getCurrentPageNum() {
|
||||
return i_current_page_num;
|
||||
}
|
||||
|
||||
/**
|
||||
* 전체 페이지 수 GET
|
||||
*/
|
||||
public int getDispDatasCount() {
|
||||
if (i_disp_datas_cnt == -1) {
|
||||
return i_disp_datas_cnt;
|
||||
}
|
||||
else {
|
||||
return i_disp_datas_cnt + 1;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* s_key에 해당되는 value를 GET
|
||||
*/
|
||||
public String getSQLStringData(String s_key) {
|
||||
Object o = ht_data.get( (Object) s_key);
|
||||
|
||||
if (o == null) {
|
||||
return "";
|
||||
}
|
||||
else {
|
||||
return o.toString().trim();
|
||||
}
|
||||
}
|
||||
|
||||
public String getSQLStringData(String keyStr, int index) {
|
||||
return getSQLStringData(keyStr + index);
|
||||
}
|
||||
|
||||
public int getSQLIntData(String s_key) {
|
||||
//return Integer.parseInt(ht_data.get( (Object) s_key).toString().trim());
|
||||
Object o = ht_data.get( (Object) (s_key));
|
||||
if (o == null || o.equals("")) {
|
||||
o = (Object)"0";
|
||||
}
|
||||
return Integer.parseInt((String)o);
|
||||
}
|
||||
|
||||
public int getSQLIntData(String s_key, int index) {
|
||||
Object o = ht_data.get( (Object) (s_key + index));
|
||||
|
||||
if (o == null || o.equals("")) {
|
||||
o = (Object)"0";
|
||||
}
|
||||
return Integer.parseInt((String)o);
|
||||
}
|
||||
|
||||
/**
|
||||
* 페이지 분할 HTML 데이타
|
||||
*/
|
||||
public String getPageHtmlData(String s_javascript, String s_imagePath) {
|
||||
// 이미지
|
||||
String btn_first = " <img src='" + s_imagePath + DEFAULT_FIRST_BUTTON + "' border ='0' align='absmiddle'>";
|
||||
String btn_prev = " <img src='" + s_imagePath + DEFAULT_PREV_BUTTON + "' border ='0' align='absmiddle'>";
|
||||
String btn_next = " <img src='" + s_imagePath + DEFAULT_NEXT_BUTTON + "' border ='0' align='absmiddle'>";
|
||||
String btn_last = " <img src='" + s_imagePath + DEFAULT_LAST_BUTTON + "' border ='0' align='absmiddle'>";
|
||||
|
||||
return getPageHtmlData(s_javascript, btn_first, btn_prev, btn_next, btn_last);
|
||||
}
|
||||
|
||||
public String getPageHtmlData(String s_javascript) {
|
||||
String btn_first = "|◀";
|
||||
String btn_prev = "◀";
|
||||
String btn_next = "▶";
|
||||
String btn_last = "▶|";
|
||||
return getPageHtmlData(s_javascript, btn_first, btn_prev, btn_next, btn_last);
|
||||
}
|
||||
|
||||
public String getPageHtmlData(String s_javascript, String btn_first, String btn_prev, String btn_next, String btn_last) {
|
||||
StringBuffer sb_page = new StringBuffer();
|
||||
|
||||
// page를 나누지 않을 경우
|
||||
if (i_disp_pages_cnt == 0) {
|
||||
return "";
|
||||
}
|
||||
|
||||
//데이타가 존재하지 않을 경우
|
||||
if (i_total_rows_cnt == 0) {
|
||||
//sb_page.append("데이타가 존재하지 않습니다.");
|
||||
}
|
||||
else {
|
||||
// 페이지 분할 할 경우
|
||||
if (i_total_pages_cnt != 0 ) {
|
||||
// 페이지번호의 시작번호
|
||||
int i_start_page_num = 1;
|
||||
// 페이지번호의 마지막번호
|
||||
int i_end_page_num = 1;
|
||||
// 이전페이지 이동시의 시작페이지번호
|
||||
int i_prev_page_num = 1;
|
||||
// 다음페이지 이동시의 시작페이지번호
|
||||
int i_next_page_num = 1;
|
||||
|
||||
// 이전 페이지 번호
|
||||
// int i_prev_num = i_current_page_num - 1;
|
||||
// int i_next_num = i_current_page_num + 1;
|
||||
|
||||
// 시작페이지
|
||||
i_start_page_num = ( (i_current_page_num - 1) / i_disp_pages_cnt) * i_disp_pages_cnt + 1;
|
||||
// 마지막 페이지
|
||||
i_end_page_num = ( (i_current_page_num - 1) / i_disp_pages_cnt) * i_disp_pages_cnt + i_disp_pages_cnt;
|
||||
|
||||
if (i_end_page_num > i_total_pages_cnt) {
|
||||
i_end_page_num = i_total_pages_cnt;
|
||||
}
|
||||
|
||||
// 처음으로
|
||||
if (i_current_page_num > 1) {
|
||||
sb_page.append("<a href=\"javascript:" + s_javascript + "(1);\">" + btn_first + "</a>");
|
||||
}
|
||||
else {
|
||||
sb_page.append(btn_first);
|
||||
}
|
||||
|
||||
//이전페이지
|
||||
if (i_start_page_num > i_disp_pages_cnt) {
|
||||
i_prev_page_num = i_start_page_num - 1;
|
||||
sb_page.append("<a href=\"javascript:" + s_javascript + "('" + i_prev_page_num + "');\">" + btn_prev + "</a>");
|
||||
}
|
||||
else {
|
||||
sb_page.append(btn_prev);
|
||||
}
|
||||
|
||||
//페이지 번호 이동
|
||||
for (int i_pageNum = i_start_page_num; i_pageNum <= i_end_page_num; i_pageNum++) {
|
||||
if (i_pageNum == i_current_page_num) {
|
||||
//sb_page.append("<font color='red'>[" + i_pageNum + "]</font>");
|
||||
sb_page.append(" | <span class=\"text04_eng\">" + i_pageNum + "</span>");
|
||||
}
|
||||
else {
|
||||
sb_page.append(" | <a class =\"case2\" href=\"javascript:" + s_javascript + "('" + i_pageNum + "');\">" + i_pageNum + "</a>");
|
||||
}
|
||||
}
|
||||
|
||||
sb_page.append(" | ");
|
||||
|
||||
// 다음 페이지
|
||||
if (i_end_page_num < i_total_pages_cnt) {
|
||||
i_next_page_num = i_end_page_num + 1;
|
||||
sb_page.append("<a href=\"javascript:" + s_javascript + "('" + i_next_page_num + "');\">" + btn_next + "</a>");
|
||||
}
|
||||
else {
|
||||
sb_page.append(btn_next);
|
||||
}
|
||||
|
||||
// 마지막 페이지
|
||||
if (i_current_page_num < i_total_pages_cnt) {
|
||||
sb_page.append("<a href=\"javascript:" + s_javascript + "('" + i_total_pages_cnt + "');\">" + btn_last + "</a>");
|
||||
}
|
||||
else {
|
||||
sb_page.append(btn_last);
|
||||
}
|
||||
}
|
||||
}
|
||||
return sb_page.toString();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.eactive.eai.adapter.wca.log;
|
||||
|
||||
import com.eactive.eai.adapter.wca.servlet.TableInfoEx;
|
||||
|
||||
public interface ErrorLogQuery
|
||||
{
|
||||
/**
|
||||
* 에러 추가 query
|
||||
*/
|
||||
// 20191015 Start
|
||||
// 쿼리 대소문자 변경으로 인해 변경
|
||||
/*
|
||||
public static final String INSERT_ERROR_LOG = "INSERT INTO "+ TableInfoEx.T_ERROR_LOG +
|
||||
" (\"MsgDpstHMS\", \"AdptrGstatSevrName\", \"AdptrGroupName\", \"LUGroupName\", \"LUName\", " +
|
||||
" \"LogPrcssSerno\", \"EAISvcSerno\", \"DataDstcd\", \"EAIErrCtnt\", \"FrtimMsgDpstHMS\" )" +
|
||||
" VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||
*/
|
||||
public static final String INSERT_ERROR_LOG = "INSERT INTO "+ TableInfoEx.T_ERROR_LOG +
|
||||
" (MsgDpstHMS, AdptrGstatSevrName, AdptrGroupName, LUGroupName, LUName, " +
|
||||
" LogPrcssSerno, EAISvcSerno, DataDstcd, EAIErrCtnt, FrtimMsgDpstHMS )" +
|
||||
" VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||||
// 20191015 End
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
package com.eactive.eai.adapter.wca.log;
|
||||
|
||||
import com.eactive.eai.adapter.wca.exception.WCAException;
|
||||
import com.eactive.eai.adapter.wca.jdbc.BaseJDBC;
|
||||
import com.eactive.eai.adapter.wca.jdbc.JDBCException;
|
||||
import com.eactive.eai.adapter.wca.util.DateUtil;
|
||||
import com.eactive.eai.common.server.EAIServerManager;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
|
||||
import java.sql.SQLException;
|
||||
|
||||
public class InsertErrorLog extends BaseJDBC implements ErrorLogQuery
|
||||
{
|
||||
Logger trc_logger = Logger.getLogger(Logger.LOGGER_ADAPTER);
|
||||
/**
|
||||
* 1. 기능 : 에러 로그 추가
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param data SessionGroupData Object
|
||||
* @return 추가된 레코드 수
|
||||
* @exception JDBCException DB 작업시 발행하는 예외 발생 정보 (SQLException 에러코드와 메세지 포함)
|
||||
**/
|
||||
public int insertErrorLog(String adapterGroupName, String luGroupName, String luName,
|
||||
String dataccd, String svcsno, String errcd) throws JDBCException {
|
||||
int nExeCnt = 0;
|
||||
StringBuffer sbLog = new StringBuffer();
|
||||
|
||||
if (luGroupName == null || luGroupName.equals("")) { luGroupName = " "; }
|
||||
if (luName == null || luName.equals("")) { luName = " "; }
|
||||
String sFrtimMsgDpstHMS = " ";
|
||||
String sLogPrcssSerno = "100";
|
||||
if (errcd.equals(WCAException.E_SOFTLINK_RECV_SESSION_CLOSE)) { sLogPrcssSerno = "400"; }
|
||||
|
||||
try {
|
||||
DateUtil dateUtil = new DateUtil();
|
||||
String sDate = dateUtil.getDateMilliTime();
|
||||
getDsConnection();
|
||||
setStatement(INSERT_ERROR_LOG);
|
||||
//MsgDpstHMS, AdptrGstatSevrName, AdptrGroupName, LUGroupName, LUName,
|
||||
//LogPrcssSerno, EAISvcSerno, DataDstcd, EAIErrCtnt, FrtimMsgDpstHMS
|
||||
this.preparedStatement.setString(1, sDate);
|
||||
this.preparedStatement.setString(2, EAIServerManager.getInstance().getLocalServerHostName());
|
||||
this.preparedStatement.setString(3, adapterGroupName);
|
||||
this.preparedStatement.setString(4, luGroupName);
|
||||
this.preparedStatement.setString(5, luName);
|
||||
this.preparedStatement.setString(6, sLogPrcssSerno);
|
||||
this.preparedStatement.setString(7, svcsno);
|
||||
this.preparedStatement.setString(8, dataccd);
|
||||
this.preparedStatement.setString(9, errcd);
|
||||
this.preparedStatement.setString(10, sFrtimMsgDpstHMS);
|
||||
|
||||
sbLog.append(sDate + ",")
|
||||
.append(EAIServerManager.getInstance().getLocalServerHostName() + ",")
|
||||
.append(adapterGroupName + ",")
|
||||
.append(luGroupName + ",")
|
||||
.append(luName + ",")
|
||||
.append(sLogPrcssSerno + ",")
|
||||
.append(svcsno + ",")
|
||||
.append(dataccd + ",")
|
||||
.append(errcd + ",")
|
||||
.append(sFrtimMsgDpstHMS);
|
||||
if (trc_logger.isDebug()) { trc_logger.debug("Error Log = " + sbLog.toString()); }
|
||||
|
||||
nExeCnt =executeUpdate();
|
||||
return nExeCnt;
|
||||
}
|
||||
catch (SQLException e) {
|
||||
throw new JDBCException(e, svcsno);
|
||||
}
|
||||
catch (java.net.UnknownHostException host) {
|
||||
throw new JDBCException("InsertErrorLog", "insertErrorLog", host);
|
||||
}
|
||||
finally {
|
||||
this.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,538 @@
|
||||
//package com.eactive.eai.adapter.wca.servlet;
|
||||
//
|
||||
//import java.io.IOException;
|
||||
//import java.util.HashMap;
|
||||
//import java.util.Iterator;
|
||||
//import java.util.StringTokenizer;
|
||||
//import java.util.Vector;
|
||||
//import javax.servlet.RequestDispatcher;
|
||||
//import javax.servlet.ServletConfig;
|
||||
//import javax.servlet.ServletException;
|
||||
//import javax.servlet.http.HttpServlet;
|
||||
//import javax.servlet.http.HttpServletRequest;
|
||||
//import javax.servlet.http.HttpServletResponse;
|
||||
//import javax.servlet.http.HttpSession;
|
||||
//import org.apache.log4j.Logger;
|
||||
//
|
||||
//import com.eactive.eai.adapter.wca.cfg.LUInfoJDBCEx;
|
||||
//import com.eactive.eai.adapter.wca.cfg.SNAAdapter;
|
||||
//import com.eactive.eai.adapter.wca.cfg.SNAAdapterManager;
|
||||
//import com.eactive.eai.adapter.wca.cfg.SessionGroupDataEx;
|
||||
//import com.eactive.eai.adapter.wca.cfg.SessionGroupJDBCEx;
|
||||
//import com.eactive.eai.adapter.wca.command.DBCommand;
|
||||
//import com.eactive.eai.adapter.wca.command.DeleteSessionGroupEx;
|
||||
//import com.eactive.eai.adapter.wca.command.InsertSessionGroupEx;
|
||||
//import com.eactive.eai.adapter.wca.command.UpdateSessionGroupEx;
|
||||
//import com.eactive.eai.adapter.wca.exception.WCAException;
|
||||
//import com.eactive.eai.adapter.wca.global.WCADefine;
|
||||
//import com.eactive.eai.adapter.wca.jdbc.CommonJDBC;
|
||||
//import com.eactive.eai.adapter.wca.jdbc.JDBCException;
|
||||
//import com.eactive.eai.adapter.wca.jdbc.JDBCFactory;
|
||||
//import com.eactive.eai.adapter.wca.jdbc.SQLData;
|
||||
//import com.eactive.eai.adapter.wca.util.SNAAgentUtil;
|
||||
//import com.eactive.eai.agent.AgentUtil;
|
||||
//import com.eactive.eai.agent.command.Command;
|
||||
//import com.eactive.eai.common.server.EAIServerManager;
|
||||
//
|
||||
///**
|
||||
//* 1. 기능 : LU 그룹 관리 서블릿
|
||||
//* 2. 처리 개요 :
|
||||
//* 3. 주의사항
|
||||
//*
|
||||
//* @author :
|
||||
//* @version :
|
||||
//* @see :
|
||||
//* @since :
|
||||
//*/
|
||||
//public class LUGroupServletEx extends HttpServlet implements DBCommand{
|
||||
// Logger logger = Logger.getLogger(LUGroupServletEx.class);
|
||||
// /**
|
||||
// * 1. 기능 : GET 데이타 처리
|
||||
// * 2. 처리 개요 :
|
||||
// * 3. 주의사항
|
||||
// *
|
||||
// * @param request HttpServletRequest 객체
|
||||
// * @param response HttpServletResponse 객체
|
||||
// **/
|
||||
// public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
|
||||
// doPost(request, response);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 1. 기능 : POST 데이타 처리
|
||||
// * 2. 처리 개요 : TYPE에 따라 함수 분기
|
||||
// * 3. 주의사항
|
||||
// *
|
||||
// * @param request HttpServletRequest 객체
|
||||
// * @param response HttpServletResponse 객체
|
||||
// **/
|
||||
// public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
|
||||
//
|
||||
// String srType = request.getParameter("TYPE")==null? "":request.getParameter("TYPE").trim();
|
||||
//
|
||||
// try
|
||||
// {
|
||||
// if(srType.equals("INSERT")){
|
||||
// insertLUGroup(request);
|
||||
// selectLUGroup(request);
|
||||
// }
|
||||
// else if(srType.equals("DELETE")){
|
||||
// deleteLUGroup(request);
|
||||
// selectLUGroup(request);
|
||||
// }
|
||||
// else if(srType.equals("DELETE_ALL")){
|
||||
// deleteAllLUGroup(request);
|
||||
// selectLUGroup(request);
|
||||
// }
|
||||
// else if(srType.equals("UPDATE")){
|
||||
// updateLUGroup(request);
|
||||
// selectLUGroup(request);
|
||||
// }
|
||||
// else if(srType.equals("LIST")){
|
||||
// selectLUGroup(request);
|
||||
// }
|
||||
//
|
||||
// else if(srType.equals("UPDATE_SELECT")){ // update page
|
||||
// updateSelectLUGroup(request);
|
||||
//
|
||||
// RequestDispatcher rd = getServletContext().getRequestDispatcher(PathInfoEx.P_LU_GROUP_UPDATE);
|
||||
// rd.forward(request, response);
|
||||
// return;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// selectLUGroup(request);
|
||||
// }
|
||||
// RequestDispatcher rd = getServletContext().getRequestDispatcher(PathInfoEx.P_LU_GROUP_LIST);
|
||||
// rd.forward(request, response);
|
||||
// }
|
||||
// catch(JDBCException jdbc)
|
||||
// {
|
||||
// jdbc.printStackTrace();
|
||||
// String sErrorMsg = jdbc.toString();
|
||||
// request.setAttribute("errorMessage",sErrorMsg );
|
||||
// RequestDispatcher rd = getServletContext().getRequestDispatcher(PathInfoEx.P_ERROR);
|
||||
// rd.forward(request, response);
|
||||
// }
|
||||
// catch(Exception e)
|
||||
// {
|
||||
// e.printStackTrace();
|
||||
// request.setAttribute("errorMessage", e.toString());
|
||||
// RequestDispatcher rd = getServletContext().getRequestDispatcher(PathInfoEx.P_ERROR);
|
||||
// rd.forward(request, response);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 1. 기능 : LU 세션 그룹 조회
|
||||
// * 2. 처리 개요 :
|
||||
// * 3. 주의사항
|
||||
// *
|
||||
// * @param request HttpServletRequest 객체
|
||||
// * @exception JDBCException
|
||||
// **/
|
||||
// private void selectLUGroup(HttpServletRequest request) throws JDBCException {
|
||||
// StringBuffer sbQuery = new StringBuffer();
|
||||
//
|
||||
// // 20080827 Start
|
||||
// // 20080527 Start
|
||||
// /*
|
||||
// sbQuery.append( "select \"AdptrGstatSevrName\", \"AdptrGroupName\", \"LUGroupName\", \"SoftLinkPortNo\", \"WCASessCnt\", \"SvcToutVal\", " +
|
||||
// " \"BkupAutoCnvsnYn\", \"BkupCnvsnBaseObstclRt\" " +
|
||||
// " FROM " + TableInfo.T_LU_GROUP +
|
||||
// " WHERE 1=1 ");
|
||||
// */
|
||||
// /*
|
||||
// sbQuery.append( "select \"AdptrGstatSevrName\", \"AdptrGroupName\", \"LUGroupName\", \"SoftLinkPortNo\", \"WCASessCnt\", \"SvcToutVal\", " +
|
||||
// " \"BkupAutoCnvsnYn\", \"BkupCnvsnBaseObstclRt\", \"SoftLinkSevrName\" " +
|
||||
// " FROM " + TableInfoEx.T_LU_GROUP +
|
||||
// " WHERE 1=1 ");
|
||||
// */
|
||||
// // 20080527 End
|
||||
// sbQuery.append( "select \"AdptrGstatSevrName\", \"AdptrGroupName\", \"LUGroupName\", \"SoftLinkPortNo\", \"WCASessCnt\", \"SvcToutVal\", " +
|
||||
// " \"BkupAutoCnvsnYn\", \"BkupCnvsnBaseObstclRt\" " +
|
||||
// " FROM " + TableInfoEx.T_LU_GROUP +
|
||||
// " WHERE 1=1 ");
|
||||
// // 20080827 End
|
||||
//
|
||||
// try {
|
||||
// // 1. page num
|
||||
// String sCurrentPageNum = request.getParameter("CURRENT_PAGE_NUM");
|
||||
// if ( sCurrentPageNum == null || sCurrentPageNum.equals("") )
|
||||
// sCurrentPageNum = "1";
|
||||
// int nCurrentPageNum = Integer.parseInt(sCurrentPageNum);
|
||||
//
|
||||
// String sEaiSystemName = request.getParameter("NODENM")==null?"":request.getParameter("NODENM");
|
||||
// String sAdapterGroupName= request.getParameter("ADPTGRPNM")==null?"":request.getParameter("ADPTGRPNM");
|
||||
//
|
||||
// String srSortColumn = request.getParameter("SORT_COLUMN")==null? "": request.getParameter("SORT_COLUMN");
|
||||
// String srSortNodeName = request.getParameter("SORT_NODENM")==null? TableInfoEx.SORT_ASC: request.getParameter("SORT_NODENM");
|
||||
// String srSortAdapterGrpName = request.getParameter("SORT_ADPTGRPNM")==null? TableInfoEx.SORT_ASC: request.getParameter("SORT_ADPTGRPNM");
|
||||
// String srSortLUGrpName = request.getParameter("SORT_LUGRPNM")==null? TableInfoEx.SORT_ASC: request.getParameter("SORT_LUGRPNM");
|
||||
//
|
||||
// srSortNodeName = (srSortNodeName.equals(TableInfoEx.SORT_ASC)==true)?"ASC":"DESC";
|
||||
// srSortAdapterGrpName = (srSortAdapterGrpName.equals(TableInfoEx.SORT_ASC)==true)?"ASC":"DESC";
|
||||
// srSortLUGrpName = (srSortLUGrpName.equals(TableInfoEx.SORT_ASC)==true)?"ASC":"DESC";
|
||||
//
|
||||
// // 2. get parameter and make conf query
|
||||
// if (!sEaiSystemName.equals(SelectBoxData.ALL_SEARCH) && !sEaiSystemName.equals(""))
|
||||
// sbQuery.append(" AND \"AdptrGstatSevrName\" = '" + sEaiSystemName + "' " );
|
||||
// if (!sAdapterGroupName.equals(SelectBoxData.ALL_SEARCH) && !sAdapterGroupName.equals(""))
|
||||
// sbQuery.append(" AND \"AdptrGroupName\" = '" + sAdapterGroupName + "' ");
|
||||
//
|
||||
// if (srSortColumn.equals("SORT_NODENM"))
|
||||
// sbQuery.append(" ORDER BY \"AdptrGstatSevrName\" " + srSortNodeName);
|
||||
// else if (srSortColumn.equals("SORT_ADPTGRPNM"))
|
||||
// sbQuery.append(" ORDER BY \"AdptrGroupName\" " + srSortAdapterGrpName);
|
||||
// else if (srSortColumn.equals("SORT_LUGRPNM"))
|
||||
// sbQuery.append(" ORDER BY \"LUGroupName\" " + srSortLUGrpName);
|
||||
// else
|
||||
// sbQuery.append(" ORDER BY \"AdptrGstatSevrName\", \"AdptrGroupName\", \"LUGroupName\"");
|
||||
//
|
||||
// // 3. query execute
|
||||
// JDBCFactory factory = JDBCFactory.newInstance();
|
||||
// CommonJDBC common = (CommonJDBC)factory.create(CommonJDBC.class);
|
||||
// SQLData data = common.select(sbQuery.toString(), nCurrentPageNum, TableStyle.DISP_ROWS_COUNT, TableStyle.DISP_PAGES_COUNT);
|
||||
// request.setAttribute("RESULT", data);
|
||||
// }
|
||||
// catch(JDBCException e)
|
||||
// {
|
||||
// throw e;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 1. 기능 : LU 세션 그룹 등록
|
||||
// * 2. 처리 개요 :
|
||||
// * 3. 주의사항
|
||||
// *
|
||||
// * @param request HttpServletRequest 객체
|
||||
// * @exception Exception
|
||||
// **/
|
||||
// public void insertLUGroup(HttpServletRequest request) throws Exception {
|
||||
// JDBCFactory factory = JDBCFactory.newInstance();
|
||||
// SessionGroupJDBCEx jdbc = null;
|
||||
//
|
||||
// try {
|
||||
// SessionGroupDataEx data = setParameter(request);
|
||||
// jdbc = (SessionGroupJDBCEx)factory.create(SessionGroupJDBCEx.class);
|
||||
// int result = jdbc.insertSessionGroup(data);
|
||||
// logger.info("LU 그룹 등록 : " + data.toString());
|
||||
// updateApply(CMD_INSERT, data);
|
||||
// }
|
||||
// catch(JDBCException e) {
|
||||
// e.printStackTrace();
|
||||
// throw e;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 1. 기능 : LU 세션 그룹 삭제
|
||||
// * 2. 처리 개요 :
|
||||
// * 3. 주의사항
|
||||
// *
|
||||
// * @param request HttpServletRequest 객체
|
||||
// * @exception Exception
|
||||
// **/
|
||||
// public void deleteLUGroup(HttpServletRequest request) throws Exception {
|
||||
// JDBCFactory factory = JDBCFactory.newInstance();
|
||||
// SessionGroupJDBCEx jdbc = null;
|
||||
// HashMap hmDatas = new HashMap();
|
||||
// String sAdapterGrpName = "";
|
||||
// String sLUGrpName = "";
|
||||
//
|
||||
// try {
|
||||
// jdbc = (SessionGroupJDBCEx)factory.create(SessionGroupJDBCEx.class);
|
||||
//
|
||||
// MakeQuery makeQuery = new MakeQuery(request);
|
||||
// Vector vConfQuery = makeQuery.makeExeSql();
|
||||
// // 삭제할 checkbox 데이타
|
||||
// for(int nIndx=0;nIndx<vConfQuery.size();nIndx++)
|
||||
// {
|
||||
// // delete key로 삭제할 VO를 생성한다.
|
||||
// StringTokenizer st = new StringTokenizer( (String)vConfQuery.elementAt(nIndx) , TableInfoEx.DELETE_RECODE_DELIMETER);
|
||||
//
|
||||
// SessionGroupDataEx data = new SessionGroupDataEx();
|
||||
// data.setNodeName(st.nextToken());
|
||||
// sAdapterGrpName = st.nextToken();
|
||||
// sLUGrpName = st.nextToken();
|
||||
// sLUGrpName = SelectBoxData.getInstance().getRealLUGrpName(sAdapterGrpName, sLUGrpName);
|
||||
// data.setAdapterGroupName(sAdapterGrpName);
|
||||
// data.setGroupName(sLUGrpName);
|
||||
//
|
||||
// jdbc.deleteSessionGroup(data);
|
||||
// hmDatas.put(String.valueOf(nIndx), data);
|
||||
//
|
||||
// logger.info("LU 그룹 삭제 : " + data.toString());
|
||||
// updateApply(CMD_DELETE, data);
|
||||
// }
|
||||
// }
|
||||
// catch(JDBCException e)
|
||||
// {
|
||||
// throw e;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 1. 기능 : LU 세션 그룹 및 LU 그룹에 속한 LU 삭제
|
||||
// * 2. 처리 개요 :
|
||||
// * 3. 주의사항
|
||||
// *
|
||||
// * @param request HttpServletRequest 객체
|
||||
// * @exception Exception
|
||||
// **/
|
||||
// public void deleteAllLUGroup(HttpServletRequest request) throws Exception {
|
||||
// JDBCFactory factory = JDBCFactory.newInstance();
|
||||
// SessionGroupJDBCEx group_jdbc = null;
|
||||
//
|
||||
// String sNodeName = null;
|
||||
// String sAdapterGroupName = null;
|
||||
// String sGroupName = null;
|
||||
//
|
||||
// try {
|
||||
// group_jdbc = (SessionGroupJDBCEx)factory.create(SessionGroupJDBCEx.class);
|
||||
// MakeQuery makeQuery = new MakeQuery(request);
|
||||
// Vector vConfQuery = makeQuery.makeExeSql();
|
||||
// // 삭제할 checkbox 데이타
|
||||
// for(int nIndx=0;nIndx<vConfQuery.size();nIndx++)
|
||||
// {
|
||||
// // delete key로 삭제할 VO를 생성한다.
|
||||
// StringTokenizer st = new StringTokenizer( (String)vConfQuery.elementAt(nIndx) , TableInfoEx.DELETE_RECODE_DELIMETER);
|
||||
//
|
||||
// SessionGroupDataEx data = new SessionGroupDataEx();
|
||||
// sNodeName = st.nextToken();
|
||||
// sAdapterGroupName = st.nextToken();
|
||||
// sGroupName = st.nextToken();
|
||||
// sGroupName = SelectBoxData.getInstance().getRealLUGrpName(sAdapterGroupName, sGroupName);
|
||||
//
|
||||
// data.setNodeName(sNodeName);
|
||||
// data.setAdapterGroupName(sAdapterGroupName);
|
||||
// data.setGroupName(sGroupName);
|
||||
//
|
||||
// group_jdbc.deleteAllSessionGroup(data);
|
||||
// logger.info("LU 그룹 및 LU 정보 삭제 : " + data.toString());
|
||||
//
|
||||
// updateApply(CMD_DELETE, data);
|
||||
// }
|
||||
// }
|
||||
// catch(JDBCException e)
|
||||
// {
|
||||
// throw e;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
//
|
||||
// /**
|
||||
// * 1. 기능 : 수정을 위한 LU 세션 그룹 조회
|
||||
// * 2. 처리 개요 :
|
||||
// * 3. 주의사항
|
||||
// *
|
||||
// * @param request HttpServletRequest 객체
|
||||
// * @exception JDBCException
|
||||
// **/
|
||||
// private void updateSelectLUGroup(HttpServletRequest request) throws JDBCException {
|
||||
// StringBuffer sbQuery = new StringBuffer();
|
||||
//
|
||||
// // 20080827 Start
|
||||
// // 20080527 Start
|
||||
// /*
|
||||
// sbQuery.append( "select \"AdptrGstatSevrName\", \"AdptrGroupName\", \"LUGroupName\",\"SoftLinkPortNo\", \"WCASessCnt\", " +
|
||||
// " \"SvcToutVal\", \"DmyMsgSituVal\", \"HostSndmsgRUVal\", \"HostDpstRUVal\", \"UapplIDName\", " +
|
||||
// " \"BkupAutoCnvsnYn\", \"BkupCnvsnBaseObstclRt\", \"BkupAdptrGstatSevrName\", \"BkupSoftLinkPortNo\", " +
|
||||
// " \"LogUseYn\", \"LogLvelName\", \"MaxLogFileVal\" " +
|
||||
// " FROM " + TableInfo.T_LU_GROUP );
|
||||
// */
|
||||
// /*
|
||||
// sbQuery.append( "select \"AdptrGstatSevrName\", \"AdptrGroupName\", \"LUGroupName\",\"SoftLinkPortNo\", \"WCASessCnt\", " +
|
||||
// " \"SvcToutVal\", \"DmyMsgSituVal\", \"HostSndmsgRUVal\", \"HostDpstRUVal\", \"UapplIDName\", " +
|
||||
// " \"BkupAutoCnvsnYn\", \"BkupCnvsnBaseObstclRt\", \"BkupAdptrGstatSevrName\", \"BkupSoftLinkPortNo\", " +
|
||||
// " \"LogUseYn\", \"LogLvelName\", \"MaxLogFileVal\", \"SoftLinkSevrName\" " +
|
||||
// " FROM " + TableInfoEx.T_LU_GROUP );
|
||||
// */
|
||||
// // 20080527 End
|
||||
// sbQuery.append( "select \"AdptrGstatSevrName\", \"AdptrGroupName\", \"LUGroupName\",\"SoftLinkPortNo\", \"WCASessCnt\", " +
|
||||
// " \"SvcToutVal\", \"DmyMsgSituVal\", \"HostSndmsgRUVal\", \"HostDpstRUVal\", \"UapplIDName\", " +
|
||||
// " \"BkupAutoCnvsnYn\", \"BkupCnvsnBaseObstclRt\", \"BkupAdptrGstatSevrName\", \"BkupSoftLinkPortNo\", " +
|
||||
// " \"LogUseYn\", \"LogLvelName\", \"MaxLogFileVal\" " +
|
||||
// " FROM " + TableInfoEx.T_LU_GROUP );
|
||||
// // 20080827 End
|
||||
//
|
||||
// // 파라미터 정보로 query 생성
|
||||
// String sUpdateData = request.getParameter("UPDATE_DATA")==null?"":request.getParameter("UPDATE_DATA");
|
||||
// StringTokenizer st = new StringTokenizer( sUpdateData , TableInfoEx.DELETE_RECODE_DELIMETER);
|
||||
//
|
||||
// String sNodeName = st.nextToken();
|
||||
// String sAdpaterGroupName = st.nextToken();
|
||||
// String sLUGrpName = st.nextToken();
|
||||
// String sReaLUGrpName = SelectBoxData.getInstance().getRealLUGrpName(sAdpaterGroupName, sLUGrpName);
|
||||
// sbQuery.append(" WHERE \"AdptrGstatSevrName\"='"+ sNodeName +"' AND \"AdptrGroupName\"='" + sAdpaterGroupName + "' AND \"LUGroupName\"='" + sReaLUGrpName + "'");
|
||||
//
|
||||
//
|
||||
// // query execute
|
||||
// JDBCFactory factory = JDBCFactory.newInstance();
|
||||
// CommonJDBC common = (CommonJDBC)factory.create(CommonJDBC.class);
|
||||
// SQLData data = common.select(sbQuery.toString());
|
||||
// request.setAttribute("RESULT", data);
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
// /**
|
||||
// * 1. 기능 : LU 세션 그룹 및 해당하는 LU 정보 수정
|
||||
// * 2. 처리 개요 :
|
||||
// * 3. 주의사항
|
||||
// *
|
||||
// * @param request HttpServletRequest 객체
|
||||
// * @exception Exception
|
||||
// **/
|
||||
// public void updateLUGroup(HttpServletRequest request) throws Exception {
|
||||
// JDBCFactory factory = JDBCFactory.newInstance();
|
||||
// SessionGroupJDBCEx jdbc = null;
|
||||
//
|
||||
// try {
|
||||
// SessionGroupDataEx data = setParameter(request);
|
||||
// jdbc = (SessionGroupJDBCEx)factory.create(SessionGroupJDBCEx.class);
|
||||
// jdbc.updateSessionGroup(data);
|
||||
//
|
||||
// logger.info("LU 그룹 수정 : " + data.toString());
|
||||
// updateApply(CMD_UPDATE, data);
|
||||
// }
|
||||
// catch(JDBCException e){
|
||||
// throw e;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 1. 기능 : 실시간 적용
|
||||
// * 2. 처리 개요 :
|
||||
// * 3. 주의사항
|
||||
// *
|
||||
// * @param sCommand 추가,삭제, 수정 명령어 구분자
|
||||
// * @param data SessionGroupData
|
||||
// **/
|
||||
// private void updateApply(String sCommand, SessionGroupDataEx data) throws Exception
|
||||
// {
|
||||
// HashMap result = new HashMap();
|
||||
// try{
|
||||
// Command command = null;
|
||||
// if (sCommand.equals(CMD_INSERT))
|
||||
// command = new InsertSessionGroupEx();
|
||||
// if (sCommand.equals(CMD_UPDATE))
|
||||
// command = new UpdateSessionGroupEx();
|
||||
// if (sCommand.equals(CMD_DELETE))
|
||||
// command = new DeleteSessionGroupEx();
|
||||
//
|
||||
// command.setArgs(data);
|
||||
// AgentUtil.broadcast(command);
|
||||
//
|
||||
// // 20080827 Start
|
||||
// // 20080613 Start
|
||||
// // SNAAgentUtil.notifyAllSoftlinkNode();
|
||||
// // 20080613 End
|
||||
// // SNAAgentUtil.notifySoftlinkNode(data.getNodeName());
|
||||
// SNAAgentUtil.notifySoftlinkNode(data.getNodeName(), data.getAdapterGroupName(), data.getGroupName());
|
||||
// // 20080827 End
|
||||
// }
|
||||
// catch(Exception e)
|
||||
// {
|
||||
// //e.printStackTrace();
|
||||
// throw e;
|
||||
// }
|
||||
// if (result.size() > 0) // 에러가 있을 경우
|
||||
// throw new WebException("시스템 적용 실패하였습니다. <Br> " + makeErrorString(result)) ;
|
||||
// }
|
||||
//
|
||||
// private String makeErrorString(HashMap result)
|
||||
// {
|
||||
// StringBuffer sbResult = new StringBuffer();
|
||||
// Iterator it = result.keySet().iterator();
|
||||
// String sSvrName = null;
|
||||
// String sResult = null;
|
||||
// while(it.hasNext()) {
|
||||
// sSvrName = (String)it.next();
|
||||
// sResult = (String)result.get(sSvrName);
|
||||
// if (sResult.equals("success")) continue;
|
||||
// sbResult.append(sSvrName + " : " + sResult +"<br>");
|
||||
// }
|
||||
// return sbResult.toString();
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 1. 기능 : 파라미터 정보로 SessionGroupData 객체 생성
|
||||
// * 2. 처리 개요 :
|
||||
// * 3. 주의사항
|
||||
// *
|
||||
// * @param request HttpServletRequest 객체
|
||||
// * @return SessionGroupData 객체
|
||||
// **/
|
||||
// private SessionGroupDataEx setParameter(HttpServletRequest request)
|
||||
// {
|
||||
// // 1. 파라미터 설정
|
||||
// SessionGroupDataEx data = new SessionGroupDataEx();
|
||||
// String sNodeName = request.getParameter("NODENM")==null?"":request.getParameter("NODENM");
|
||||
// String sAdptGrpName = request.getParameter("ADPTGRPNM")==null?"":request.getParameter("ADPTGRPNM");
|
||||
// String sLUGrpName = request.getParameter("LUGRPNM")==null?"":request.getParameter("LUGRPNM");
|
||||
// String sPort = request.getParameter("SOFTLINKPORT")==null?"0":request.getParameter("SOFTLINKPORT");
|
||||
// String sSessCnt = request.getParameter("WCASSNCNT")==null?"0":request.getParameter("WCASSNCNT");
|
||||
// String sTranTimeout = request.getParameter("TRANTIMEOUT")==null?String.valueOf(WCADefine.DEFAULT_TRANSACTION_TIMEOUT):request.getParameter("TRANTIMEOUT");
|
||||
// String sTranMode = request.getParameter("SRECEMODE")==null?"":request.getParameter("SRECEMODE");
|
||||
// String sDummyOffset = request.getParameter("DUMMYOFFSET")==null?"0":request.getParameter("DUMMYOFFSET");
|
||||
// String sHostSndRUSize = request.getParameter("HOSTSNDRUSIZE")==null?"0":request.getParameter("HOSTSNDRUSIZE");
|
||||
// String sHostRcvRUSize = request.getParameter("HOSTRCVRUSIZE")==null?"0":request.getParameter("HOSTRCVRUSIZE");
|
||||
// String sApplyID = request.getParameter("APPLID")==null?"":request.getParameter("APPLID");
|
||||
//
|
||||
// // 20090227 Start
|
||||
// String sUpdateLuApplyID = request.getParameter("UPDATE_LU_APPLID")==null?"":request.getParameter("UPDATE_LU_APPLID");
|
||||
// // 20090227 End
|
||||
//
|
||||
// String sBkupAutoCvs = request.getParameter("BKUPAUTOCVSYN")==null?"":request.getParameter("BKUPAUTOCVSYN");
|
||||
// String sBkupCvsVal = request.getParameter("BKUPCVSBASVL")==null?"0":request.getParameter("BKUPCVSBASVL");
|
||||
// String sBkupnNodeName = request.getParameter("BKUPNODENM")==null?"":request.getParameter("BKUPNODENM");
|
||||
// String sBkupPort = request.getParameter("BKUPSOFTLINKPORT")==null?"0":request.getParameter("BKUPSOFTLINKPORT");
|
||||
//
|
||||
// String sLogUsgYn = request.getParameter("LOGUSGYN")==null?"":request.getParameter("LOGUSGYN");
|
||||
// String sLogLevel = request.getParameter("LOGLVL")==null?"":request.getParameter("LOGLVL");
|
||||
// String sLogVal = request.getParameter("GRSTLOGFILESIZE")==null?"0":request.getParameter("GRSTLOGFILESIZE");
|
||||
//
|
||||
// // 20080827 Start
|
||||
// /*
|
||||
// // 20080527 Start
|
||||
// String sSoftLinkSevrName = request.getParameter("SOFTLINKSEVRNAME")==null? "127.0.0.1":request.getParameter("SOFTLINKSEVRNAME");
|
||||
// // 20080527 End
|
||||
// */
|
||||
// String sSoftLinkSevrName = "127.0.0.1";
|
||||
// // 20080827 End
|
||||
//
|
||||
// // 2. vo 설정
|
||||
// data.setNodeName(sNodeName);
|
||||
// data.setAdapterGroupName(sAdptGrpName);
|
||||
// data.setGroupName(sLUGrpName);
|
||||
// data.setPort(sPort);
|
||||
// data.setSessionCnt(sSessCnt);
|
||||
// data.setTranTimeout(sTranTimeout);
|
||||
// data.setDummyOffset(sDummyOffset);
|
||||
// data.setHostSndRUSize(sHostSndRUSize);
|
||||
// data.setHostRcvRUSize(sHostRcvRUSize);
|
||||
// data.setApplyID(sApplyID);
|
||||
//
|
||||
// // 20090227 Start
|
||||
// data.setUpdateLuApplyID(sUpdateLuApplyID);
|
||||
// // 20090227 End
|
||||
//
|
||||
// data.setBackupCvsMode(sBkupAutoCvs);
|
||||
// data.setBackupCvsVal(sBkupCvsVal);
|
||||
// data.setBackupNodeName(sBkupnNodeName);
|
||||
// data.setBackupPort(sBkupPort);
|
||||
// data.setLogYN(sLogUsgYn);
|
||||
// data.setLogLevel(sLogLevel);
|
||||
// data.setLogSize(sLogVal);
|
||||
//
|
||||
// // 20080527 Start
|
||||
// data.setSoftLinkSevrName(sSoftLinkSevrName);
|
||||
// // 20080527 End
|
||||
//
|
||||
// return data;
|
||||
// }
|
||||
//
|
||||
//
|
||||
//}
|
||||
@@ -0,0 +1,336 @@
|
||||
package com.eactive.eai.adapter.wca.servlet;//package com.eactive.eai.adapter.wca.servlet;
|
||||
//
|
||||
//import java.io.IOException;
|
||||
//import java.util.HashMap;
|
||||
//import java.util.Iterator;
|
||||
//import java.util.StringTokenizer;
|
||||
//import java.util.Vector;
|
||||
//
|
||||
//import javax.servlet.RequestDispatcher;
|
||||
//import javax.servlet.ServletException;
|
||||
//import javax.servlet.http.HttpServlet;
|
||||
//import javax.servlet.http.HttpServletRequest;
|
||||
//import javax.servlet.http.HttpServletResponse;
|
||||
//
|
||||
//import org.apache.log4j.Logger;
|
||||
//
|
||||
//import com.eactive.eai.adapter.wca.cfg.LUHostDataEx;
|
||||
//import com.eactive.eai.adapter.wca.cfg.LUHostJDBCEx;
|
||||
//import com.eactive.eai.adapter.wca.jdbc.CommonJDBC;
|
||||
//import com.eactive.eai.adapter.wca.jdbc.JDBCException;
|
||||
//import com.eactive.eai.adapter.wca.jdbc.JDBCFactory;
|
||||
//import com.eactive.eai.adapter.wca.jdbc.SQLData;
|
||||
//
|
||||
///**
|
||||
//* 1. ��� : LU ���� ����
|
||||
//* 2. ó�� ���� :
|
||||
//* 3. ���ǻ���
|
||||
//*
|
||||
//* @author :
|
||||
//* @version :
|
||||
//* @see :
|
||||
//* @since :
|
||||
//*/
|
||||
//public class LUHostServletEx extends HttpServlet {
|
||||
//
|
||||
// Logger logger = Logger.getLogger(LUHostServletEx.class);
|
||||
//
|
||||
// /**
|
||||
// * 1. ��� : GET ����Ÿ ó��
|
||||
// * 2. ó�� ���� :
|
||||
// * 3. ���ǻ���
|
||||
// *
|
||||
// * @param request HttpServletRequest ��ü
|
||||
// * @param response HttpServletResponse ��ü
|
||||
// **/
|
||||
// public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
|
||||
// doPost(request, response);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 1. ��� : POST ����Ÿ ó��
|
||||
// * 2. ó�� ���� : TYPE�� ���� �Լ� �б�
|
||||
// * 3. ���ǻ���
|
||||
// *
|
||||
// * @param request HttpServletRequest ��ü
|
||||
// * @param response HttpServletResponse ��ü
|
||||
// **/
|
||||
// public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
|
||||
//
|
||||
// try
|
||||
// {
|
||||
// String srType = request.getParameter("TYPE")==null? "":request.getParameter("TYPE").trim();
|
||||
//
|
||||
// if(srType.equals("INSERT")){
|
||||
// insertLUHost(request);
|
||||
// selectLUHost(request);
|
||||
// }
|
||||
// else if(srType.equals("DELETE")){
|
||||
// deleteLUHost(request);
|
||||
// selectLUHost(request);
|
||||
// }
|
||||
// else if(srType.equals("UPDATE")){
|
||||
// updateLUHost(request);
|
||||
// selectLUHost(request);
|
||||
// }
|
||||
// else if(srType.equals("UPDATE_SELECT")) { // update page
|
||||
// updateSelectLUHost(request);
|
||||
//
|
||||
// RequestDispatcher rd = getServletContext().getRequestDispatcher(PathInfoEx.P_LU_HOST_UPDATE);
|
||||
// rd.forward(request, response);
|
||||
// return;
|
||||
// }
|
||||
// else if(srType.equals("LIST")){
|
||||
// selectLUHost(request);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// selectLUHost(request);
|
||||
// }
|
||||
//
|
||||
// RequestDispatcher rd = getServletContext().getRequestDispatcher(PathInfoEx.P_LU_HOST_LIST);
|
||||
// rd.forward(request, response);
|
||||
// }
|
||||
// catch(JDBCException jdbc)
|
||||
// {
|
||||
// jdbc.printStackTrace();
|
||||
// String sErrorMsg = jdbc.toString();
|
||||
// request.setAttribute("errorMessage",sErrorMsg );
|
||||
// RequestDispatcher rd = getServletContext().getRequestDispatcher(PathInfoEx.P_ERROR);
|
||||
// rd.forward(request, response);
|
||||
// }
|
||||
// catch(Exception e)
|
||||
// {
|
||||
// e.printStackTrace();
|
||||
// request.setAttribute("errorMessage", e.toString());
|
||||
// RequestDispatcher rd = getServletContext().getRequestDispatcher(PathInfoEx.P_ERROR);
|
||||
// rd.forward(request, response);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 1. ��� : LU ȣ��Ʈ ��ȸ
|
||||
// * 2. ó�� ���� :
|
||||
// * 3. ���ǻ���
|
||||
// *
|
||||
// * @param request HttpServletRequest ��ü
|
||||
// * @exception JDBCException
|
||||
// **/
|
||||
// private void selectLUHost(HttpServletRequest request) throws JDBCException {
|
||||
// StringBuffer sbQuery = new StringBuffer();
|
||||
//
|
||||
// sbQuery.append( "select \"SNAAdptrSevrName\", \"SNAAdptrSevrIPName\", \"SNAAdptrSevrCtnt\" " +
|
||||
// " FROM " + TableInfoEx.T_LU_HOST +
|
||||
// " WHERE 1=1 ");
|
||||
//
|
||||
// // 1. page num
|
||||
// String sCurrentPageNum = request.getParameter("CURRENT_PAGE_NUM");
|
||||
// if ( sCurrentPageNum == null || sCurrentPageNum.equals("") )
|
||||
// sCurrentPageNum = "1";
|
||||
// int nCurrentPageNum = Integer.parseInt(sCurrentPageNum);
|
||||
//
|
||||
// String srSortColumn = request.getParameter("SORT_COLUMN")==null? "": request.getParameter("SORT_COLUMN");
|
||||
// String srSortNodeName = request.getParameter("SORT_NODENM")==null? TableInfoEx.SORT_ASC: request.getParameter("SORT_NODENM");
|
||||
// String srSortNodeIp = request.getParameter("SORT_NODEIP")==null? TableInfoEx.SORT_ASC: request.getParameter("SORT_NODEIP");
|
||||
//
|
||||
// srSortNodeName = (srSortNodeName.equals(TableInfoEx.SORT_ASC)==true)?"ASC":"DESC";
|
||||
// srSortNodeIp = (srSortNodeIp.equals(TableInfoEx.SORT_ASC)==true)?"ASC":"DESC";
|
||||
//
|
||||
// if (srSortColumn.equals("SORT_NODENM"))
|
||||
// sbQuery.append(" ORDER BY \"SNAAdptrSevrName\" " + srSortNodeName);
|
||||
// else if (srSortColumn.equals("SORT_NODEIP"))
|
||||
// sbQuery.append(" ORDER BY \"SNAAdptrSevrIPName\" " + srSortNodeIp);
|
||||
// else
|
||||
// sbQuery.append(" ORDER BY \"SNAAdptrSevrName\", \"SNAAdptrSevrIPName\" ");
|
||||
//
|
||||
// // 3. query execute
|
||||
// JDBCFactory factory = JDBCFactory.newInstance();
|
||||
// CommonJDBC common = (CommonJDBC)factory.create(CommonJDBC.class);
|
||||
// SQLData data = common.select(sbQuery.toString(), nCurrentPageNum, TableStyle.DISP_ROWS_COUNT, TableStyle.DISP_PAGES_COUNT);
|
||||
// request.setAttribute("RESULT", data);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 1. ��� : LU ȣ��Ʈ ���
|
||||
// * 2. ó�� ���� :
|
||||
// * 3. ���ǻ���
|
||||
// *
|
||||
// * @param request HttpServletRequest ��ü
|
||||
// * @exception Exception
|
||||
// **/
|
||||
// public void insertLUHost(HttpServletRequest request) throws Exception {
|
||||
// JDBCFactory factory = JDBCFactory.newInstance();
|
||||
// LUHostJDBCEx jdbc = null;
|
||||
// HashMap ludatas = null;
|
||||
// LUHostDataEx data = null;
|
||||
// int result = 0;
|
||||
//
|
||||
// try {
|
||||
// jdbc = (LUHostJDBCEx)factory.create(LUHostJDBCEx.class);
|
||||
//
|
||||
// ludatas = setParameter(request);
|
||||
//
|
||||
// for(int nIndx=0; nIndx<ludatas.size(); nIndx++) {
|
||||
// data = (LUHostDataEx)ludatas.get(String.valueOf(nIndx));
|
||||
// result = jdbc.insertLUHost(data);
|
||||
//
|
||||
// logger.info("LU ȣ��Ʈ ���� ��� : " + data.toString());
|
||||
// }
|
||||
// }
|
||||
// catch(JDBCException e) {
|
||||
// throw e;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 1. ��� : LU ȣ��Ʈ ���� ����
|
||||
// * 2. ó�� ���� :
|
||||
// * 3. ���ǻ���
|
||||
// *
|
||||
// * @param request HttpServletRequest ��ü
|
||||
// * @exception Exception
|
||||
// **/
|
||||
// public void deleteLUHost(HttpServletRequest request) throws Exception {
|
||||
// JDBCFactory factory = JDBCFactory.newInstance();
|
||||
// LUHostJDBCEx jdbc = null;
|
||||
// HashMap hmDatas = new HashMap();
|
||||
// LUHostDataEx data = null;
|
||||
//
|
||||
// try {
|
||||
// jdbc = (LUHostJDBCEx)factory.create(LUHostJDBCEx.class);
|
||||
//
|
||||
// MakeQuery makeQuery = new MakeQuery(request);
|
||||
// Vector vConfQuery = makeQuery.makeExeSql();
|
||||
//
|
||||
// // ������ checkbox ����Ÿ
|
||||
// for(int nIndx=0;nIndx<vConfQuery.size();nIndx++)
|
||||
// {
|
||||
// // delete key�� ������ VO�� �����Ѵ�.
|
||||
// StringTokenizer st = new StringTokenizer( (String)vConfQuery.elementAt(nIndx) , TableInfoEx.DELETE_RECODE_DELIMETER);
|
||||
//
|
||||
// data = new LUHostDataEx();
|
||||
//
|
||||
// data.setSNAAdptrSevrName(st.nextToken());
|
||||
// data.setSNAAdptrSevrIPName(st.nextToken());
|
||||
// data.setSNAAdptrSevrCtnt(st.nextToken());
|
||||
//
|
||||
// jdbc.deleteLUHost(data);
|
||||
// hmDatas.put(String.valueOf(nIndx), data);
|
||||
//
|
||||
// logger.info("LU ȣ��Ʈ ���� ���� : " + data.toString());
|
||||
// }
|
||||
// }
|
||||
// catch(JDBCException e)
|
||||
// {
|
||||
// throw e;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 1. ��� : ������ ���� LU ��ȸ
|
||||
// * 2. ó�� ���� :
|
||||
// * 3. ���ǻ���
|
||||
// *
|
||||
// * @param request HttpServletRequest ��ü
|
||||
// * @exception JDBCException
|
||||
// **/
|
||||
// private void updateSelectLUHost(HttpServletRequest request) throws JDBCException {
|
||||
// StringBuffer sbQuery = new StringBuffer();
|
||||
//
|
||||
// sbQuery.append( "SELECT \"SNAAdptrSevrName\", \"SNAAdptrSevrIPName\", \"SNAAdptrSevrCtnt\" " +
|
||||
// " FROM " + TableInfoEx.T_LU_HOST );
|
||||
//
|
||||
// // ����� ������ query ����
|
||||
// String sUpdateData = request.getParameter("UPDATE_DATA")==null?"":request.getParameter("UPDATE_DATA");
|
||||
// StringTokenizer st = new StringTokenizer( sUpdateData , TableInfoEx.DELETE_RECODE_DELIMETER);
|
||||
//
|
||||
// String sSNAAdptrSevrName = st.nextToken();
|
||||
// String sSNAAdptrSevrIPName = st.nextToken();
|
||||
// String sSNAAdptrSevrCtnt = st.nextToken();
|
||||
//
|
||||
// sbQuery.append(" WHERE \"SNAAdptrSevrName\"='"+ sSNAAdptrSevrName +"'");
|
||||
//
|
||||
// // query execute
|
||||
// JDBCFactory factory = JDBCFactory.newInstance();
|
||||
// CommonJDBC common = (CommonJDBC)factory.create(CommonJDBC.class);
|
||||
// SQLData data = common.select(sbQuery.toString());
|
||||
//
|
||||
// request.setAttribute("RESULT", data);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 1. ��� : LU ���� �� ����
|
||||
// * 2. ó�� ���� :
|
||||
// * 3. ���ǻ���
|
||||
// *
|
||||
// * @param request HttpServletRequest ��ü
|
||||
// * @exception Exception
|
||||
// **/
|
||||
// public void updateLUHost(HttpServletRequest request) throws Exception {
|
||||
// JDBCFactory factory = JDBCFactory.newInstance();
|
||||
// LUHostJDBCEx jdbc = null;
|
||||
// LUHostDataEx data = null;
|
||||
// int nResult = 0;
|
||||
//
|
||||
// try {
|
||||
// HashMap ludatas = setParameter(request);
|
||||
//
|
||||
// jdbc = (LUHostJDBCEx)factory.create(LUHostJDBCEx.class);
|
||||
// data = (LUHostDataEx)ludatas.get("0");
|
||||
// nResult = jdbc.updateLUHost(data);
|
||||
//
|
||||
// logger.info("LU ȣ��Ʈ ���� ���� : " + data.toString());
|
||||
// }
|
||||
// catch(JDBCException e) {
|
||||
// throw e;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
//
|
||||
// private String makeErrorString(HashMap result)
|
||||
// {
|
||||
// StringBuffer sbResult = new StringBuffer();
|
||||
// Iterator it = result.keySet().iterator();
|
||||
// String sSvrName = null;
|
||||
// String sResult = null;
|
||||
// while(it.hasNext()) {
|
||||
// sSvrName = (String)it.next();
|
||||
// sResult = (String)result.get(sSvrName);
|
||||
// if (sResult.equals("success")) continue;
|
||||
//
|
||||
// sbResult.append(sSvrName + " : " + sResult +"<br>");
|
||||
// }
|
||||
// return sbResult.toString();
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 1. ��� : �Ķ���� ������ LUInfoData ��ü ����
|
||||
// * 2. ó�� ���� :
|
||||
// * 3. ���ǻ���
|
||||
// *
|
||||
// * @param request HttpServletRequest ��ü
|
||||
// * @params HashMap LUInfoData ��ü ����
|
||||
// **/
|
||||
// private HashMap setParameter(HttpServletRequest request)
|
||||
// {
|
||||
// HashMap luhostdatas = new HashMap(); // lu ȣ��Ʈ ���� ����
|
||||
// int nLUHostCnt = 0;
|
||||
//
|
||||
// // 1. �����
|
||||
// String sSNAAdptrSevrName = request.getParameter("SNAADPTRSEVRNAME")==null?"":request.getParameter("SNAADPTRSEVRNAME").trim();
|
||||
// String sSNAAdptrSevrIPName = request.getParameter("SNAADPTRSEVRIPNAME")==null?"":request.getParameter("SNAADPTRSEVRIPNAME").trim();
|
||||
// String sSNAAdptrSevrCtnt = request.getParameter("SNAADPTRSEVRCTNT")==null?"":request.getParameter("SNAADPTRSEVRCTNT").trim();
|
||||
//
|
||||
// LUHostDataEx data = new LUHostDataEx();
|
||||
//
|
||||
// data.setSNAAdptrSevrName(sSNAAdptrSevrName);
|
||||
// data.setSNAAdptrSevrIPName(sSNAAdptrSevrIPName);
|
||||
// data.setSNAAdptrSevrCtnt(sSNAAdptrSevrCtnt);
|
||||
//
|
||||
// luhostdatas.put(String.valueOf(nLUHostCnt), data);
|
||||
//
|
||||
// return luhostdatas;
|
||||
// }
|
||||
//
|
||||
//
|
||||
//}
|
||||
@@ -0,0 +1,546 @@
|
||||
//package com.eactive.eai.adapter.wca.servlet;
|
||||
//
|
||||
//import java.io.IOException;
|
||||
//import java.util.HashMap;
|
||||
//import java.util.Iterator;
|
||||
//import java.util.StringTokenizer;
|
||||
//import java.util.Vector;
|
||||
//
|
||||
//import javax.servlet.RequestDispatcher;
|
||||
//import javax.servlet.ServletException;
|
||||
//import javax.servlet.http.HttpServlet;
|
||||
//import javax.servlet.http.HttpServletRequest;
|
||||
//import javax.servlet.http.HttpServletResponse;
|
||||
//
|
||||
//import org.apache.log4j.Logger;
|
||||
//
|
||||
//import com.eactive.eai.adapter.wca.cfg.LUInfoDataEx;
|
||||
//import com.eactive.eai.adapter.wca.cfg.LUInfoJDBCEx;
|
||||
//import com.eactive.eai.adapter.wca.command.UpdateLUInfoEx;
|
||||
//import com.eactive.eai.adapter.wca.global.WCADefine;
|
||||
//import com.eactive.eai.adapter.wca.jdbc.CommonJDBC;
|
||||
//import com.eactive.eai.adapter.wca.jdbc.JDBCException;
|
||||
//import com.eactive.eai.adapter.wca.jdbc.JDBCFactory;
|
||||
//import com.eactive.eai.adapter.wca.jdbc.SQLData;
|
||||
//import com.eactive.eai.adapter.wca.util.MyUtil;
|
||||
//import com.eactive.eai.adapter.wca.util.SNAAgentUtil;
|
||||
//import com.eactive.eai.agent.AgentUtil;
|
||||
//import com.eactive.eai.agent.command.Command;
|
||||
//
|
||||
///**
|
||||
//* 1. 기능 : LU 관리 서블릿
|
||||
//* 2. 처리 개요 :
|
||||
//* 3. 주의사항
|
||||
//*
|
||||
//* @author :
|
||||
//* @version :
|
||||
//* @see :
|
||||
//* @since :
|
||||
//*/
|
||||
//public class LUInfoServletEx extends HttpServlet {
|
||||
//
|
||||
// Logger logger = Logger.getLogger(LUInfoServletEx.class);
|
||||
//
|
||||
// /**
|
||||
// * 1. 기능 : GET 데이타 처리
|
||||
// * 2. 처리 개요 :
|
||||
// * 3. 주의사항
|
||||
// *
|
||||
// * @param request HttpServletRequest 객체
|
||||
// * @param response HttpServletResponse 객체
|
||||
// **/
|
||||
// public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
|
||||
// doPost(request, response);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 1. 기능 : POST 데이타 처리
|
||||
// * 2. 처리 개요 : TYPE에 따라 함수 분기
|
||||
// * 3. 주의사항
|
||||
// *
|
||||
// * @param request HttpServletRequest 객체
|
||||
// * @param response HttpServletResponse 객체
|
||||
// **/
|
||||
// public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
|
||||
//
|
||||
// try
|
||||
// {
|
||||
// String srType = request.getParameter("TYPE")==null? "":request.getParameter("TYPE").trim();
|
||||
//
|
||||
// if(srType.equals("INSERT")){
|
||||
// insertLUInfo(request);
|
||||
// selectLUInfo(request);
|
||||
// }
|
||||
// else if(srType.equals("DELETE")){
|
||||
// deleteLUInfo(request);
|
||||
// selectLUInfo(request);
|
||||
// }
|
||||
// else if(srType.equals("UPDATE")){
|
||||
// updateLUInfo(request);
|
||||
// selectLUInfo(request);
|
||||
// }
|
||||
// else if(srType.equals("UPDATE_SELECT")){ // update page
|
||||
// updateSelectLUInfo(request);
|
||||
//
|
||||
// RequestDispatcher rd = getServletContext().getRequestDispatcher(PathInfoEx.P_LU_INFO_UPDATE);
|
||||
// rd.forward(request, response);
|
||||
// return;
|
||||
// }
|
||||
// else if(srType.equals("LIST")){
|
||||
// selectLUInfo(request);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// selectLUInfo(request);
|
||||
// }
|
||||
//
|
||||
// RequestDispatcher rd = getServletContext().getRequestDispatcher(PathInfoEx.P_LU_INFO_LIST);
|
||||
// rd.forward(request, response);
|
||||
// }
|
||||
// catch(JDBCException jdbc)
|
||||
// {
|
||||
// jdbc.printStackTrace();
|
||||
// String sErrorMsg = jdbc.toString();
|
||||
// request.setAttribute("errorMessage",sErrorMsg );
|
||||
// RequestDispatcher rd = getServletContext().getRequestDispatcher(PathInfoEx.P_ERROR);
|
||||
// rd.forward(request, response);
|
||||
// }
|
||||
// catch(Exception e)
|
||||
// {
|
||||
// e.printStackTrace();
|
||||
// request.setAttribute("errorMessage", e.toString());
|
||||
// RequestDispatcher rd = getServletContext().getRequestDispatcher(PathInfoEx.P_ERROR);
|
||||
// rd.forward(request, response);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 1. 기능 : LU 조회
|
||||
// * 2. 처리 개요 :
|
||||
// * 3. 주의사항
|
||||
// *
|
||||
// * @param request HttpServletRequest 객체
|
||||
// * @exception JDBCException
|
||||
// **/
|
||||
// private void selectLUInfo(HttpServletRequest request) throws JDBCException {
|
||||
// StringBuffer sbQuery = new StringBuffer();
|
||||
//
|
||||
// // 20080827 Start
|
||||
// // 20080527 Start
|
||||
// // Remote LU 칼럼 Select 추가
|
||||
// /*
|
||||
// sbQuery.append( "select \"AdptrGstatSevrName\", \"AdptrGroupName\", \"LUGroupName\", \"PUName\", \"LUName\", " +
|
||||
// " \"SndrcvDstcd\", \"SndrcvDstcd\", \"UapplIDName\", \"BkupLUYn\", \"LUInfoRegiHMS\", \"LUAmndHMS\" " +
|
||||
// " FROM " + TableInfo.T_LU_INFO +
|
||||
// " WHERE 1=1 ");
|
||||
// */
|
||||
// /*
|
||||
// sbQuery.append( "select \"AdptrGstatSevrName\", \"AdptrGroupName\", \"LUGroupName\", \"PUName\", \"LUName\", " +
|
||||
// " \"SndrcvDstcd\", \"SndrcvDstcd\", \"UapplIDName\", \"BkupLUYn\", \"LUInfoRegiHMS\", \"LUAmndHMS\", \"RmtLUYn\" " +
|
||||
// " FROM " + TableInfoEx.T_LU_INFO +
|
||||
// " WHERE 1=1 ");
|
||||
// */
|
||||
// // 20080527 End
|
||||
// sbQuery.append( "select \"AdptrGstatSevrName\", \"AdptrGroupName\", \"LUGroupName\", \"PUName\", \"LUName\", " +
|
||||
// " \"SndrcvDstcd\", \"SndrcvDstcd\", \"UapplIDName\", \"BkupLUYn\", \"LUInfoRegiHMS\", \"LUAmndHMS\" " +
|
||||
// " FROM " + TableInfoEx.T_LU_INFO +
|
||||
// " WHERE 1=1 ");
|
||||
// // 20080827 End
|
||||
//
|
||||
// // 1. page num
|
||||
// String sCurrentPageNum = request.getParameter("CURRENT_PAGE_NUM");
|
||||
// if ( sCurrentPageNum == null || sCurrentPageNum.equals("") )
|
||||
// sCurrentPageNum = "1";
|
||||
// int nCurrentPageNum = Integer.parseInt(sCurrentPageNum);
|
||||
//
|
||||
// String sNodeName = request.getParameter("NODENM")==null?"":request.getParameter("NODENM");
|
||||
// String sAdapterGrpName= request.getParameter("ADPTGRPNM")==null?"":request.getParameter("ADPTGRPNM");
|
||||
// String sLuGrpName= request.getParameter("LUGRPNM")==null?"":request.getParameter("LUGRPNM");
|
||||
// String sRealLuGrpName = SelectBoxData.getInstance().getRealLUGrpName(sAdapterGrpName, sLuGrpName);
|
||||
// String sUpmuName = request.getParameter("UPMUNAME")==null?"":request.getParameter("UPMUNAME");
|
||||
//
|
||||
// String srSortColumn = request.getParameter("SORT_COLUMN")==null? "": request.getParameter("SORT_COLUMN");
|
||||
// String srSortNodeName = request.getParameter("SORT_NODENM")==null? TableInfoEx.SORT_ASC: request.getParameter("SORT_NODENM");
|
||||
// String srSortAdapterGrpName = request.getParameter("SORT_ADPTGRPNM")==null? TableInfoEx.SORT_ASC: request.getParameter("SORT_ADPTGRPNM");
|
||||
// String srSortLUGrpName = request.getParameter("SORT_LUGRPNM")==null? TableInfoEx.SORT_ASC: request.getParameter("SORT_LUGRPNM");
|
||||
// String srSortPUName = request.getParameter("SORT_PUNM")==null? TableInfoEx.SORT_ASC: request.getParameter("SORT_PUNM");
|
||||
// String srSortLUName = request.getParameter("SORT_LUNM")==null? TableInfoEx.SORT_ASC: request.getParameter("SORT_LUNM");
|
||||
//
|
||||
// srSortNodeName = (srSortNodeName.equals(TableInfoEx.SORT_ASC)==true)?"ASC":"DESC";
|
||||
// srSortAdapterGrpName = (srSortAdapterGrpName.equals(TableInfoEx.SORT_ASC)==true)?"ASC":"DESC";
|
||||
// srSortLUGrpName = (srSortLUGrpName.equals(TableInfoEx.SORT_ASC)==true)?"ASC":"DESC";
|
||||
// srSortPUName = (srSortPUName.equals(TableInfoEx.SORT_ASC)==true)?"ASC":"DESC";
|
||||
// srSortLUName = (srSortLUName.equals(TableInfoEx.SORT_ASC)==true)?"ASC":"DESC";
|
||||
//
|
||||
// // 2. get parameter and make conf query
|
||||
// if (!sNodeName.equals(SelectBoxData.ALL_SEARCH) && !sNodeName.equals(""))
|
||||
// sbQuery.append(" AND \"AdptrGstatSevrName\" = '" + sNodeName + "' " );
|
||||
// if (!sAdapterGrpName.equals(SelectBoxData.ALL_SEARCH) && !sAdapterGrpName.equals(""))
|
||||
// sbQuery.append(" AND \"AdptrGroupName\" = '" + sAdapterGrpName + "' ");
|
||||
// if (!sLuGrpName.equals(SelectBoxData.ALL_SEARCH) && !sLuGrpName.equals(""))
|
||||
// {
|
||||
// // 어댑터 그룹 전체 검색이 아닌경우
|
||||
// if (!sAdapterGrpName.equals(SelectBoxData.ALL_SEARCH) && !sAdapterGrpName.equals(""))
|
||||
// sbQuery.append(" AND \"LUGroupName\" = '" + sRealLuGrpName + "' ");
|
||||
// else
|
||||
// sbQuery.append(" AND \"LUGroupName\" LIKE '%" + sLuGrpName + "%' ");
|
||||
// }
|
||||
//
|
||||
// if (!sUpmuName.equals("ALL") && !sUpmuName.equals(""))
|
||||
// sbQuery.append(" AND \"AdptrGroupName\" LIKE '%" + sUpmuName + "%' ");
|
||||
//
|
||||
// if (srSortColumn.equals("SORT_NODENM"))
|
||||
// sbQuery.append(" ORDER BY \"AdptrGstatSevrName\" " + srSortNodeName);
|
||||
// else if (srSortColumn.equals("SORT_ADPTGRPNM"))
|
||||
// sbQuery.append(" ORDER BY \"AdptrGroupName\" " + srSortAdapterGrpName);
|
||||
// else if (srSortColumn.equals("SORT_LUGRPNM"))
|
||||
// sbQuery.append(" ORDER BY \"LUGroupName\" " + srSortLUGrpName);
|
||||
// else if (srSortColumn.equals("SORT_PUNM"))
|
||||
// sbQuery.append(" ORDER BY \"PUName\" " + srSortPUName);
|
||||
// else if (srSortColumn.equals("SORT_LUNM"))
|
||||
// sbQuery.append(" ORDER BY \"LUName\" " + srSortLUName);
|
||||
// else
|
||||
// sbQuery.append(" ORDER BY \"AdptrGstatSevrName\", \"AdptrGroupName\", \"LUGroupName\", \"PUName\", \"LUName\" ");
|
||||
//
|
||||
// // 3. query execute
|
||||
// JDBCFactory factory = JDBCFactory.newInstance();
|
||||
// CommonJDBC common = (CommonJDBC)factory.create(CommonJDBC.class);
|
||||
// SQLData data = common.select(sbQuery.toString(), nCurrentPageNum, TableStyle.DISP_ROWS_COUNT, TableStyle.DISP_PAGES_COUNT);
|
||||
// request.setAttribute("RESULT", data);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 1. 기능 : LU 등록
|
||||
// * 2. 처리 개요 :
|
||||
// * 3. 주의사항
|
||||
// *
|
||||
// * @param request HttpServletRequest 객체
|
||||
// * @exception Exception
|
||||
// **/
|
||||
// public void insertLUInfo(HttpServletRequest request) throws Exception {
|
||||
// JDBCFactory factory = JDBCFactory.newInstance();
|
||||
// LUInfoJDBCEx jdbc = null;
|
||||
// HashMap ludatas = null;
|
||||
// LUInfoDataEx data = null;
|
||||
// int result = 0;
|
||||
//
|
||||
// try {
|
||||
// jdbc = (LUInfoJDBCEx)factory.create(LUInfoJDBCEx.class);
|
||||
//
|
||||
// ludatas = setParameter(request);
|
||||
// for(int nIndx=0; nIndx<ludatas.size(); nIndx++)
|
||||
// {
|
||||
// data = (LUInfoDataEx)ludatas.get(String.valueOf(nIndx));
|
||||
// result = jdbc.insertLUInfo(data);
|
||||
// logger.info("LU 정보 등록 : " + data.toString());
|
||||
// }
|
||||
// updateApply(data);
|
||||
// }
|
||||
// catch(JDBCException e) {
|
||||
// throw e;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 1. 기능 : LU 삭제
|
||||
// * 2. 처리 개요 :
|
||||
// * 3. 주의사항
|
||||
// *
|
||||
// * @param request HttpServletRequest 객체
|
||||
// * @exception Exception
|
||||
// **/
|
||||
// public void deleteLUInfo(HttpServletRequest request) throws Exception {
|
||||
// JDBCFactory factory = JDBCFactory.newInstance();
|
||||
// LUInfoJDBCEx jdbc = null;
|
||||
// HashMap hmDatas = new HashMap();
|
||||
// LUInfoDataEx data = null;
|
||||
// String sAdapterGrpName = "";
|
||||
// String sLUGrpName = "";
|
||||
//
|
||||
// try {
|
||||
// jdbc = (LUInfoJDBCEx)factory.create(LUInfoJDBCEx.class);
|
||||
//
|
||||
// MakeQuery makeQuery = new MakeQuery(request);
|
||||
// Vector vConfQuery = makeQuery.makeExeSql();
|
||||
// // 삭제할 checkbox 데이타
|
||||
// for(int nIndx=0;nIndx<vConfQuery.size();nIndx++)
|
||||
// {
|
||||
// // delete key로 삭제할 VO를 생성한다.
|
||||
// StringTokenizer st = new StringTokenizer( (String)vConfQuery.elementAt(nIndx) , TableInfoEx.DELETE_RECODE_DELIMETER);
|
||||
//
|
||||
// data = new LUInfoDataEx();
|
||||
// data.setNodeName(st.nextToken());
|
||||
// sAdapterGrpName = st.nextToken();
|
||||
// sLUGrpName = st.nextToken();
|
||||
// sLUGrpName = SelectBoxData.getInstance().getRealLUGrpName(sAdapterGrpName, sLUGrpName);
|
||||
// data.setAdapterGroupName(sAdapterGrpName);
|
||||
// data.setGroupName(sLUGrpName);
|
||||
// data.setPUName(st.nextToken());
|
||||
// data.setLUName(st.nextToken());
|
||||
//
|
||||
// jdbc.deleteLUInfo(data);
|
||||
// hmDatas.put(String.valueOf(nIndx), data);
|
||||
//
|
||||
// logger.info("LU 정보 삭제 : " + data.toString());
|
||||
// }
|
||||
//
|
||||
// updateApply(data);
|
||||
// }
|
||||
// catch(JDBCException e)
|
||||
// {
|
||||
// throw e;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 1. 기능 : 수정을 위한 LU 조회
|
||||
// * 2. 처리 개요 :
|
||||
// * 3. 주의사항
|
||||
// *
|
||||
// * @param request HttpServletRequest 객체
|
||||
// * @exception JDBCException
|
||||
// **/
|
||||
// private void updateSelectLUInfo(HttpServletRequest request) throws JDBCException {
|
||||
// StringBuffer sbQuery = new StringBuffer();
|
||||
//
|
||||
// // 20080827 Start
|
||||
// // 20080527 Start
|
||||
// /*
|
||||
// sbQuery.append( "SELECT \"AdptrGstatSevrName\", \"AdptrGroupName\", \"LUGroupName\", \"PUName\", \"LUName\", " +
|
||||
// " \"SndrcvDstcd\", \"UapplIDName\", \"BkupLUYn\", \"LUInfoRegiHMS\", \"LUAmndHMS\", " +
|
||||
// " \"LogUseYn\", \"LogLvelName\", \"MaxLogFileVal\" " +
|
||||
// " FROM " + TableInfo.T_LU_INFO );
|
||||
// */
|
||||
// /*
|
||||
// sbQuery.append( "SELECT \"AdptrGstatSevrName\", \"AdptrGroupName\", \"LUGroupName\", \"PUName\", \"LUName\", " +
|
||||
// " \"SndrcvDstcd\", \"UapplIDName\", \"BkupLUYn\", \"LUInfoRegiHMS\", \"LUAmndHMS\", " +
|
||||
// " \"LogUseYn\", \"LogLvelName\", \"MaxLogFileVal\", \"RmtLUYn\" " +
|
||||
// " FROM " + TableInfoEx.T_LU_INFO );
|
||||
// */
|
||||
// // 20080527 End
|
||||
// sbQuery.append( "SELECT \"AdptrGstatSevrName\", \"AdptrGroupName\", \"LUGroupName\", \"PUName\", \"LUName\", " +
|
||||
// " \"SndrcvDstcd\", \"UapplIDName\", \"BkupLUYn\", \"LUInfoRegiHMS\", \"LUAmndHMS\", " +
|
||||
// " \"LogUseYn\", \"LogLvelName\", \"MaxLogFileVal\" " +
|
||||
// " FROM " + TableInfoEx.T_LU_INFO );
|
||||
// // 20080827 End
|
||||
//
|
||||
// // 파라미터 정보로 query 생성
|
||||
// String sUpdateData = request.getParameter("UPDATE_DATA")==null?"":request.getParameter("UPDATE_DATA");
|
||||
// StringTokenizer st = new StringTokenizer( sUpdateData , TableInfoEx.DELETE_RECODE_DELIMETER);
|
||||
//
|
||||
// String sNodeName = st.nextToken();
|
||||
// String sAdpaterGroupName = st.nextToken();
|
||||
// String sLUGrpName = st.nextToken();
|
||||
// String sPUName = st.nextToken();
|
||||
// String sLUName = st.nextToken();
|
||||
//
|
||||
// String sReaLUGrpName = SelectBoxData.getInstance().getRealLUGrpName(sAdpaterGroupName, sLUGrpName);
|
||||
//
|
||||
// sbQuery.append(" WHERE \"AdptrGstatSevrName\"='"+ sNodeName +"' AND \"AdptrGroupName\"='" + sAdpaterGroupName + "' AND \"LUGroupName\"='" + sReaLUGrpName + "'" +
|
||||
// " AND \"PUName\"='"+ sPUName + "' AND \"LUName\"='"+ sLUName+"'");
|
||||
//
|
||||
//
|
||||
// // query execute
|
||||
// JDBCFactory factory = JDBCFactory.newInstance();
|
||||
// CommonJDBC common = (CommonJDBC)factory.create(CommonJDBC.class);
|
||||
// SQLData data = common.select(sbQuery.toString());
|
||||
// request.setAttribute("RESULT", data);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 1. 기능 : LU 세션 그룹 수정
|
||||
// * 2. 처리 개요 :
|
||||
// * 3. 주의사항
|
||||
// *
|
||||
// * @param request HttpServletRequest 객체
|
||||
// * @exception Exception
|
||||
// **/
|
||||
// public void updateLUInfo(HttpServletRequest request) throws Exception {
|
||||
// JDBCFactory factory = JDBCFactory.newInstance();
|
||||
// LUInfoJDBCEx jdbc = null;
|
||||
// LUInfoDataEx data = null;
|
||||
// int nResult = 0;
|
||||
//
|
||||
// try {
|
||||
// HashMap ludatas = setParameter(request);
|
||||
// jdbc = (LUInfoJDBCEx)factory.create(LUInfoJDBCEx.class);
|
||||
// data = (LUInfoDataEx)ludatas.get("0");
|
||||
// nResult =jdbc.updateLUInfo(data);
|
||||
// logger.info("LU 정보 수정 : " + data.toString());
|
||||
// updateApply(data);
|
||||
// }
|
||||
// catch(JDBCException e)
|
||||
// {
|
||||
// throw e;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 1. 기능 : 실시간 적용
|
||||
// * 2. 처리 개요 :
|
||||
// * 3. 주의사항
|
||||
// *
|
||||
// * @param data LUInfoData
|
||||
// **/
|
||||
// private void updateApply(LUInfoDataEx data) throws Exception
|
||||
// {
|
||||
// HashMap result = new HashMap();
|
||||
// try{
|
||||
// Command command = new UpdateLUInfoEx();
|
||||
// command.setArgs(data);
|
||||
// //result = AgentUtil.broadcast(command);
|
||||
// AgentUtil.broadcast(command);
|
||||
//
|
||||
// // 20080827 Start
|
||||
// // 20080613 Start
|
||||
// // SNAAgentUtil.notifyAllSoftlinkNode();
|
||||
// // 20080613 End
|
||||
// // SNAAgentUtil.notifySoftlinkNode(data.getNodeName());
|
||||
// SNAAgentUtil.notifySoftlinkNode(data.getNodeName(), data.getAdapterGroupName(), data.getGroupName());
|
||||
// // 20080827 End
|
||||
// }
|
||||
// catch(Exception e)
|
||||
// {
|
||||
// e.printStackTrace();
|
||||
// throw new WebException("시스템 적용 실패하였습니다.");
|
||||
// }
|
||||
//
|
||||
// String sErrorResult = makeErrorString(result);
|
||||
// if(sErrorResult.length()>0)
|
||||
// throw new WebException("시스템 적용 실패하였습니다. <Br> " + sErrorResult) ;
|
||||
// }
|
||||
//
|
||||
// private String makeErrorString(HashMap result)
|
||||
// {
|
||||
// StringBuffer sbResult = new StringBuffer();
|
||||
// Iterator it = result.keySet().iterator();
|
||||
// String sSvrName = null;
|
||||
// String sResult = null;
|
||||
// while(it.hasNext()) {
|
||||
// sSvrName = (String)it.next();
|
||||
// sResult = (String)result.get(sSvrName);
|
||||
// if (sResult.equals("success")) continue;
|
||||
//
|
||||
// sbResult.append(sSvrName + " : " + sResult +"<br>");
|
||||
// }
|
||||
// return sbResult.toString();
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 1. 기능 : 파라미터 정보로 LUInfoData 객체 생성
|
||||
// * 2. 처리 개요 :
|
||||
// * 3. 주의사항
|
||||
// *
|
||||
// * @param request HttpServletRequest 객체
|
||||
// * @params HashMap LUInfoData 객체 집합
|
||||
// **/
|
||||
// private HashMap setParameter(HttpServletRequest request)
|
||||
// {
|
||||
//
|
||||
// String ALPABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||
// boolean isAlpabet = false;
|
||||
// HashMap ludatas = new HashMap(); // lu 정보 저장
|
||||
// int nFromLUName, nToLUName;
|
||||
// int nLUInfoCnt = 0;
|
||||
// int nToLULen = 0;
|
||||
//
|
||||
// // 1. 파라미터
|
||||
// String sNodeName = request.getParameter("NODENM")==null?"":request.getParameter("NODENM").trim();
|
||||
// String sAdptGrpName = request.getParameter("ADPTGRPNM")==null?"":request.getParameter("ADPTGRPNM").trim();
|
||||
// String sLUGrpName = request.getParameter("LUGRPNM")==null?"":request.getParameter("LUGRPNM").trim();
|
||||
// sLUGrpName = SelectBoxData.getInstance().getRealLUGrpName(sAdptGrpName, sLUGrpName);
|
||||
// String sPUName = request.getParameter("PUNM")==null?"":request.getParameter("PUNM").trim();
|
||||
// String sLUName = request.getParameter("LUNM")==null?"":request.getParameter("LUNM").trim();
|
||||
// String sTranMode = request.getParameter("SRECEMODE")==null?"":request.getParameter("SRECEMODE").trim();
|
||||
// String sApplyID = request.getParameter("APPLID")==null?"":request.getParameter("APPLID").trim();
|
||||
// String sBackupLUYN = request.getParameter("BKUPLUYN")==null?"":request.getParameter("BKUPLUYN").trim();
|
||||
// String sFromLUName = request.getParameter("FROM_LUNM")==null?"":request.getParameter("FROM_LUNM").trim();
|
||||
// String sToLUName = request.getParameter("TO_LUNM")==null?"":request.getParameter("TO_LUNM").trim();
|
||||
//
|
||||
// String sImmediateApply = request.getParameter("IMMEDIATE_APPLY")==null?"":request.getParameter("IMMEDIATE_APPLY").trim();
|
||||
// String sLogUsgYn = request.getParameter("LOGUSGYN")==null?"":request.getParameter("LOGUSGYN").trim();
|
||||
// String sLogLevel = request.getParameter("LOGLVL")==null?"":request.getParameter("LOGLVL").trim();
|
||||
// String sLogVal = request.getParameter("GRSTLOGFILESIZE")==null?"0":request.getParameter("GRSTLOGFILESIZE").trim();
|
||||
//
|
||||
// // 20080827 Start
|
||||
// // 20080527 Start
|
||||
// // String sRmtLUYN = request.getParameter("RMTLUYN")==null?"0":request.getParameter("RMTLUYN").trim();
|
||||
// // 20080527 End
|
||||
// String sRmtLUYN = WCADefine.DEFAULT_REMOTE_LU_NO;
|
||||
// // 20080827 End
|
||||
//
|
||||
// sFromLUName = sFromLUName.toUpperCase();
|
||||
// sToLUName = sToLUName.toUpperCase();
|
||||
//
|
||||
// // LU 범위가 설정되어있다면
|
||||
// if (!sFromLUName.equals("") && !sToLUName.equals(""))
|
||||
// {
|
||||
// String sNewLUName = null;
|
||||
//
|
||||
// // 알파벳이면
|
||||
// if ((nFromLUName = ALPABET.indexOf(sFromLUName)) != -1){
|
||||
// nToLUName = ALPABET.indexOf(sToLUName);
|
||||
// isAlpabet = true;
|
||||
// }
|
||||
// else {
|
||||
// nFromLUName = Integer.parseInt(sFromLUName);
|
||||
// nToLUName = Integer.parseInt(sToLUName);
|
||||
// nToLULen = sToLUName.length();
|
||||
// }
|
||||
//
|
||||
// for(int nIndx=nFromLUName; nIndx<=nToLUName; nIndx++)
|
||||
// {
|
||||
// if(isAlpabet)
|
||||
// sNewLUName = sLUName + ALPABET.substring(nIndx, nIndx+1);
|
||||
// else
|
||||
// sNewLUName = sLUName + MyUtil.leftPadString(String.valueOf(nIndx), nToLULen, "0");
|
||||
//
|
||||
// LUInfoDataEx data = new LUInfoDataEx();
|
||||
//
|
||||
// data.setNodeName(sNodeName);
|
||||
// data.setAdapterGroupName(sAdptGrpName);
|
||||
// data.setGroupName(sLUGrpName);
|
||||
// data.setPUName(sPUName);
|
||||
// data.setLUName(sNewLUName);
|
||||
// data.setTranMode(sTranMode);
|
||||
// data.setApplyID(sApplyID);
|
||||
// data.setBackupLUYN(sBackupLUYN);
|
||||
// data.setLogYN(sLogUsgYn);
|
||||
// data.setLogLevel(sLogLevel);
|
||||
// data.setLogSize(sLogVal);
|
||||
//
|
||||
// // 20080527 Start
|
||||
// data.setRmtLUYN(sRmtLUYN);
|
||||
// // 20080527 End
|
||||
//
|
||||
// ludatas.put(String.valueOf(nLUInfoCnt), data);
|
||||
// nLUInfoCnt++;
|
||||
// }
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// LUInfoDataEx data = new LUInfoDataEx();
|
||||
// data.setNodeName(sNodeName);
|
||||
// data.setAdapterGroupName(sAdptGrpName);
|
||||
// data.setGroupName(sLUGrpName);
|
||||
// data.setPUName(sPUName);
|
||||
// data.setLUName(sLUName);
|
||||
// data.setTranMode(sTranMode);
|
||||
// data.setApplyID(sApplyID);
|
||||
// data.setBackupLUYN(sBackupLUYN);
|
||||
// data.setLogYN(sLogUsgYn);
|
||||
// data.setLogLevel(sLogLevel);
|
||||
// data.setLogSize(sLogVal);
|
||||
//
|
||||
// // 20080527 Start
|
||||
// data.setRmtLUYN(sRmtLUYN);
|
||||
// // 20080527 End
|
||||
//
|
||||
// ludatas.put(String.valueOf(nLUInfoCnt), data);
|
||||
//
|
||||
// }
|
||||
// return ludatas;
|
||||
// }
|
||||
//
|
||||
//
|
||||
//}
|
||||
@@ -0,0 +1,95 @@
|
||||
//package com.eactive.eai.adapter.wca.servlet;
|
||||
//
|
||||
//import java.io.IOException;
|
||||
//
|
||||
//import javax.servlet.RequestDispatcher;
|
||||
//import javax.servlet.ServletException;
|
||||
//import javax.servlet.http.HttpServlet;
|
||||
//import javax.servlet.http.HttpServletRequest;
|
||||
//import javax.servlet.http.HttpServletResponse;
|
||||
//
|
||||
//import com.eactive.eai.adapter.wca.jdbc.CommonJDBC;
|
||||
//import com.eactive.eai.adapter.wca.jdbc.JDBCException;
|
||||
//import com.eactive.eai.adapter.wca.jdbc.JDBCFactory;
|
||||
//import com.eactive.eai.adapter.wca.jdbc.SQLData;
|
||||
//
|
||||
///**
|
||||
//* 1. 기능 : LU 관리 서블릿
|
||||
//* 2. 처리 개요 :
|
||||
//* 3. 주의사항
|
||||
//*
|
||||
//* @author :
|
||||
//* @version :
|
||||
//* @see :
|
||||
//* @since :
|
||||
//*/
|
||||
//public class LURegisterServlet extends HttpServlet {
|
||||
//
|
||||
// //Logger logger = Logger.getLogger(LURegisterServlet.class);
|
||||
// /**
|
||||
// * 1. 기능 : GET 데이타 처리
|
||||
// * 2. 처리 개요 :
|
||||
// * 3. 주의사항
|
||||
// *
|
||||
// * @param request HttpServletRequest 객체
|
||||
// * @param response HttpServletResponse 객체
|
||||
// **/
|
||||
// public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
|
||||
// doPost(request, response);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 1. 기능 : POST 데이타 처리
|
||||
// * 2. 처리 개요 : TYPE에 따라 함수 분기
|
||||
// * 3. 주의사항
|
||||
// *
|
||||
// * @param request HttpServletRequest 객체
|
||||
// * @param response HttpServletResponse 객체
|
||||
// **/
|
||||
// public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
|
||||
//
|
||||
// try
|
||||
// {
|
||||
// selectLURegisterServer(request);
|
||||
// RequestDispatcher rd = getServletContext().getRequestDispatcher(PathInfoEx.P_LU_REGISTER);
|
||||
// rd.forward(request, response);
|
||||
// }
|
||||
// catch(JDBCException jdbc)
|
||||
// {
|
||||
// jdbc.printStackTrace();
|
||||
// String sErrorMsg = jdbc.toString();
|
||||
// request.setAttribute("errorMessage",sErrorMsg );
|
||||
// RequestDispatcher rd = getServletContext().getRequestDispatcher(PathInfoEx.P_ERROR);
|
||||
// rd.forward(request, response);
|
||||
// }
|
||||
// catch(Exception e)
|
||||
// {
|
||||
// e.printStackTrace();
|
||||
// request.setAttribute("errorMessage", e.toString());
|
||||
// RequestDispatcher rd = getServletContext().getRequestDispatcher(PathInfoEx.P_ERROR);
|
||||
// rd.forward(request, response);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
//
|
||||
// /**
|
||||
// * 1. 기능 : LU 등록 서버 리스트
|
||||
// * 2. 처리 개요 :
|
||||
// * 3. 주의사항
|
||||
// *
|
||||
// * @param request HttpServletRequest 객체
|
||||
// * @exception JDBCException
|
||||
// **/
|
||||
// private void selectLURegisterServer(HttpServletRequest request) throws JDBCException {
|
||||
// StringBuffer sbQuery = new StringBuffer();
|
||||
// sbQuery.append( "select DISTINCT \"EAISevrIP\", \"SevrLsnPortName\", \"HostName\"" +
|
||||
// " FROM " + TableInfoEx.T_EAI_SVR +
|
||||
// " WHERE \"EAISevrInstncName\" != '" + SelectBoxData.ALL_SEARCH + "' " +
|
||||
// " ORDER BY \"HostName\", \"SevrLsnPortName\" ");
|
||||
//
|
||||
// JDBCFactory factory = JDBCFactory.newInstance();
|
||||
// CommonJDBC common = (CommonJDBC)factory.create(CommonJDBC.class);
|
||||
// SQLData data = common.select(sbQuery.toString());
|
||||
// request.setAttribute("RESULT", data);
|
||||
// }
|
||||
//}
|
||||
@@ -0,0 +1,76 @@
|
||||
//package com.eactive.eai.adapter.wca.servlet;
|
||||
//
|
||||
//import java.util.Enumeration;
|
||||
//import java.util.Vector;
|
||||
//import javax.servlet.http.HttpServletRequest;
|
||||
//import org.apache.log4j.Logger;
|
||||
//
|
||||
///**
|
||||
//* 1. 기능 : JSP 에서 체크 박스 여러개 선택한 경우 선택한 데이타를 SQL 로 만든다
|
||||
//* 2. 처리 개요 :
|
||||
//* 3. 주의사항
|
||||
//*
|
||||
//* @author :
|
||||
//* @version :
|
||||
//* @see :
|
||||
//* @since :
|
||||
//*/
|
||||
//public class MakeQuery
|
||||
//{
|
||||
// Logger logger = Logger.getLogger(MakeQuery.class);
|
||||
// public static final String SQL_GUBUNJA = "SQL_GUBUNJA"; // 조건 검색할 파라미터명
|
||||
// public static final String SQL_CNT = "SQL_CNT"; // 조건 검색할 파라미터수
|
||||
//
|
||||
// HttpServletRequest request = null;
|
||||
// public MakeQuery(HttpServletRequest request)
|
||||
// {
|
||||
// this.request = request;
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 1. 기능 : HttpServletRequest객체에서 선택된 데이타로 조건절 SQL문을 만든다.
|
||||
// * 2. 처리 개요 :
|
||||
// * 3. 주의사항
|
||||
// *
|
||||
// * @return 생성된 sql 집합
|
||||
// **/
|
||||
// public Vector makeExeSql()
|
||||
// {
|
||||
// StringBuffer sb_conf_sql = new StringBuffer();
|
||||
// Vector vConfQuery = new Vector();
|
||||
//
|
||||
// String sGubunjaName = TableInfoEx.DELETE_RECODE_ID;
|
||||
// String sParasCnt = request.getParameter(SQL_CNT)==null?"0":(String)request.getParameter(SQL_CNT);
|
||||
//
|
||||
// int nParasCnt = Integer.parseInt(sParasCnt);
|
||||
//
|
||||
// // 조건 파라미터명이 존재하지 않을 경우
|
||||
// if (sGubunjaName.equals("") || nParasCnt == 0)
|
||||
// {
|
||||
// logger.debug(SQL_GUBUNJA + "또는 " + SQL_CNT + " 파라미터 존재하지 않습니다");
|
||||
// return null;
|
||||
// }
|
||||
//
|
||||
// // SQL_GUBUNJA 파라미터명과 동일한 경우 SQL문을 생성한다.
|
||||
// Enumeration e_para = request.getParameterNames ();
|
||||
// String saParas[] = null;
|
||||
// String sParaName = null;
|
||||
// String sParaValue = null;
|
||||
// while ( e_para.hasMoreElements ( ) )
|
||||
// {
|
||||
// sParaName = (String) e_para.nextElement ();
|
||||
// saParas = request.getParameterValues ( sParaName );
|
||||
//
|
||||
// for ( int i = 0; i < saParas.length ; i++ )
|
||||
// {
|
||||
// sParaValue = (saParas[i]==null)? "": saParas[i];
|
||||
// if( (sParaName.length() >= sGubunjaName.length()) &&
|
||||
// (sParaName.substring(0, sGubunjaName.length()).equals(sGubunjaName)))
|
||||
// {
|
||||
// vConfQuery.addElement(sParaValue);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// return vConfQuery;
|
||||
// }
|
||||
//}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.eactive.eai.adapter.wca.servlet;
|
||||
|
||||
/**
|
||||
* 1. 기능 : JSP 및 서블릿에서 사용되는 경로정보
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version :
|
||||
* @see :
|
||||
* @since :
|
||||
*/
|
||||
public class PathInfoEx
|
||||
{
|
||||
public static final String CSS_FILE = "/common/css/common.css";
|
||||
public static final String IMAGE_PATH = "/common/image";
|
||||
public static final String JS_PATH = "/common/js";
|
||||
|
||||
// 20080527 Start
|
||||
public static final String P_LU_HOST_SERVLET = "/LUHostServletEx.do";
|
||||
public static final String P_LU_HOST_LIST = "/management/sna/luhost_list_ex.jsp";
|
||||
public static final String P_LU_HOST_INSERT = "/management/sna/luhost_insert_ex.jsp";
|
||||
public static final String P_LU_HOST_UPDATE = "/management/sna/luhost_update_ex.jsp";
|
||||
// 20080527 End
|
||||
|
||||
public static final String P_LU_GROUP_SERVLET = "/LUGroupServletEx.do";
|
||||
public static final String P_LU_GROUP_LIST = "/management/sna/lugroup_list_ex.jsp";
|
||||
public static final String P_LU_GROUP_INSERT = "/management/sna/lugroup_insert_ex.jsp";
|
||||
public static final String P_LU_GROUP_UPDATE = "/management/sna/lugroup_update_ex.jsp";
|
||||
|
||||
public static final String P_LU_INFO_SERVLET = "/LUInfoServletEx.do";
|
||||
public static final String P_LU_INFO_LIST = "/management/sna/luinfo_list_ex.jsp";
|
||||
public static final String P_LU_INFO_INSERT = "/management/sna/luinfo_insert_ex.jsp";
|
||||
public static final String P_LU_INFO_UPDATE = "/management/sna/luinfo_update_ex.jsp";
|
||||
|
||||
public static final String P_LU_REGISTER_SERVLET = "/LURegisterServlet.do";
|
||||
public static final String P_LU_REGISTER = "/management/sna/lu_register.jsp";
|
||||
|
||||
public static final String P_ERROR = "/common/errors/errorDisplay.jsp";
|
||||
}
|
||||
@@ -0,0 +1,612 @@
|
||||
package com.eactive.eai.adapter.wca.servlet;
|
||||
|
||||
import com.eactive.eai.adapter.wca.exception.WCAException;
|
||||
import com.eactive.eai.adapter.wca.global.WCADefine;
|
||||
import com.eactive.eai.adapter.wca.jdbc.CommonJDBC;
|
||||
import com.eactive.eai.adapter.wca.jdbc.JDBCFactory;
|
||||
import com.eactive.eai.adapter.wca.jdbc.SQLData;
|
||||
import com.eactive.eai.common.dao.BaseDAO;
|
||||
import com.eactive.eai.common.dao.DAOException;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
/**
|
||||
* 1. 기능 : JSP에서 표시될 select box 데이타 생성
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version :
|
||||
* @see :
|
||||
* @since :
|
||||
*/
|
||||
public class SelectBoxData extends BaseDAO
|
||||
{
|
||||
Logger logger = Logger.getLogger(SelectBoxData.class);
|
||||
private static SelectBoxData instance = new SelectBoxData();
|
||||
public static String ALL_SEARCH = "ALL";
|
||||
public static String LU_GRP_GUBUNJA = "_";
|
||||
|
||||
/**
|
||||
* 1. 기능 : Constructor
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
**/
|
||||
private SelectBoxData()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : SelectBoxData Singleton Object 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return SelectBoxData Singleton object
|
||||
**/
|
||||
public static SelectBoxData getInstance()
|
||||
{
|
||||
return instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Node Name 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return selectbox script 데이타 (String)반환
|
||||
**/
|
||||
public String getNodeName(String value) throws DAOException {
|
||||
StringBuffer sb_query = new StringBuffer();
|
||||
StringBuffer sb_result = new StringBuffer();
|
||||
|
||||
int nRsltCnt ;
|
||||
String sNodeName = "";
|
||||
String sSelected = "";
|
||||
|
||||
if (value == null) value ="";
|
||||
try {
|
||||
// 20080808 Start : SNA Host 참조 테이블 변경
|
||||
/*
|
||||
sb_query.append("SELECT DISTINCT \"HostName\" FROM " + TableInfoEx.T_EAI_SVR +
|
||||
" WHERE \"HostName\" is not null " +
|
||||
" ORDER BY \"HostName\"");
|
||||
*/
|
||||
sb_query.append("SELECT DISTINCT \"SNAAdptrSevrName\" FROM " + TableInfoEx.T_LU_HOST +
|
||||
" WHERE \"SNAAdptrSevrName\" is not null " +
|
||||
" ORDER BY \"SNAAdptrSevrName\"");
|
||||
// 20080808 End
|
||||
JDBCFactory factory = JDBCFactory.newInstance();
|
||||
CommonJDBC common = (CommonJDBC)factory.create(CommonJDBC.class);
|
||||
SQLData data = common.select(sb_query.toString());
|
||||
nRsltCnt = data.getDispDatasCount();
|
||||
|
||||
for (int nIndx = 0 ; nIndx < nRsltCnt; nIndx++)
|
||||
{
|
||||
// 20080808 Start : SNA Host 참조 테이블 변경
|
||||
// sNodeName = data.getSQLStringData("HostName" + nIndx);
|
||||
sNodeName = data.getSQLStringData("SNAAdptrSevrName" + nIndx);
|
||||
// 20080808 End
|
||||
|
||||
if (sNodeName.trim().equals("")) continue;
|
||||
|
||||
if (sNodeName.equals(value))
|
||||
sSelected = "selected";
|
||||
else sSelected ="";
|
||||
sb_result.append("<option value =\"" + sNodeName + "\" " + sSelected + " > " + sNodeName + "</option>" );
|
||||
}
|
||||
|
||||
return sb_result.toString();
|
||||
} catch(Exception e) {
|
||||
logger.error("getNodeName error", e);
|
||||
throw new DAOException("SelectBoxData.getNodeName Error. - " + e.getMessage());
|
||||
} finally {
|
||||
this.disconnect();
|
||||
}
|
||||
}
|
||||
|
||||
// public String getBackupNodeName(String value) throws DAOException {
|
||||
// StringBuffer sb_query = new StringBuffer();
|
||||
// StringBuffer sb_result = new StringBuffer();
|
||||
//
|
||||
// int nRsltCnt ;
|
||||
// String sNodeName = "";
|
||||
// String sSelected = "";
|
||||
//
|
||||
// if (value == null) value ="";
|
||||
// try {
|
||||
// sb_query.append("SELECT DISTINCT \"EAISevrIP\" FROM " + TableInfoEx.T_EAI_SVR +
|
||||
// " WHERE \"EAISevrInstncName\" != '" + ALL_SEARCH +"'" +
|
||||
// " ORDER BY \"EAISevrIP\" ");
|
||||
//
|
||||
// JDBCFactory factory = JDBCFactory.newInstance();
|
||||
// CommonJDBC common = (CommonJDBC)factory.create(CommonJDBC.class);
|
||||
// SQLData data = common.select(sb_query.toString());
|
||||
// nRsltCnt = data.getDispDatasCount();
|
||||
//
|
||||
// for (int nIndx = 0 ; nIndx < nRsltCnt; nIndx++)
|
||||
// {
|
||||
// sNodeName = data.getSQLStringData("EAISevrIP" + nIndx);
|
||||
//
|
||||
// sNodeName = getHostNameByIP(sNodeName);
|
||||
// if (sNodeName != null && sNodeName.equals(value))
|
||||
// sSelected = "selected";
|
||||
// else sSelected ="";
|
||||
// sb_result.append("<option value =\"" + sNodeName + "\" " + sSelected + " > " + sNodeName + "</option>" );
|
||||
// }
|
||||
//
|
||||
// return sb_result.toString();
|
||||
// } catch(Exception e) {
|
||||
// logger.error("SelectBoxData.getBackupNodeName Error", e);
|
||||
// throw new DAOException("SelectBoxData.getBackupNodeName Error. - " + e.getMessage());
|
||||
// } finally {
|
||||
// this.disconnect();
|
||||
// }
|
||||
// }
|
||||
|
||||
// public String getHostNameByIP(String sIP)
|
||||
// {
|
||||
// try{
|
||||
// InetAddress inet1 = null;
|
||||
// inet1 = InetAddress.getByName(sIP);
|
||||
// return inet1.getHostName();
|
||||
// }
|
||||
// catch (UnknownHostException host){
|
||||
// logger.error("getHostNameByIP error", host);
|
||||
// return sIP;
|
||||
// }
|
||||
// }
|
||||
|
||||
/**
|
||||
* 1. 기능 : EAI instance 이름 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return selectbox script 데이타 (String)반환
|
||||
**/
|
||||
public String getEaiSystemName(String value) throws DAOException {
|
||||
StringBuffer sb_query = new StringBuffer();
|
||||
StringBuffer sb_result = new StringBuffer();
|
||||
|
||||
int nRsltCnt ;
|
||||
String sEaiSvrName = "";
|
||||
String sSelected = "";
|
||||
|
||||
if (value == null) value ="";
|
||||
try {
|
||||
|
||||
sb_query.append("SELECT \"EAISevrInstncName\" FROM " + TableInfoEx.T_EAI_SVR + " ORDER BY \"EAISevrInstncName\"");
|
||||
JDBCFactory factory = JDBCFactory.newInstance();
|
||||
CommonJDBC common = (CommonJDBC)factory.create(CommonJDBC.class);
|
||||
SQLData data = common.select(sb_query.toString());
|
||||
|
||||
nRsltCnt = data.getDispDatasCount();
|
||||
sEaiSvrName = "";
|
||||
|
||||
for (int nIndx = 0 ; nIndx < nRsltCnt; nIndx++)
|
||||
{
|
||||
sEaiSvrName = data.getSQLStringData("EAISevrInstncName" + nIndx);
|
||||
if (sEaiSvrName.equals(value))
|
||||
sSelected = "selected";
|
||||
else sSelected ="";
|
||||
sb_result.append("<option value =\"" + sEaiSvrName + "\" " + sSelected + " > " + sEaiSvrName + "</option>" );
|
||||
}
|
||||
|
||||
return sb_result.toString();
|
||||
} catch(Exception e) {
|
||||
logger.error("SelectBoxData.getEaiSystemName Error. - ", e);
|
||||
throw new DAOException("SelectBoxData.getEaiSystemName Error. - " + e.getMessage());
|
||||
} finally {
|
||||
this.disconnect();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 업무 이름 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return selectbox script 데이타 (String)반환
|
||||
**/
|
||||
public String getUpmuName(String value) throws DAOException {
|
||||
StringBuffer sb_query = new StringBuffer();
|
||||
StringBuffer sb_result = new StringBuffer();
|
||||
|
||||
int nRsltCnt ;
|
||||
String sUpmuName = "";
|
||||
String sSelected = "";
|
||||
|
||||
if (value == null) value ="";
|
||||
try {
|
||||
/*
|
||||
sb_query.append("SELECT distinct ADPTGRPNAME " +
|
||||
" FROM "+
|
||||
"( " +
|
||||
" SELECT decode(pos1, 0, \"AdptrBzwkGroupName\", SUBSTR(\"AdptrBzwkGroupName\",pos1+1, pos2-pos1-1)) as ADPTGRPNAME " +
|
||||
" FROM " +
|
||||
" (SELECT INSTR(\"AdptrBzwkGroupName\",'_', 1, 1) as pos1, " +
|
||||
" INSTR(\"AdptrBzwkGroupName\",'_', 1, 2) as pos2, " +
|
||||
" \"AdptrBzwkGroupName\" from " + TableInfo.T_ADAPTER_GROUP +
|
||||
" ) "+
|
||||
") ORDER BY ADPTGRPNAME");
|
||||
*/
|
||||
sb_query.append("SELECT distinct ADPTGRPNAME " +
|
||||
" FROM "+
|
||||
"( " +
|
||||
" SELECT CASE pos1 WHEN 0 THEN \"AdptrBzwkGroupName\" ELSE SUBSTR(\"AdptrBzwkGroupName\",pos1+1, pos2-pos1-1) END as ADPTGRPNAME " +
|
||||
" FROM " +
|
||||
" (SELECT LOCATE('_',\"AdptrBzwkGroupName\", 1) as pos1, " +
|
||||
" LOCATE('_',\"AdptrBzwkGroupName\", LOCATE('_',\"AdptrBzwkGroupName\", 1) + 1) as pos2, " +
|
||||
" \"AdptrBzwkGroupName\" from " + TableInfoEx.T_ADAPTER_GROUP +
|
||||
" WHERE \"AdptrCd\" = 'SNA') TMP1 "+
|
||||
") TMP2 ORDER BY ADPTGRPNAME");
|
||||
JDBCFactory factory = JDBCFactory.newInstance();
|
||||
CommonJDBC common = (CommonJDBC)factory.create(CommonJDBC.class);
|
||||
SQLData data = common.select(sb_query.toString());
|
||||
|
||||
nRsltCnt = data.getDispDatasCount();
|
||||
sUpmuName = "";
|
||||
|
||||
for (int nIndx = 0 ; nIndx < nRsltCnt; nIndx++)
|
||||
{
|
||||
sUpmuName = data.getSQLStringData("ADPTGRPNAME" + nIndx);
|
||||
|
||||
if (sUpmuName.equals(value))
|
||||
sSelected = "selected";
|
||||
else sSelected ="";
|
||||
sb_result.append("<option value =\"" + sUpmuName + "\" " + sSelected + " > " + sUpmuName + "</option>" );
|
||||
}
|
||||
|
||||
return sb_result.toString();
|
||||
} catch(Exception e) {
|
||||
logger.error("SelectBoxData.getUpmuName Error", e);
|
||||
throw new DAOException("SelectBoxData.getUpmuName Error. - " + e.getMessage());
|
||||
} finally {
|
||||
this.disconnect();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 어댑터 그룹 이름 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return selectbox script 데이타 (String)반환
|
||||
**/
|
||||
public String getAdapterGrpName(String value) throws DAOException {
|
||||
StringBuffer sb_query = new StringBuffer();
|
||||
StringBuffer sb_result = new StringBuffer();
|
||||
|
||||
int nRsltCnt ;
|
||||
String sAdpaterGrpName = "";
|
||||
String sSelected = "";
|
||||
|
||||
if (value == null) value ="";
|
||||
try {
|
||||
sb_query.append("SELECT \"AdptrBzwkGroupName\" FROM " + TableInfoEx.T_ADAPTER_GROUP + " WHERE \"AdptrBzwkGroupName\" LIKE '%SNA%' ORDER BY \"AdptrBzwkGroupName\"");
|
||||
JDBCFactory factory = JDBCFactory.newInstance();
|
||||
CommonJDBC common = (CommonJDBC)factory.create(CommonJDBC.class);
|
||||
SQLData data = common.select(sb_query.toString());
|
||||
|
||||
nRsltCnt = data.getDispDatasCount();
|
||||
sAdpaterGrpName = "";
|
||||
|
||||
//sb_result.append("<option value =\"ALL\" " + sSelected + " >전체</option>" );
|
||||
for (int nIndx = 0 ; nIndx < nRsltCnt; nIndx++)
|
||||
{
|
||||
sAdpaterGrpName = data.getSQLStringData("AdptrBzwkGroupName" + nIndx);
|
||||
if (sAdpaterGrpName.equals(value))
|
||||
sSelected = "selected";
|
||||
else sSelected ="";
|
||||
sb_result.append("<option value =\"" + sAdpaterGrpName + "\" " + sSelected + " > " + sAdpaterGrpName + "</option>" );
|
||||
}
|
||||
|
||||
return sb_result.toString();
|
||||
} catch(Exception e) {
|
||||
logger.error("SelectBoxData.getAdapterGrpName Error", e);
|
||||
throw new DAOException("SelectBoxData.getAdapterGrpName Error. - " + e.getMessage());
|
||||
} finally {
|
||||
this.disconnect();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 수동 백업 여부 전환 selectbox 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return selectbox script 데이타 (String)반환
|
||||
**/
|
||||
public String getBackupAutoCvs(String value) throws WCAException {
|
||||
StringBuffer sb_result = new StringBuffer();
|
||||
String sSelected ="";
|
||||
String[][] saBackupAutoCvs = {{WCADefine.WCA_AUTO_BACKUP_CVS_MODE_NO, "수동"},
|
||||
{WCADefine.WCA_AUTO_BACKUP_CVS_MODE_YES, "자동"}
|
||||
};
|
||||
|
||||
if (value == null) value ="";
|
||||
try {
|
||||
for (int nIndx = 0 ; nIndx < saBackupAutoCvs.length; nIndx++)
|
||||
{
|
||||
if (saBackupAutoCvs[nIndx][0].equals(value))
|
||||
sSelected = "selected";
|
||||
else sSelected ="";
|
||||
sb_result.append("<option value =\"" + saBackupAutoCvs[nIndx][0] + "\" " + sSelected + " > " + saBackupAutoCvs[nIndx][1] + "</option>" );
|
||||
}
|
||||
return sb_result.toString();
|
||||
} catch(Exception e) {
|
||||
logger.error("SelectBoxData.getBackupAutoCvs Error", e);
|
||||
WCAException exception = new WCAException();
|
||||
exception.setMessage("SelectBoxData.getBackupAutoCvs Error. - " + e.getMessage());
|
||||
throw exception;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : LU 그룹 이름 selectbox 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return selectbox script 데이타 (String)반환
|
||||
**/
|
||||
public String getLUGrpName(String sNodeName, String sAdpaterGrpName, String value) throws DAOException {
|
||||
StringBuffer sbQuery = new StringBuffer();
|
||||
StringBuffer sbResult = new StringBuffer();
|
||||
|
||||
int nRsltCnt ;
|
||||
String sSelected = "";
|
||||
String sLUGrpName = "";
|
||||
String sDispLUGrpName = "";
|
||||
|
||||
// HashMap result = new HashMap();
|
||||
|
||||
if (sNodeName == null) sNodeName = "";
|
||||
if (value == null) value ="";
|
||||
if (sAdpaterGrpName == null) sAdpaterGrpName ="";
|
||||
|
||||
try {
|
||||
sbQuery.append("SELECT DISTINCT \"LUGroupName\" FROM " + TableInfoEx.T_LU_GROUP + " WHERE 1=1 " );
|
||||
|
||||
if (!sNodeName.equals("") && !sNodeName.equals("ALL")){
|
||||
sbQuery.append(" AND \"AdptrGstatSevrName\" = '" + sNodeName + "' ");
|
||||
}
|
||||
if (!sAdpaterGrpName.equals("") && !sAdpaterGrpName.equals("ALL")){
|
||||
sbQuery.append(" AND \"AdptrGroupName\" = '" + sAdpaterGrpName + "' ");
|
||||
}
|
||||
sbQuery.append(" ORDER BY \"LUGroupName\" ");
|
||||
|
||||
logger.debug(sbQuery.toString());
|
||||
|
||||
JDBCFactory factory = JDBCFactory.newInstance();
|
||||
CommonJDBC common = (CommonJDBC)factory.create(CommonJDBC.class);
|
||||
SQLData data = common.select(sbQuery.toString());
|
||||
nRsltCnt = data.getDispDatasCount();
|
||||
|
||||
if (nRsltCnt < 0 ) nRsltCnt = 0;
|
||||
String[] saRslt = new String[nRsltCnt];
|
||||
int nRealRsltIndx = 0;
|
||||
for (int nIndx = 0 ; nIndx < nRsltCnt; nIndx++)
|
||||
{
|
||||
sLUGrpName = data.getSQLStringData("LUGroupName" + nIndx);
|
||||
sDispLUGrpName = getDispLUGrpName(sLUGrpName);
|
||||
|
||||
if (CheckDuplicate(saRslt, sDispLUGrpName, nRealRsltIndx))
|
||||
continue;
|
||||
saRslt[nRealRsltIndx++] = sDispLUGrpName;
|
||||
|
||||
if (sDispLUGrpName.equals(value))
|
||||
sSelected = "selected";
|
||||
else sSelected ="";
|
||||
sbResult.append("<option value =\"" + sDispLUGrpName + "\" " + sSelected + " > " + sDispLUGrpName + "</option>" );
|
||||
}
|
||||
return sbResult.toString();
|
||||
} catch(Exception e) {
|
||||
logger.error("SelectBoxData.getLUGrpName Error. - ", e);
|
||||
throw new DAOException("SelectBoxData.getLUGrpName Error. - " + e.getMessage());
|
||||
} finally {
|
||||
this.disconnect();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : orgin 배열에서 cnt까지 compare 가 있는지 확인
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param orgin 비교할 배열
|
||||
* @param compare 비교 문자
|
||||
* @param cnt 비교할 배열의 index
|
||||
**/
|
||||
private boolean CheckDuplicate(String[] orgin, String compare, int cnt)
|
||||
{
|
||||
if (compare == null) return false;
|
||||
for(int nIndx = 0; nIndx < cnt; nIndx++)
|
||||
{
|
||||
if (orgin[nIndx].equals(compare))
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 표시할 LU 그룹 이름 반환
|
||||
* 2. 처리 개요 : LU 그룹 이름은 <어댑터 그룹 이름 + _ + 실제 LU 그룹 이름>
|
||||
* 실제 LU 그룹 이름만 반환
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sName 전체 LU 그룹 이름
|
||||
* @return 표시할 LU 그룹 이름
|
||||
**/
|
||||
public String getDispLUGrpName(String sName)
|
||||
{
|
||||
int iIndx = 0;
|
||||
if(sName == null) return "";
|
||||
if ((iIndx=sName.lastIndexOf(LU_GRP_GUBUNJA)) == -1)
|
||||
return sName;
|
||||
|
||||
return sName.substring(iIndx + 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 전체 LU 그룹 이름 반환
|
||||
* 2. 처리 개요 : LU 그룹 이름은 <어댑터 그룹 이름 + _ + 실제 LU 그룹 이름>
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sAdapterGrpName 어댑터 그룹 이름
|
||||
* @param sDispLUGrpName 실제 LU 그룹 이름
|
||||
* @return 전체 LU 그룹 이름
|
||||
**/
|
||||
public String getRealLUGrpName(String sAdapterGrpName, String sDispLUGrpName)
|
||||
{
|
||||
return sAdapterGrpName + LU_GRP_GUBUNJA + sDispLUGrpName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 로그 기록 여부 selectbox 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return selectbox script 데이타 (String)반환
|
||||
**/
|
||||
public String getLogYN(String value) throws WCAException {
|
||||
StringBuffer sb_result = new StringBuffer();
|
||||
String sSelected ="";
|
||||
String[][] saLogYN = {{WCADefine.WCA_LOG_YES, "예"},
|
||||
{WCADefine.WCA_LOG_NO, "아니오"}
|
||||
};
|
||||
|
||||
if (value == null) value ="";
|
||||
try {
|
||||
for (int nIndx = 0 ; nIndx < saLogYN.length; nIndx++)
|
||||
{
|
||||
if (saLogYN[nIndx][0].equals(value))
|
||||
sSelected = "selected";
|
||||
else sSelected ="";
|
||||
sb_result.append("<option value =\"" + saLogYN[nIndx][0] + "\" " + sSelected + " > " + saLogYN[nIndx][1] + "</option>" );
|
||||
}
|
||||
return sb_result.toString();
|
||||
} catch(Exception e) {
|
||||
logger.error("SelectBoxData.getLogYN Error", e);
|
||||
WCAException exception = new WCAException();
|
||||
exception.setMessage("SelectBoxData.getLogYN Error. - " + e.getMessage());
|
||||
throw exception;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 로그 레벨 selectbox 반환
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return selectbox script 데이타 (String)반환
|
||||
**/
|
||||
public String getLogLevel(String value) throws WCAException {
|
||||
StringBuffer sb_result = new StringBuffer();
|
||||
String sSelected ="";
|
||||
String[][] saLogLevel = {{"DEBUG", "DEBUG"},
|
||||
{"INFO", "INFO"},
|
||||
{"WARN", "WARN"}
|
||||
};
|
||||
|
||||
if (value == null) value ="";
|
||||
try {
|
||||
for (int nIndx = 0 ; nIndx < saLogLevel.length; nIndx++)
|
||||
{
|
||||
if (saLogLevel[nIndx][0].equals(value))
|
||||
sSelected = "selected";
|
||||
else sSelected ="";
|
||||
sb_result.append("<option value =\"" + saLogLevel[nIndx][0] + "\" " + sSelected + " > " + saLogLevel[nIndx][1] + "</option>" );
|
||||
}
|
||||
|
||||
return sb_result.toString();
|
||||
} catch(Exception e) {
|
||||
logger.error("SelectBoxData.getLogLevel Error", e);
|
||||
WCAException exception = new WCAException();
|
||||
exception.setMessage("SelectBoxData.getLogLevel Error. - " + e.getMessage());
|
||||
throw exception;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* LU TranMOde select box
|
||||
*/
|
||||
public String getLUGTranMode(String value) throws WCAException {
|
||||
StringBuffer sb_result = new StringBuffer();
|
||||
String sSelected ="";
|
||||
String[][] saTranMode = WCADefine.LU_TRAN_MODE;
|
||||
|
||||
if (value == null) value ="";
|
||||
try {
|
||||
for (int nIndx = 0 ; nIndx < saTranMode.length; nIndx++)
|
||||
{
|
||||
if (saTranMode[nIndx][0].equals(value))
|
||||
sSelected = "selected";
|
||||
else sSelected ="";
|
||||
sb_result.append("<option value =\"" + saTranMode[nIndx][0] + "\" " + sSelected + " > " + saTranMode[nIndx][1] + "</option>" );
|
||||
}
|
||||
|
||||
return sb_result.toString();
|
||||
} catch(Exception e) {
|
||||
logger.error("SelectBoxData.getLUGTranMode Error", e);
|
||||
WCAException exception = new WCAException();
|
||||
exception.setMessage("SelectBoxData.getLUGTranMode Error. - " + e.getMessage());
|
||||
throw exception;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Bdackup LU 여부
|
||||
*/
|
||||
public String getBackupLUYN(String value) throws WCAException {
|
||||
StringBuffer sb_result = new StringBuffer();
|
||||
String sSelected ="";
|
||||
String[][] saBackupLUYN = WCADefine.BACKUP_LU_YN;
|
||||
|
||||
if (value == null) value ="";
|
||||
try {
|
||||
for (int nIndx = 0 ; nIndx < saBackupLUYN.length; nIndx++)
|
||||
{
|
||||
if (saBackupLUYN[nIndx][0].equals(value))
|
||||
sSelected = "selected";
|
||||
else sSelected ="";
|
||||
sb_result.append("<option value =\"" + saBackupLUYN[nIndx][0] + "\" " + sSelected + " > " + saBackupLUYN[nIndx][1] + "</option>" );
|
||||
}
|
||||
|
||||
return sb_result.toString();
|
||||
} catch(Exception e) {
|
||||
logger.error("SelectBoxData.getBackupLUYN Error.", e);
|
||||
WCAException exception = new WCAException();
|
||||
exception.setMessage("SelectBoxData.getBackupLUYN Error. - " + e.getMessage());
|
||||
throw exception;
|
||||
}
|
||||
}
|
||||
|
||||
/* 20080526 Start */
|
||||
/**
|
||||
* Bdackup LU 여부
|
||||
*/
|
||||
public String getRemoteLUYN(String value) throws WCAException {
|
||||
StringBuffer sb_result = new StringBuffer();
|
||||
String sSelected = "";
|
||||
String[][] saRemoteLUYN = WCADefine.REMOTE_LU_YN;
|
||||
|
||||
if(value == null) value = "";
|
||||
try {
|
||||
for (int nIndx = 0 ; nIndx < saRemoteLUYN.length; nIndx++)
|
||||
{
|
||||
if(saRemoteLUYN[nIndx][0].equals(value))
|
||||
sSelected = "selected";
|
||||
else
|
||||
sSelected = "";
|
||||
sb_result.append("<option value =\"" + saRemoteLUYN[nIndx][0] + "\" " + sSelected + " > " + saRemoteLUYN[nIndx][1] + "</option>" );
|
||||
}
|
||||
|
||||
return sb_result.toString();
|
||||
} catch(Exception e) {
|
||||
WCAException exception = new WCAException();
|
||||
exception.setMessage("SelectBoxData.getBackupLUYN Error. - " + e.getMessage());
|
||||
throw exception;
|
||||
}
|
||||
}
|
||||
/* 20080526 End */
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
package com.eactive.eai.adapter.wca.servlet;
|
||||
|
||||
import com.eactive.eai.common.dao.Keys;
|
||||
|
||||
/**
|
||||
* 1. 기능 : 테이블 정보
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version :
|
||||
* @see :
|
||||
* @since :
|
||||
*/
|
||||
public class TableInfoEx
|
||||
{
|
||||
// 삭제 레코드 구분자
|
||||
public static final String DELETE_RECODE_ID = "DEL";
|
||||
public static final String DELETE_RECODE_DELIMETER = ";";
|
||||
|
||||
// 테이블명
|
||||
// 20080527 Start
|
||||
public static final String T_LU_HOST = "" + Keys.TABLE_OWNER + "TSEAIAD13";
|
||||
// 20080527 End
|
||||
|
||||
// 20080612 Start
|
||||
public static final String T_LU_PROPS = "" + Keys.TABLE_OWNER + "TSEAICM03";
|
||||
// 20080612 End
|
||||
|
||||
public static final String T_LU_GROUP = "" + Keys.TABLE_OWNER + "TSEAIAD05";
|
||||
public static final String T_LU_INFO = "" + Keys.TABLE_OWNER + "TSEAIAD06";
|
||||
public static final String T_ERROR_LOG = "" + Keys.TABLE_OWNER + "TSEAIAD07";
|
||||
|
||||
public static final String T_ADAPTER_GROUP = "" + Keys.TABLE_OWNER + "TSEAIAD01";
|
||||
public static final String T_EAI_SVR = "" + Keys.TABLE_OWNER + "TSEAISY02";
|
||||
|
||||
// Softlink 프로퍼티 그룹 이름
|
||||
public static final String T_SOFTLINK_PROP_GRP_NAME = "SNAAdapter{DEFAULT}";
|
||||
public static final String T_SNAADPTER_PROP_GROUP_NAME = "SNAAdapter{DEFAULT}";
|
||||
|
||||
// sort
|
||||
public static final String SORT_ASC = "▲";
|
||||
public static final String SORT_DESC = "▼";
|
||||
}
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.eactive.eai.adapter.wca.servlet;
|
||||
|
||||
/**
|
||||
* 1. 기능 : 테이블 style 정보
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @see :
|
||||
* @version :
|
||||
* @since :
|
||||
*/
|
||||
public class TableStyle
|
||||
{
|
||||
/**
|
||||
* 한 화면에 보여줄수 있는 데이타수
|
||||
*/
|
||||
public static final int DISP_ROWS_COUNT = 10;
|
||||
/**
|
||||
* 한 화면에 보여줄수 있는 페이지수
|
||||
*/
|
||||
public static final int DISP_PAGES_COUNT = 10;
|
||||
|
||||
/**
|
||||
* 테이블 마우스 over시 style 지정
|
||||
*/
|
||||
public static final String S_TR_MOUSE_OVER = "onmouseover=\"this.style.background='#F6F6F6'\" onmouseout=\"this.style.background='#FFFFFF'\" style=\"cursor:hand\"";
|
||||
public static final String S_TR_DEFAULT_MOUSE_OVER = "onmouseover=\"this.style.background='#F6F6F6'\" onmouseout=\"this.style.background='#FFFFFF'\"";
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
//package com.eactive.eai.adapter.wca.servlet;
|
||||
//
|
||||
///**
|
||||
//* 1. 기능 : 운영관리 Exception 관리
|
||||
//* 2. 처리 개요 :
|
||||
//* 3. 주의사항
|
||||
//*
|
||||
//* @author :
|
||||
//* @version :
|
||||
//* @see :
|
||||
//* @since :
|
||||
//*/
|
||||
//public class WebException extends Exception
|
||||
//{
|
||||
// public WebException() {
|
||||
// super();
|
||||
// }
|
||||
//
|
||||
// public WebException(String msg) {
|
||||
// super(msg);
|
||||
// }
|
||||
//}
|
||||
@@ -0,0 +1,440 @@
|
||||
package com.eactive.eai.adapter.wca.test;
|
||||
|
||||
public class Virtual
|
||||
{
|
||||
// commented : 테스트용으로 사용하지 않음
|
||||
//
|
||||
// int nTestCnt = 0;
|
||||
// int nSndLen;
|
||||
// byte[] pRcvBuff = null;
|
||||
// int nMaxTestCnt = 0;
|
||||
// int nThreadId = 0;
|
||||
// String sTestCode = null;
|
||||
//
|
||||
// public static int nMassSerialNo = 9;
|
||||
//
|
||||
// byte[] bWithdraw1 = {
|
||||
// (byte)0xE3,(byte)0xE7,(byte)0xC1,(byte)0xF0,(byte)0xF0,(byte)0xF1,(byte)0xF0,(byte)0xF2,(byte)0x40,(byte)0xE3,(byte)0xF7,(byte)0xF2,(byte)0xF4,(byte)0xF7,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF7,(byte)0xE3,(byte)0xF2,(byte)0xE3,(byte)0xC8,(byte)0xF0,(byte)0xF0,
|
||||
// (byte)0x40,(byte)0x40,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF1,(byte)0xF2,(byte)0xF0,(byte)0xF0,(byte)0xF1,(byte)0xF4,(byte)0xF5,(byte)0x40,(byte)0x40,(byte)0x80,(byte)0x80,(byte)0x81,(byte)0x80,(byte)0x40,(byte)0x40,(byte)0xF0,(byte)0xC3,(byte)0xF0,
|
||||
// (byte)0xF0,(byte)0xF0,(byte)0x40,(byte)0x40,(byte)0xF0,(byte)0x40,(byte)0x00,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,
|
||||
// (byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0xF7,(byte)0xF2,(byte)0xF4,(byte)0xF7,(byte)0x1F,(byte)0xF0,(byte)0xF4,(byte)0xF0,
|
||||
// (byte)0xF8,(byte)0x1F,(byte)0xF0,(byte)0xF1,(byte)0x1F,(byte)0xF0,(byte)0x1F,(byte)0xF0,(byte)0xF1,(byte)0xF0,(byte)0xF1,(byte)0x1F,(byte)0xF0,(byte)0xF0,(byte)0x1F,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF1,
|
||||
// (byte)0xF0,(byte)0xF0,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x9D,(byte)0xA1,(byte)0x9D,(byte)0xA1,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,
|
||||
// (byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F
|
||||
// };
|
||||
//
|
||||
// byte[] bWithdraw2 = {
|
||||
// (byte)0xE3,(byte)0xE7,(byte)0xC1,(byte)0xF0,(byte)0xF0,(byte)0xF1,(byte)0xF0,(byte)0xF2,(byte)0x40,(byte)0xE3,(byte)0xF7,(byte)0xF2,(byte)0xF4,(byte)0xF7,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF7,(byte)0xE3,(byte)0xF2,(byte)0xE3,(byte)0xC8,(byte)0xF0,(byte)0xF0,
|
||||
// (byte)0x40,(byte)0x40,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF1,(byte)0xF2,(byte)0xF0,(byte)0xF0,(byte)0xF1,(byte)0xF4,(byte)0xF5,(byte)0x40,(byte)0x40,(byte)0x80,(byte)0x80,(byte)0x81,(byte)0x80,(byte)0x40,(byte)0x40,(byte)0xF0,(byte)0xC3,(byte)0xF0,
|
||||
// (byte)0xF5,(byte)0xF1,(byte)0x40,(byte)0x40,(byte)0xF0,(byte)0x40,(byte)0x00,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,
|
||||
// (byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0xF7,(byte)0xF2,(byte)0xF4,(byte)0xF7,(byte)0x1F,(byte)0xF0,(byte)0xF4,(byte)0xF0,
|
||||
// (byte)0xF8,(byte)0x1F,(byte)0xF0,(byte)0xF1,(byte)0x1F,(byte)0xF0,(byte)0x1F,(byte)0xF0,(byte)0xF1,(byte)0xF0,(byte)0xF1,(byte)0x1F,(byte)0xF0,(byte)0xF0,(byte)0x1F,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF1,
|
||||
// (byte)0xF0,(byte)0xF0,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x9D,(byte)0xA1,(byte)0x9D,(byte)0xA1,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,
|
||||
// (byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F
|
||||
// };
|
||||
//
|
||||
// // 대량 거래를 테스트를 하기 위한 데이터
|
||||
// /*
|
||||
// byte[] bSearch1 = {
|
||||
// (byte)0xE3,(byte)0xE7,(byte)0xC1,(byte)0xF0,(byte)0xF0,(byte)0xF1,(byte)0xF0,(byte)0xF4,(byte)0x40,(byte)0xE3,(byte)0xF7,(byte)0xF2,(byte)0xF4,(byte)0xF7,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF7,(byte)0xE3,(byte)0xF2,(byte)0xE3,(byte)0xC8,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF6,(byte)0x40,(byte)0x40,
|
||||
// (byte)0x40,(byte)0x40,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF1,(byte)0xF4,(byte)0xF0,(byte)0xF0,(byte)0xF9,(byte)0xF4,(byte)0xF5,(byte)0x40,(byte)0x40,(byte)0x80,(byte)0x80,(byte)0x81,(byte)0x80,(byte)0x40,(byte)0x40,(byte)0xF0,(byte)0xC3,(byte)0xF0,(byte)0xF0,(byte)0xF1,(byte)0xF0,(byte)0xF0,
|
||||
// (byte)0xF0,(byte)0xF0,(byte)0x40,(byte)0x40,(byte)0xF0,(byte)0x40,(byte)0x00,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,
|
||||
// (byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0xF7,(byte)0xF2,(byte)0xF4,(byte)0xF7,(byte)0x1F,(byte)0xF0,(byte)0xF4,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF3,(byte)0xF9,
|
||||
// (byte)0xF8,(byte)0x1F,(byte)0x1F,(byte)0x1F
|
||||
// };
|
||||
// */
|
||||
// byte[] bSearch1 = {
|
||||
// /* TRAN CODE */ (byte)0xE3,(byte)0xE7,(byte)0xC1,(byte)0xF0,(byte)0xF0,(byte)0xF2,(byte)0xF0,(byte)0xF4,
|
||||
// /* BLANK */ (byte)0x40,
|
||||
// /* 단말 매체 */ (byte)0xE3,
|
||||
// /* 취급점번 */ (byte)0xF9,(byte)0xF2,(byte)0xF2,(byte)0xF9,
|
||||
// /* 취급지번 */ (byte)0xF0,(byte)0xF0,(byte)0xF0,
|
||||
// /* 기기번호 */ (byte)0xF8,(byte)0xE3,(byte)0xF4,
|
||||
// /* TERM CODE */ (byte)0xE3,(byte)0xC8,
|
||||
// /* Serial No */ (byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF8, /* 테스트 매번 채번 필요 */
|
||||
// /* 개설점번 */ (byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,
|
||||
// /* 개설지번 */ (byte)0xF0,(byte)0xF0,(byte)0xF0,
|
||||
// /* 업무식별코드 */ (byte)0xF0,(byte)0xF2,
|
||||
// /* 입력식별코드 */ (byte)0xF4,(byte)0xF0,(byte)0xF0,(byte)0xF9,
|
||||
// /* OP No */ (byte)0xF4,(byte)0xF5,(byte)0x40,(byte)0x40,
|
||||
// /* 상황플래그 */ (byte)0x80,(byte)0x80,(byte)0x81,(byte)0x80,
|
||||
// /* Reserved */ (byte)0x40,(byte)0x40,
|
||||
// /* PF Key */ (byte)0xF0,
|
||||
//
|
||||
// /* ??? */
|
||||
// (byte)0xC3,(byte)0xF0,(byte)0xF0,(byte)0xF2,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF0,
|
||||
// (byte)0x40,(byte)0x40,(byte)0xF0,(byte)0x40,(byte)0x00,(byte)0x40,(byte)0x40,(byte)0x40,
|
||||
// (byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,
|
||||
// (byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,
|
||||
// (byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,
|
||||
// (byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,
|
||||
// (byte)0x00,(byte)0x00,
|
||||
//
|
||||
// /* 계좌번호 */
|
||||
// (byte)0xF9,(byte)0xF2,(byte)0xF2,(byte)0xF9,(byte)0x1F,
|
||||
// (byte)0xF0,(byte)0xF1,(byte)0xF1,(byte)0xF4,(byte)0xF1,(byte)0xF1,(byte)0xF6, (byte)0xF5,
|
||||
//
|
||||
// /* ??? */
|
||||
// (byte)0x1F,(byte)0x1F,(byte)0x1F
|
||||
// };
|
||||
//
|
||||
// /*비밀번호 : 1004 */
|
||||
// byte[] bSearch2 = {
|
||||
// /* TRAN CODE */ (byte)0xE3,(byte)0xE7,(byte)0xC1,(byte)0xD4,(byte)0xD3,(byte)0xE3,(byte)0xF0,(byte)0xF4,
|
||||
// /* BLANK */ (byte)0x40,
|
||||
// /* 단말 매체 */ (byte)0xE3,
|
||||
// /* 취급점번 */ (byte)0xF9,(byte)0xF2,(byte)0xF2,(byte)0xF9,
|
||||
// /* 취급지번 */ (byte)0xF0,(byte)0xF0,(byte)0xF0,
|
||||
// /* 기기번호 */ (byte)0xF8,(byte)0xE3,(byte)0xF4,
|
||||
// /* TERM CODE */ (byte)0xE3,(byte)0xC8,
|
||||
// /* Serical No */ (byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF6, /* 테스트 매번 채번 필요 */
|
||||
// /* 개설점번 */ (byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,
|
||||
// /* 개설지번 */ (byte)0xF0,(byte)0xF0,(byte)0xF0,
|
||||
// /* 업무식별코드 */ (byte)0xF0,(byte)0xF1,
|
||||
// /* 입력식별코드 */ (byte)0xF4,(byte)0xF0,(byte)0xF0,(byte)0xF9,
|
||||
// /* OP No */ (byte)0xF4,(byte)0xF5,(byte)0x40,(byte)0x40,
|
||||
// /* 상황플래그 */ (byte)0x88,(byte)0x80,(byte)0x80,(byte)0x80,
|
||||
// /* Reserved */ (byte)0x00,(byte)0x01,
|
||||
// /* PF Key */ (byte)0x40
|
||||
// };
|
||||
//
|
||||
// byte[] bDeposit1 = {
|
||||
// (byte)0xE3,(byte)0xE7,(byte)0xC1,(byte)0xF0,(byte)0xF0,(byte)0xF1,(byte)0xF0,(byte)0xF1,(byte)0x40,(byte)0xE3,(byte)0xF7,(byte)0xF2,(byte)0xF4,(byte)0xF7,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF7,(byte)0xE3,(byte)0xF2,(byte)0xE3,(byte)0xC8,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF4,(byte)0x40,(byte)0x40,
|
||||
// (byte)0x40,(byte)0x40,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF1,(byte)0xF1,(byte)0xF0,(byte)0xF0,(byte)0xF1,(byte)0xF4,(byte)0xF5,(byte)0x40,(byte)0x40,(byte)0x80,(byte)0x80,(byte)0x81,(byte)0x80,(byte)0x40,(byte)0x40,(byte)0xF0,(byte)0xC3,(byte)0xF0,(byte)0xF0,(byte)0xF1,(byte)0xF0,(byte)0xF0,
|
||||
// (byte)0xF0,(byte)0xF0,(byte)0x40,(byte)0x40,(byte)0xF0,(byte)0x40,(byte)0x00,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,
|
||||
// (byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x40,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0xF7,(byte)0xF2,(byte)0xF4,(byte)0xF7,(byte)0x1F,(byte)0xF0,(byte)0xF4,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF3,(byte)0xF9,
|
||||
// (byte)0xF8,(byte)0x1F,(byte)0xF0,(byte)0x1F,(byte)0xF0,(byte)0xF0,(byte)0x1F,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF1,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0xF0,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,
|
||||
// (byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x9C,(byte)0x61,(byte)0x9C,(byte)0x61,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F,(byte)0x1F
|
||||
// };
|
||||
//
|
||||
// // 텔레뱅킹 타행 이체 거래 : 비드 거래용 테스를 하기 위한 데이터
|
||||
// String sTelBank = "TBS680224123672210040120041005172233600000001 TEL05100000 EF2005062861382594102740 1004201002028776398 0000000010000";
|
||||
//
|
||||
// public void testMassData() {
|
||||
// byte[] pHeaderBuff = makeWSAHeader();
|
||||
// byte[] pSndBuff = null;
|
||||
//// byte[] pRcvBuff = null;
|
||||
// byte[] pSerialNo= null;
|
||||
// byte[] pCvrtSerialNo = null;
|
||||
//
|
||||
// try {
|
||||
// pSndBuff = new byte[pHeaderBuff.length + bSearch1.length];
|
||||
// System.arraycopy(pHeaderBuff, 0, pSndBuff, 0, pHeaderBuff.length);
|
||||
// System.arraycopy(bSearch1, 0, pSndBuff, WCAHeader.WCA_HEADER_LEN, bSearch1.length);
|
||||
//
|
||||
// // 전문 일련 번호 설정
|
||||
// nMassSerialNo++;
|
||||
// pSerialNo = MyUtil.getLenBuff(nMassSerialNo, 4);
|
||||
// pCvrtSerialNo = CodeCvrt.cvrtKsc2Ebc(pSerialNo);
|
||||
// System.arraycopy(pCvrtSerialNo, 0, pSndBuff, WCAHeader.WCA_HEADER_LEN + 22, 4);
|
||||
//
|
||||
// nSndLen = pSndBuff.length;
|
||||
//
|
||||
// ////call
|
||||
// call(pHeaderBuff, bSearch1);
|
||||
//
|
||||
// System.out.println("THREAD(" + nThreadId + ") TRANSACTION(" + nTestCnt + ") END.........");
|
||||
//
|
||||
//
|
||||
// pSndBuff = new byte[pHeaderBuff.length + bSearch2.length];
|
||||
// System.arraycopy(pHeaderBuff, 0, pSndBuff, 0, pHeaderBuff.length);
|
||||
// System.arraycopy(bSearch2, 0, pSndBuff, WCAHeader.WCA_HEADER_LEN, bSearch2.length);
|
||||
//
|
||||
// // 전문 일련 번호 설정
|
||||
// nMassSerialNo++;
|
||||
// pSerialNo = MyUtil.getLenBuff(nMassSerialNo, 4);
|
||||
// pCvrtSerialNo = CodeCvrt.cvrtKsc2Ebc(pSerialNo);
|
||||
// System.arraycopy(pCvrtSerialNo, 0, pSndBuff, WCAHeader.WCA_HEADER_LEN + 22, 4);
|
||||
//
|
||||
// nSndLen = pSndBuff.length;
|
||||
//
|
||||
// //pRcvBuff = webSnaAdaptor.sendrecv(myLog, nSndLen, pSndBuff);
|
||||
// //call(pHeaderBuff, bSearch1);
|
||||
//
|
||||
//// System.out.println("THREAD(" + nThreadId + ") TRANSACTION( " + nTestCnt + ") END.........");
|
||||
//
|
||||
// }
|
||||
// catch(Exception e) {
|
||||
//// System.out.println("testMassData> Error : " + e.toString());
|
||||
// }
|
||||
// }
|
||||
// public void call(byte[] pHeaderBuff, byte[] pDataBuff)
|
||||
// {
|
||||
// try
|
||||
// {
|
||||
// ElinkAdapter adapter = null;
|
||||
// ElinkAdapterFactory factory = ElinkAdapterFactory.newInstance();
|
||||
// adapter = factory.getElinkAdapter(Keys.TYPE_SNA);
|
||||
// if (adapter == null)
|
||||
// {
|
||||
// System.out.println("adapter is null");
|
||||
// }
|
||||
//
|
||||
// WCAHeader header = new WCAHeader(pHeaderBuff.length, pHeaderBuff);
|
||||
//
|
||||
// Properties prop = new Properties();
|
||||
// prop.setProperty("TRAN_KEY", header.getKey());
|
||||
// prop.setProperty("ADAPTER_GRP_NAME", "OUT_SNA_KESAPOOL_001");
|
||||
// //prop.setProperty("ADAPTER_GRP_NAME", "SNAAdapter_HOST_IN");
|
||||
// prop.setProperty("ADAPTER_NAME", "SNAAdapter{HOST}");
|
||||
// //prop.setProperty("LU_NAME", header.getTSName());
|
||||
// prop.setProperty("LU_NAME", "");
|
||||
// //prop.setProperty("LU_NAME", "T994471");
|
||||
// //prop.setProperty("TRAN_MODE", String.valueOf(header.getMode()));
|
||||
// prop.setProperty("TRAN_MODE", "R");
|
||||
// prop.setProperty("DATA_TYPE", header.getDataType());
|
||||
// prop.setProperty("TRAN_TIMEOUT", "5");
|
||||
//
|
||||
// /*
|
||||
// prop.setProperty("LU_NAME", "");
|
||||
// prop.setProperty("TRAN_MODE", "R");
|
||||
// prop.setProperty("DATA_TYPE", "");
|
||||
// */
|
||||
//// byte[] ret = (byte[] )adapter.callService("OUT_SNA_KESAPOOL_001", prop, pDataBuff);
|
||||
// adapter.callService("OUT_SNA_KESAPOOL_001", prop, pDataBuff);
|
||||
// }
|
||||
// catch(Exception e)
|
||||
// {
|
||||
//// e.printStackTrace();
|
||||
//// System.out.println(e.toString());
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// public static final int KMB_CAP_LEN = 50;
|
||||
// public static final int KMB_USER_HEADER_LEN = 15;
|
||||
//
|
||||
// public byte[] makeHostData(String sHostMsg) {
|
||||
//
|
||||
// byte[] hostData = null;
|
||||
// int nIdx = 0;
|
||||
//
|
||||
// hostData = new byte[KMB_CAP_LEN + KMB_USER_HEADER_LEN + sHostMsg.length()];
|
||||
//
|
||||
// /* Set CAP */
|
||||
// if(sTestCode.equals("SA-P-12")) { // Dedicate LU - 대량 거래 (조회 거래)
|
||||
// System.arraycopy("TTASKTBE".getBytes(), 0, hostData, 0, 8); nIdx += 8;
|
||||
// }
|
||||
// else if(sTestCode.equals("SA-P-16")) { // Dedicate LU - BID (텔레뱅킹 데이터)
|
||||
// System.arraycopy("TTASKTBE".getBytes(), 0, hostData, 0, 8); nIdx += 8;
|
||||
// }
|
||||
// else {
|
||||
// System.arraycopy("TTASKEA1".getBytes(), 0, hostData, 0, 8); nIdx += 8;
|
||||
// }
|
||||
//
|
||||
// // BLANK
|
||||
// hostData[nIdx] = 0x20; nIdx++;
|
||||
//
|
||||
// // 단말 매체
|
||||
// hostData[nIdx] = 'T'; nIdx++;
|
||||
//
|
||||
// // 취급 점번
|
||||
// System.arraycopy("1706".getBytes(), 0, hostData, nIdx, 4); nIdx += 4;
|
||||
//
|
||||
// // 취급지번
|
||||
// System.arraycopy("000".getBytes(), 0, hostData, nIdx, 3); nIdx += 3;
|
||||
//
|
||||
// // 기기 번호
|
||||
// System.arraycopy("2T0".getBytes(), 0, hostData, nIdx, 3); nIdx += 3;
|
||||
//
|
||||
// // TERM CODE
|
||||
// if(sTestCode.equals("SA-P-16")) { // Dedicate LU - BID (텔레뱅킹 데이터)
|
||||
// System.arraycopy("TB".getBytes(), 0, hostData, nIdx, 2); nIdx += 2;
|
||||
// }
|
||||
// else {
|
||||
// System.arraycopy("EA".getBytes(), 0, hostData, nIdx, 2); nIdx += 2;
|
||||
// }
|
||||
//
|
||||
// // SERIAL NO
|
||||
// System.arraycopy("0000".getBytes(), 0, hostData, nIdx, 4); nIdx += 4;
|
||||
//
|
||||
// // 개설 점번
|
||||
// System.arraycopy("0000".getBytes(), 0, hostData, nIdx, 4); nIdx += 4;
|
||||
//
|
||||
// // 개설 지점
|
||||
// System.arraycopy("000".getBytes(), 0, hostData, nIdx, 3); nIdx += 3;
|
||||
//
|
||||
// // 업무 식별 코드
|
||||
// if(sTestCode.equals("SA-P-16")) { // Dedicate LU - BID (텔레뱅킹 데이터)
|
||||
// System.arraycopy("TB".getBytes(), 0, hostData, nIdx, 2); nIdx += 2;
|
||||
// }
|
||||
// else {
|
||||
// System.arraycopy("D0".getBytes(), 0, hostData, nIdx, 2); nIdx += 2;
|
||||
// }
|
||||
//
|
||||
// // 입력 식별 코드
|
||||
// System.arraycopy("XKHB".getBytes(), 0, hostData, nIdx, 4); nIdx += 4;
|
||||
//
|
||||
// // OPERATOR NO
|
||||
// System.arraycopy("0099".getBytes(), 0, hostData, nIdx, 4); nIdx += 4;
|
||||
//
|
||||
// // 상황 FLAG
|
||||
// System.arraycopy("0000".getBytes(), 0, hostData, nIdx, 4); nIdx += 4;
|
||||
//
|
||||
// // RESERVED
|
||||
// System.arraycopy("00".getBytes(), 0, hostData, nIdx, 2); nIdx += 2;
|
||||
//
|
||||
// // PF KEY
|
||||
// hostData[nIdx] = 0x20; nIdx++;
|
||||
//
|
||||
// /* Set User Header */
|
||||
// // BLANK
|
||||
// hostData[nIdx] = 0x20; nIdx++;
|
||||
//
|
||||
// // IBM -> TANDEM RECEIVE LINE
|
||||
// if(sTestCode.equals("SA-P-16")) { // Dedicate LU - BID (텔레뱅킹 데이터)
|
||||
// // System.arraycopy("TFOURCE ".getBytes(), 0, hostData, nIdx, 8); nIdx += 8;
|
||||
// System.arraycopy("TNE1151 ".getBytes(), 0, hostData, nIdx, 8); nIdx += 8;
|
||||
// }
|
||||
// else if(sTestCode.equals("SA-P-07")) { // Dedicate LU - BID (텔레뱅킹 데이터)
|
||||
// System.arraycopy("TFOURCE ".getBytes(), 0, hostData, nIdx, 8); nIdx += 8;
|
||||
// }
|
||||
// else {
|
||||
// System.arraycopy("TRESPON ".getBytes(), 0, hostData, nIdx, 8); nIdx += 8;
|
||||
// }
|
||||
//
|
||||
// // CAP DESTINATION
|
||||
// System.arraycopy("EA1".getBytes(), 0, hostData, nIdx, 3); nIdx += 3;
|
||||
//
|
||||
// // CAP CONVERT CODE
|
||||
// hostData[nIdx] = 'I'; nIdx++;
|
||||
//
|
||||
// // OFFSET CODE
|
||||
// hostData[nIdx] = '9'; nIdx++;
|
||||
//
|
||||
// // BLANK
|
||||
// hostData[nIdx] = 0x20; nIdx++;
|
||||
//
|
||||
// /* Set Data */
|
||||
// System.arraycopy(sHostMsg.getBytes(), 0, hostData, nIdx, sHostMsg.length()); nIdx += sHostMsg.length();
|
||||
//
|
||||
// return hostData;
|
||||
// }
|
||||
//
|
||||
// public byte[] makeWSAHeader() {
|
||||
//
|
||||
// byte[] pBuff = null;
|
||||
// int nIdx = 0;
|
||||
//
|
||||
// try {
|
||||
// pBuff = new byte[WCAHeader.WCA_HEADER_LEN];
|
||||
//
|
||||
// // Key Data
|
||||
// String strUid = new java.rmi.server.UID().toString();
|
||||
// System.out.println("Key = " + strUid);
|
||||
//
|
||||
// String pKeyStr = MyUtil.rightPadString(strUid, WCAHeader.LEN_TRAN_KEY, " ");
|
||||
// System.arraycopy(pKeyStr.getBytes(), 0, pBuff, 0, WCAHeader.LEN_TRAN_KEY);
|
||||
// nIdx += WCAHeader.LEN_TRAN_KEY;
|
||||
//
|
||||
// // TS Name
|
||||
// String sLuName = null;
|
||||
//
|
||||
// if(sTestCode.equals("SA-P-6")) { // Pooled LU - Response Mode
|
||||
// sLuName = "";
|
||||
// }
|
||||
// else if(sTestCode.equals("SA-P-7")) { // Pooled LU - Non Response Mode
|
||||
// sLuName = "";
|
||||
// }
|
||||
// else if(sTestCode.equals("SA-P-9")) { // Dedicate LU - Reponse Mode
|
||||
// sLuName = "T922984";
|
||||
// }
|
||||
// else if(sTestCode.equals("SA-P-12")) { // Dedicate LU - 대량 거래 (조회 거래)
|
||||
// sLuName = "T922984";
|
||||
// }
|
||||
// else if(sTestCode.equals("SA-P-16")) { // Pooled LU - BID (텔레뱅킹 데이터)
|
||||
// sLuName = "";
|
||||
// }
|
||||
// else {
|
||||
// sLuName = "";
|
||||
// }
|
||||
//
|
||||
// // System.arraycopy(" ".getBytes(), 0, pBuff, nIdx, 12); nIdx += 12;
|
||||
// // System.arraycopy( "TRE1002 ".getBytes(), 0, pBuff, nIdx, 12); nIdx += 12;
|
||||
// System.arraycopy(sLuName.getBytes(), 0, pBuff, nIdx, sLuName.length()); nIdx += sLuName.length();
|
||||
// for(int i = 0; i < (WCAHeader.LEN_LUNAME - sLuName.length()); i++) {
|
||||
// pBuff[nIdx] = (byte)0x00;
|
||||
// nIdx++;
|
||||
// }
|
||||
//
|
||||
// if(sTestCode.equals("SA-P-6")) { // Pooled LU - Response Mode
|
||||
// // Mode
|
||||
// pBuff[nIdx] = (byte)(WCAHeader.TRAN_MODE_RESPONSE).charAt(0) ; nIdx++;
|
||||
// }
|
||||
// else if(sTestCode.equals("SA-P-7")) { // Pooled LU - Non Response Mode
|
||||
// // Mode
|
||||
// pBuff[nIdx] = (byte)(WCAHeader.TRAN_MODE_NONRESPONSE).charAt(0); nIdx++;
|
||||
// }
|
||||
// else if(sTestCode.equals("SA-P-9")) { // Dedicate LU - Reponse Mode
|
||||
// // Mode
|
||||
// pBuff[nIdx] = (byte)(WCAHeader.TRAN_MODE_RESPONSE).charAt(0); nIdx++;
|
||||
// }
|
||||
// else if(sTestCode.equals("SA-P-16")) { // Dedicate LU - BID (텔레뱅킹 데이터)
|
||||
// pBuff[nIdx] = (byte)(WCAHeader.TRAN_MODE_NONRESPONSE).charAt(0); nIdx++;
|
||||
// }
|
||||
// else {
|
||||
// // Mode
|
||||
// pBuff[nIdx] = (byte)(WCAHeader.TRAN_MODE_RESPONSE).charAt(0); nIdx++;
|
||||
// }
|
||||
//
|
||||
// // Status
|
||||
// System.arraycopy("ND".getBytes(), 0, pBuff, nIdx, 2); nIdx += 2;
|
||||
//
|
||||
// return pBuff;
|
||||
// }
|
||||
// catch(Exception e) {
|
||||
// System.out.println("makeSoftLinkHeader> Error :" + e.toString());
|
||||
// return null;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// public void testmain(String testCode)
|
||||
// {
|
||||
// sTestCode = testCode;
|
||||
// if(sTestCode.equals("SA-P-12")) { // Dedicate LU - 대량 거래 (조회 거래)
|
||||
// testMassData();
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// byte[] pHeaderBuff = makeWSAHeader();
|
||||
// byte[] pHostDataBuff = null;
|
||||
//
|
||||
// if(sTestCode.equals("SA-P-16")) { // Dedicate LU - BID (텔레뱅킹 데이터)
|
||||
// pHostDataBuff = makeHostData(sTelBank);
|
||||
// }
|
||||
// else {
|
||||
// pHostDataBuff = makeHostData("EA1 LU0 Adaptor");
|
||||
// }
|
||||
//
|
||||
// byte[] pSndBuff = new byte[pHeaderBuff.length + pHostDataBuff.length];
|
||||
//
|
||||
// //System.arraycopy(pHeaderBuff, 0, pSndBuff, 0, pHeaderBuff.length);
|
||||
//
|
||||
// // ASCII -> EBCDIC 코드 변환
|
||||
// byte[] pConvertedHostDataBuff = CodeCvrt.cvrtKsc2Ebc(pHostDataBuff);
|
||||
//
|
||||
// // HOST CAP의 상황 FLAG 설정
|
||||
// pConvertedHostDataBuff[43] = (byte)0x80;
|
||||
// pConvertedHostDataBuff[44] = (byte)0x80;
|
||||
// pConvertedHostDataBuff[45] = (byte)0x81;
|
||||
// pConvertedHostDataBuff[46] = (byte)0x80;
|
||||
//
|
||||
// System.arraycopy(pConvertedHostDataBuff, 0, pSndBuff, WCAHeader.WCA_HEADER_LEN, pHostDataBuff.length);
|
||||
//
|
||||
// /*
|
||||
// byte[] pSndBuff = new byte[pHeaderBuff.length + bSearch1.length];
|
||||
// System.arraycopy(pHeaderBuff, 0, pSndBuff, 0, pHeaderBuff.length);
|
||||
// System.arraycopy(bSearch1, 0, pSndBuff, WCAHeader.WCA_HEADER_LEN, bSearch1.length);
|
||||
// */
|
||||
//
|
||||
// nSndLen = pSndBuff.length;
|
||||
//
|
||||
//// System.out.println("handleClient> Send Data, Length = " + nSndLen);
|
||||
//// System.out.println( MyUtil.printBytes(WCADefine.ASCII_CODE, nSndLen, pSndBuff));
|
||||
//
|
||||
// call(pHeaderBuff, pConvertedHostDataBuff);
|
||||
//
|
||||
//// System.out.println("THREAD(" + nThreadId + ") TRANSACTION(" + nTestCnt + ") END.........");
|
||||
// //System.out.println("Configured Sess Num = " + webSnaAdaptor.getTotalConfiguredSessNum());
|
||||
// //System.out.println("Connected Sess Num = " + webSnaAdaptor.getTotalConnectedSessNum());
|
||||
// }
|
||||
}
|
||||
@@ -0,0 +1,258 @@
|
||||
package com.eactive.eai.adapter.wca.util;
|
||||
|
||||
|
||||
/**
|
||||
* 유형 설명을 삽입하십시오.
|
||||
* 작성 날짜: (2002-03-05 오후 4:16:13)
|
||||
* @author: Administrator
|
||||
*/
|
||||
public class CodeCvrt {
|
||||
|
||||
/** 1 Byte asc2ebc code table */
|
||||
static byte ASC2EBC[] = {
|
||||
// 0x00 - 0x7f
|
||||
(byte)0x00,(byte)0x01,(byte)0x02,(byte)0x03,(byte)0x37,(byte)0x05,(byte)0x2e,(byte)0x2f,(byte)0x16,(byte)0x09,(byte)0x25,(byte)0x0b,(byte)0x0c,(byte)0x0d,(byte)0x0e,(byte)0x0f, //
|
||||
(byte)0x10,(byte)0x11,(byte)0x12,(byte)0x13,(byte)0x3c,(byte)0x3d,(byte)0x32,(byte)0x26,(byte)0x18,(byte)0x19,(byte)0x3f,(byte)0x27,(byte)0x1c,(byte)0x1d,(byte)0x1e,(byte)0x1f, //
|
||||
(byte)0x40,(byte)0x5a,(byte)0x7f,(byte)0x7b,(byte)0x5b,(byte)0x6c,(byte)0x50,(byte)0x7d,(byte)0x4d,(byte)0x5d,(byte)0x5c,(byte)0x4e,(byte)0x6b,(byte)0x60,(byte)0x4b,(byte)0x61, // !"#$%&'()*+,-./
|
||||
(byte)0xf0,(byte)0xf1,(byte)0xf2,(byte)0xf3,(byte)0xf4,(byte)0xf5,(byte)0xf6,(byte)0xf7,(byte)0xf8,(byte)0xf9,(byte)0x7a,(byte)0x5e,(byte)0x4c,(byte)0x7e,(byte)0x6e,(byte)0x6f, // 0123456789:;<=>?
|
||||
(byte)0x7c,(byte)0xc1,(byte)0xc2,(byte)0xc3,(byte)0xc4,(byte)0xc5,(byte)0xc6,(byte)0xc7,(byte)0xc8,(byte)0xc9,(byte)0xd1,(byte)0xd2,(byte)0xd3,(byte)0xd4,(byte)0xd5,(byte)0xd6, // @ABCDEFGHIJKLMNO
|
||||
(byte)0xd7,(byte)0xd8,(byte)0xd9,(byte)0xe2,(byte)0xe3,(byte)0xe4,(byte)0xe5,(byte)0xe6,(byte)0xe7,(byte)0xe8,(byte)0xe9,(byte)0x70,(byte)0xe0,(byte)0xa0,(byte)0xb0,(byte)0x6d, // PQRSTUVWXYZ[\]^_
|
||||
(byte)0x79,(byte)0x81,(byte)0x82,(byte)0x83,(byte)0x84,(byte)0x85,(byte)0x86,(byte)0x87,(byte)0x88,(byte)0x89,(byte)0x91,(byte)0x92,(byte)0x93,(byte)0x94,(byte)0x95,(byte)0x96, // `abcdefghijklmno
|
||||
(byte)0x97,(byte)0x98,(byte)0x99,(byte)0xa2,(byte)0xa3,(byte)0xa4,(byte)0xa5,(byte)0xa6,(byte)0xa7,(byte)0xa8,(byte)0xa9,(byte)0xc0,(byte)0x6a,(byte)0xd0,(byte)0xa1,(byte)0x07, // pqrstuvwxyz{|}~
|
||||
};
|
||||
|
||||
/** 1 Byte ebc2ksc code table */
|
||||
static byte EBC2ASC[] = {
|
||||
// 0x00 - 0xff
|
||||
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x7f,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f, //
|
||||
0x10,0x11,0x12,0x13,0x14,0x15,0x08,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f, //
|
||||
(byte)0x80,0x21,0x22,0x23,0x24,0x0a,0x17,0x1b,0x28,0x29,0x2a,0x2b,0x2c,0x05,0x06,0x07, // ?"#$ ()*+,
|
||||
0x30,0x31,0x16,0x33,0x34,0x35,0x36,0x04,0x38,0x39,0x3a,0x3b,0x14,0x15,0x3e,0x1a, // 01 3456 89:; >
|
||||
0x20,0x1a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5b,0x2e,0x3c,0x28,0x2b,0x7c, // [.<(+|
|
||||
0x26,0x1a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x21,0x24,0x2a,0x29,0x3b,0x5e, // & !$*);^
|
||||
0x2d,0x2f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7c,0x2c,0x25,0x5f,0x3e,0x3f, // -/ |,%_>?
|
||||
0x5b,0x1a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x3a,0x23,0x40,0x27,0x3d,0x22, // [ `:#@'="
|
||||
0x5d,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x00,0x00,0x00,0x00,0x00,0x00, // ]abcdefghi
|
||||
0x1a,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x00,0x00,0x00,0x00,0x00,0x00, // jklmnopqr
|
||||
0x5d,0x7e,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x00,0x00,0x00,0x00,0x00,0x00, // ]~stuvwxyz
|
||||
0x5e,0x1a,0x5c,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x00,0x00,0x00,0x1a,0x1a,0x1a, // ^ \
|
||||
0x7b,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, // {ABCDEFGHI
|
||||
0x7d,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, // }JKLMNOPQR
|
||||
0x5c,0x1a,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a, // \ STUVWXYZ
|
||||
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x1a,0x1a,0x1a,0x1a,0x1a,(byte)0xff, // 0123456789 ?
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
이 클래스를 생성할 수 없다.
|
||||
|
||||
CodeConvert.cvtEbc2KSC 나 CodeConvert.cvtKsc2Ebc를 호출한다.
|
||||
|
||||
*/
|
||||
protected CodeCvrt()
|
||||
{
|
||||
}
|
||||
/**
|
||||
|
||||
EBCDIC 를 KSC로 변환한다.
|
||||
|
||||
EBCDIC 한글은 0x0e, 0x0f로 구분되어 있어야 한다.
|
||||
|
||||
input : 0x0e, EBCDIC 한글 코드, 0x0f
|
||||
output : KSC 한글 코드
|
||||
|
||||
@param byte[] codes 변환할 EBCDIC 데이터
|
||||
@return byte[] KSC로 변환한 데이터
|
||||
|
||||
*/
|
||||
public static byte[] cvrtEbc2Ksc(byte[] codes)
|
||||
{
|
||||
byte[] cvt;
|
||||
int cvtPt;
|
||||
int i;
|
||||
|
||||
cvt = new byte[(codes.length)];
|
||||
cvtPt = 0;
|
||||
|
||||
for(i = 0; i < codes.length; i++)
|
||||
{
|
||||
if( codes[i] == 0x0e ) // 한글 부분 : 2 byte conversion
|
||||
{
|
||||
// cvt[cvtPt++] = 0x0e; // 0x0e 그대로 변경 유지
|
||||
i++;
|
||||
while( codes[i] != 0x0f )
|
||||
{
|
||||
short h = (short)codes[i++];
|
||||
h = (short)(h & 0x00ff);
|
||||
short l = (short)codes[i++];
|
||||
l = (short)(l & 0x00ff);
|
||||
|
||||
if (0x40 <= h && h <= 0xd4 && 0x40 <= l && l <= 0xff) {
|
||||
int pt = ((h - 0x40) * 192) + (l - 0x40);
|
||||
int table = pt / 8640;
|
||||
int t_pt = pt % 8640;
|
||||
|
||||
char cKsc = 0;
|
||||
|
||||
switch( table )
|
||||
{
|
||||
case 0:
|
||||
cKsc = Ebc2Ksc1.EBC2KSC[t_pt];
|
||||
break;
|
||||
case 1:
|
||||
cKsc = Ebc2Ksc2.EBC2KSC[t_pt];
|
||||
break;
|
||||
case 2:
|
||||
cKsc = Ebc2Ksc3.EBC2KSC[t_pt];
|
||||
break;
|
||||
case 3:
|
||||
cKsc = Ebc2Ksc4.EBC2KSC[t_pt];
|
||||
break;
|
||||
}
|
||||
|
||||
char temp = (char)(cKsc & 0x00FF); // Low Bytes
|
||||
cvt[cvtPt+1] = (byte)temp;
|
||||
cKsc = (char)(cKsc >> 8); // High Bytes
|
||||
temp = (char)(cKsc & 0x00FF);
|
||||
cvt[cvtPt] = (byte)temp;
|
||||
cvtPt += 2;
|
||||
} else {
|
||||
cvt[cvtPt++] = 0x00;
|
||||
cvt[cvtPt++] = 0x00;
|
||||
}
|
||||
}
|
||||
// cvt[cvtPt++] = 0x0f; // 0x0f는 그대로 유지, pointer i는 for loop에서 증가
|
||||
}
|
||||
else // 1 byte code conversion
|
||||
{
|
||||
short pt = (short)codes[i];
|
||||
pt = (short)(pt & 0x00ff);
|
||||
cvt[cvtPt++] = (byte)EBC2ASC[pt];
|
||||
}
|
||||
}
|
||||
byte[] toReturn = new byte[cvtPt];
|
||||
System.arraycopy(cvt, 0, toReturn, 0, cvtPt);
|
||||
return toReturn;
|
||||
}
|
||||
|
||||
public static byte cvrtEbc2Ksc2(byte codes)
|
||||
{
|
||||
short pt = (short)codes;
|
||||
pt = (short)(pt & 0x00ff);
|
||||
return (byte)EBC2ASC[pt];
|
||||
}
|
||||
|
||||
/**
|
||||
KSC 한글을 EBCDIC 한글로 변환한다.
|
||||
|
||||
EBCDIC 한글은 0x0e로 시작하여 0x0f로 끝난다.
|
||||
|
||||
input : 영문자 + 한글
|
||||
output : 영문자 0x0e 한글 0x0f
|
||||
|
||||
@ param byte[] codes EBCDIC 한글로 변환할 KSC 한글
|
||||
@ retrun byte[] EBCDIC로 변환된 한글
|
||||
|
||||
*/
|
||||
public static byte[] cvrtKsc2Ebc( byte[] codes )
|
||||
{
|
||||
byte[] cvt;
|
||||
int cvtPt;
|
||||
int i;
|
||||
boolean bHan;
|
||||
|
||||
// 최악의 경우 코드가 2배로 늘어난다.
|
||||
cvt = new byte[2 * codes.length];
|
||||
cvtPt = 0;
|
||||
bHan = false;
|
||||
|
||||
for (i = 0; i < codes.length; i++)
|
||||
{
|
||||
short h = (short)codes[i];
|
||||
h = (short)(h & 0x00ff);
|
||||
|
||||
if( h >= 0x80 ) // 한글 부분 : 2 byte conversion
|
||||
{
|
||||
if (bHan == false)
|
||||
{
|
||||
bHan = true;
|
||||
cvt[cvtPt++] = 0x0e;
|
||||
}
|
||||
i++; // 한글일땐 2 번째 Byte 조합 처리
|
||||
short l = (short)codes[i];
|
||||
l = (short)(l & 0x00ff);
|
||||
|
||||
if (0xa1 <= h && h <= 0xfe && 0xa0 <= l && l <= 0xff) {
|
||||
int pt = ((h - 0xa1) * 96) + (l - 0xa0);
|
||||
int table = pt / 4800;
|
||||
int t_pt = pt % 4800;
|
||||
|
||||
char cEbc = 0;
|
||||
switch( table )
|
||||
{
|
||||
case 0:
|
||||
cEbc = Ksc2Ebc1.KSC2EBC[t_pt];
|
||||
break;
|
||||
case 1:
|
||||
cEbc = Ksc2Ebc2.KSC2EBC[t_pt];
|
||||
break;
|
||||
}
|
||||
char temp = (char)(cEbc & 0x00FF); // Low Bytes
|
||||
cvt[cvtPt+1] = (byte)temp;
|
||||
cEbc = (char)(cEbc >> 8); // High Bytes
|
||||
temp = (char)(cEbc & 0x00FF);
|
||||
cvt[cvtPt] = (byte)temp;
|
||||
cvtPt += 2;
|
||||
}
|
||||
else {
|
||||
cvt[cvtPt++] = 0x00;
|
||||
cvt[cvtPt++] = 0x00;
|
||||
}
|
||||
}
|
||||
else // 1 byte code conversion
|
||||
{
|
||||
if (bHan == true)
|
||||
{
|
||||
bHan = false;
|
||||
cvt[cvtPt++] = 0x0f;
|
||||
}
|
||||
cvt[cvtPt++] = (byte)ASC2EBC[h];
|
||||
}
|
||||
}
|
||||
if (bHan == true)
|
||||
{
|
||||
bHan = false;
|
||||
cvt[cvtPt++] = 0x0f;
|
||||
}
|
||||
byte[] toReturn = new byte[cvtPt];
|
||||
System.arraycopy(cvt, 0, toReturn, 0, cvtPt);
|
||||
return toReturn;
|
||||
}
|
||||
/**
|
||||
Test main routine
|
||||
|
||||
*/
|
||||
// public static void main(String args[]) throws Exception {
|
||||
// test();
|
||||
//}
|
||||
|
||||
// private static void test() throws Exception {
|
||||
// byte[] test = "안녕 하세요. APT는 810-310입니다.".getBytes();
|
||||
//
|
||||
// // EBCDIC로 바꾼다.
|
||||
// byte[] result = cvrtKsc2Ebc(test);
|
||||
//
|
||||
// for (int i = 0; i < result.length; i++)
|
||||
// {
|
||||
// String ebcdic = Integer.toString((char)result[i] & 0x00ff, 16).toUpperCase();
|
||||
//
|
||||
// if (ebcdic.length() == 2)
|
||||
// System.out.print(ebcdic + " ");
|
||||
// else
|
||||
// System.out.print("0" + ebcdic + " ");
|
||||
// }
|
||||
// // 다시 한글로 바꾼다.
|
||||
// byte[] result1 = cvrtEbc2Ksc(result);
|
||||
// String han = new String(result1);
|
||||
// }
|
||||
}
|
||||
@@ -0,0 +1,153 @@
|
||||
package com.eactive.eai.adapter.wca.util;
|
||||
|
||||
import java.util.Calendar;
|
||||
|
||||
public class DateUtil
|
||||
{
|
||||
private Calendar o_calender; // 카렌다
|
||||
public String s_date_sep = "-"; // 날짜구분
|
||||
public String s_time_sep = ":"; // 시간구분
|
||||
private final String[] DAY = {"일", "월", "화", "수", "목", "금", "토" }; // 요일
|
||||
|
||||
public DateUtil()
|
||||
{
|
||||
o_calender = Calendar.getInstance();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 년도 반환
|
||||
*
|
||||
* @return int 반환된 년도
|
||||
*/
|
||||
public int getYear()
|
||||
{
|
||||
return o_calender.get(Calendar.YEAR);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 월 반환
|
||||
*
|
||||
* @return int 반환된 월
|
||||
*/
|
||||
public int getMonth()
|
||||
{
|
||||
return o_calender.get(Calendar.MONTH)+1;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 일 반환
|
||||
*
|
||||
* @return int 반환된 일
|
||||
*/
|
||||
public int getDay()
|
||||
{
|
||||
return o_calender.get(Calendar.DATE);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 요일 반환
|
||||
*
|
||||
* @return int 반환된 요일
|
||||
*/
|
||||
public String getDayOfWeek()
|
||||
{
|
||||
return DAY[o_calender.get(Calendar.DAY_OF_WEEK)-1];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 시 반환
|
||||
*
|
||||
* @return int 반환된 시
|
||||
*/
|
||||
public int getHour()
|
||||
{
|
||||
return o_calender.get(Calendar.HOUR_OF_DAY);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 분 반환
|
||||
*
|
||||
* @return int 반환된 분
|
||||
*/
|
||||
public int getMinute()
|
||||
{
|
||||
return o_calender.get(Calendar.MINUTE);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 초 반환
|
||||
*
|
||||
* @return int 반환된 초
|
||||
*/
|
||||
public int getSecond()
|
||||
{
|
||||
return o_calender.get(Calendar.SECOND);
|
||||
}
|
||||
|
||||
/**
|
||||
* milli초 반환
|
||||
*
|
||||
* @return int 반환된 초
|
||||
*/
|
||||
public int getMilliSecond()
|
||||
{
|
||||
return o_calender.get(Calendar.MILLISECOND);
|
||||
}
|
||||
|
||||
/**
|
||||
* 년-월-일 반환
|
||||
*/
|
||||
public String getDate()
|
||||
{
|
||||
return MyUtil.leftPadString(String.valueOf(getYear()), 2, "0") +
|
||||
MyUtil.leftPadString(String.valueOf(getMonth()), 2, "0") +
|
||||
MyUtil.leftPadString(String.valueOf(getDay()), 2, "0") ;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 시 분 초 반환
|
||||
*/
|
||||
public String getTime()
|
||||
{
|
||||
//return getHour() + s_time_sep + getMinute() + s_time_sep + getSecond();
|
||||
return MyUtil.leftPadString(String.valueOf(getHour()), 2, "0") +
|
||||
MyUtil.leftPadString(String.valueOf(getMinute()), 2, "0") +
|
||||
MyUtil.leftPadString(String.valueOf(getSecond()), 2, "0") ;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 시 분 초 반환
|
||||
*/
|
||||
public String getMilliTime()
|
||||
{
|
||||
return MyUtil.leftPadString(String.valueOf(getHour()), 2, "0") +
|
||||
MyUtil.leftPadString(String.valueOf(getMinute()), 2, "0") +
|
||||
MyUtil.leftPadString(String.valueOf(getSecond()), 2, "0") +
|
||||
MyUtil.leftPadString(String.valueOf(getMilliSecond()), 6, "0") ;
|
||||
}
|
||||
|
||||
/**
|
||||
* 년-월-일 시:분:초 반환
|
||||
*
|
||||
*/
|
||||
|
||||
public String getDateTime()
|
||||
{
|
||||
return getDate() + " " + getTime();
|
||||
}
|
||||
|
||||
public String getDateMilliTime()
|
||||
{
|
||||
return getDate() + getTime() + MyUtil.leftPadString(String.valueOf(getMilliSecond()), 2, "0").substring(0,2) ;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,595 @@
|
||||
package com.eactive.eai.adapter.wca.util;
|
||||
|
||||
public class Ebc2Ksc1 {
|
||||
protected static char EBC2KSC[] = {
|
||||
// 0x4040 - 0x40ff
|
||||
0xa1a1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x4140 - 0x41ff
|
||||
0x0000,0xa1a2,0xa1a3,0xa1a4,0xa1a5,0xa1a6,0xa1a7,0xa1a8,0xa1a9,0xa1aa,0xa1ab,0xa1ac,0xa3fe,0xa1ae,0xa1af,0xa1b0,// 、。·‥…¨〃―∥\ ̄‘’“
|
||||
0xa1b1,0xa1b2,0xa1b3,0xa1b4,0xa1b5,0xa1b6,0xa1b7,0xa1b8,0xa1b9,0xa1ba,0xa1bb,0xa1bc,0xa1bd,0xa1be,0xa1bf,0xa1c0,// ”〔〕〈〉《》「」『』【】±×÷
|
||||
0x0000,0x0000,0x0000,0xa1c4,0xa1c5,0xa1c6,0xa1c7,0xa1c8,0xa1c9,0x0000,0xa3de,0xa1cc,0xa1cd,0xa7a2,0xa7a3,0xa7a4,// ∞∴°′″℃ ^£¥㎖㎗ℓ
|
||||
0xa7a6,0xa7ae,0xa7af,0xa7b0,0xa7b7,0xa7b8,0xa1d7,0xa1d8,0xa1d9,0xa1da,0xa1db,0xa1dc,0xa1dd,0xa1de,0xa1df,0xa1e0,// ㏄㎜㎝㎞㎎㎏§※☆★○●◎◇◆□
|
||||
0xa1e1,0xa1e2,0xa1e3,0xa1e4,0xa1e5,0xa1e6,0xa1e7,0xa1e8,0xa1e9,0xa1ea,0xa1eb,0xa3db,0xa3dd,0xa1c1,0xa1c2,0xa1c3,// ■△▲▽▼→←↑↓↔〓[]≠≤≥
|
||||
0xa1ca,0xa1ce,0xa1cf,0xa1d0,0xa1d1,0xa1d2,0xa1d3,0xa1d4,0xa1d5,0xa1d6,0xa1ec,0xa1ed,0xa1ee,0xa1ef,0x0000,0x0000,// Å♂♀∠⊥⌒∂∇≡≒≪≫√∽
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x4240 - 0x42ff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xa1cb,0xa3ae,0xa3bc,0xa3a8,0xa3ab,0xa3fc,// ¢.<(+|
|
||||
0xa3a6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xa3a1,0xa3a4,0xa3aa,0xa3a9,0xa3bb,0xa1fe,// & !$*);¬
|
||||
0xa3ad,0xa3af,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xa3ac,0xa3a5,0xa3df,0xa3be,0xa3bf,// -/ ,%_>?
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xa3e0,0xa3ba,0xa3a3,0xa3c0,0xa3a7,0xa3bd,0xa3a2,// `:#@'="
|
||||
0x0000,0xa3e1,0xa3e2,0xa3e3,0xa3e4,0xa3e5,0xa3e6,0xa3e7,0xa3e8,0xa3e9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// abcdefghi
|
||||
0x0000,0xa3ea,0xa3eb,0xa3ec,0xa3ed,0xa3ee,0xa3ef,0xa3f0,0xa3f1,0xa3f2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// jklmnopqr
|
||||
0x0000,0xa1ad,0xa3f3,0xa3f4,0xa3f5,0xa3f6,0xa3f7,0xa3f8,0xa3f9,0xa3fa,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ∼stuvwxyz
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0xa3fb,0xa3c1,0xa3c2,0xa3c3,0xa3c4,0xa3c5,0xa3c6,0xa3c7,0xa3c8,0xa3c9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// {ABCDEFGHI
|
||||
0xa3fd,0xa3ca,0xa3cb,0xa3cc,0xa3cd,0xa3ce,0xa3cf,0xa3d0,0xa3d1,0xa3d2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// }JKLMNOPQR
|
||||
0xa3dc,0x0000,0xa3d3,0xa3d4,0xa3d5,0xa3d6,0xa3d7,0xa3d8,0xa3d9,0xa3da,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ₩ STUVWXYZ
|
||||
0xa3b0,0xa3b1,0xa3b2,0xa3b3,0xa3b4,0xa3b5,0xa3b6,0xa3b7,0xa3b8,0xa3b9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 0123456789
|
||||
// 0x4340 - 0x43ff
|
||||
0x0000,0xa4d5,0xa4d6,0xa4d7,0xa4d8,0xa4d9,0xa4da,0xa4db,0xa4dc,0xa4dd,0xa4de,0xa4df,0xa4e0,0xa4e1,0xa4e2,0xa4e3,// ㅥㅦㅧㅨㅩㅪㅫㅬㅭㅮㅯㅰㅱㅲㅳ
|
||||
0xa4e4,0xa4e5,0xa4e6,0xa4e7,0xa4e8,0xa4e9,0xa4ea,0xa4eb,0xa4ec,0xa4ed,0xa4ee,0xa4ef,0xa4f0,0xa4f1,0xa4f2,0xa4f3,// ㅴㅵㅶㅷㅸㅹㅺㅻㅼㅽㅾㅿㆀㆁㆂㆃ
|
||||
0xa4f4,0xa4f5,0xa4f6,0xa4f7,0xa4f8,0xa4f9,0xa4fa,0xa4fb,0xa4fc,0xa4fd,0xa4fe,0x0000,0x0000,0x0000,0x0000,0x0000,// ㆄㆅㆆㆇㆈㆉㆊㆋㆌㆍㆎ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x4440 - 0x44ff
|
||||
0x0000,0xaaa1,0xaaa2,0xaaa3,0xaaa4,0xaaa5,0xaaa6,0xaaa7,0xaaa8,0xaaa9,0xaaaa,0xaaab,0xaaac,0xaaad,0xaaae,0xaaaf,// ぁあぃいぅうぇえぉおかがきぎく
|
||||
0xaab0,0xaab1,0xaab2,0xaab3,0xaab4,0xaab5,0xaab6,0xaab7,0xaab8,0xaab9,0xaaba,0xaabb,0xaabc,0xaabd,0xaabe,0xaabf,// ぐけげこごさざしじすずせぜそぞた
|
||||
0xaac0,0xaac1,0xaac2,0xaac3,0xaac4,0xaac5,0xaac6,0xaac7,0xaac8,0xaac9,0xaaca,0xaacb,0xaacc,0xaacd,0xaace,0xaacf,// だちぢっつづてでとどなにぬねのは
|
||||
0xaad0,0xaad1,0xaad2,0xaad3,0xaad4,0xaad5,0xaad6,0xaad7,0xaad8,0xaad9,0xaada,0xaadb,0xaadc,0xaadd,0xaade,0xaadf,// ばぱひびぴふぶぷへべぺほぼぽまみ
|
||||
0xaae0,0xaae1,0xaae2,0xaae3,0xaae4,0xaae5,0xaae6,0xaae7,0xaae8,0xaae9,0xaaea,0xaaeb,0xaaec,0xaaed,0xaaee,0xaaef,// むめもゃやゅゆょよらりるれろゎわ
|
||||
0xaaf0,0xaaf1,0xaaf2,0xaaf3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ゐゑをん
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x4540 - 0x45ff
|
||||
0x0000,0xaba1,0xaba2,0xaba3,0xaba4,0xaba5,0xaba6,0xaba7,0xaba8,0xaba9,0xabaa,0xabab,0xabac,0xabad,0xabae,0xabaf,// ァアィイゥウェエォオカガキギク
|
||||
0xabb0,0xabb1,0xabb2,0xabb3,0xabb4,0xabb5,0xabb6,0xabb7,0xabb8,0xabb9,0xabba,0xabbb,0xabbc,0xabbd,0xabbe,0xabbf,// グケゲコゴサザシジスズセゼソゾタ
|
||||
0xabc0,0xabc1,0xabc2,0xabc3,0xabc4,0xabc5,0xabc6,0xabc7,0xabc8,0xabc9,0xabca,0xabcb,0xabcc,0xabcd,0xabce,0xabcf,// ダチヂッツヅテデトドナニヌネノハ
|
||||
0xabd0,0xabd1,0xabd2,0xabd3,0xabd4,0xabd5,0xabd6,0xabd7,0xabd8,0xabd9,0xabda,0xabdb,0xabdc,0xabdd,0xabde,0xabdf,// バパヒビピフブプヘベペホボポマミ
|
||||
0xabe0,0xabe1,0xabe2,0xabe3,0xabe4,0xabe5,0xabe6,0xabe7,0xabe8,0xabe9,0xabea,0xabeb,0xabec,0xabed,0xabee,0xabef,// ムメモャヤュユョヨラリルレロヮワ
|
||||
0xabf0,0xabf1,0xabf2,0xabf3,0xabf4,0xabf5,0xabf6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ヰヱヲンヴヵヶ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x4640 - 0x46ff
|
||||
0x0000,0xa5a1,0xa5a2,0xa5a3,0xa5a4,0xa5a5,0xa5a6,0xa5a7,0xa5a8,0xa5a9,0xa5aa,0x0000,0x0000,0x0000,0x0000,0x0000,// ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ
|
||||
0xa5b0,0xa5b1,0xa5b2,0xa5b3,0xa5b4,0xa5b5,0xa5b6,0xa5b7,0xa5b8,0xa5b9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ
|
||||
0x0000,0xa5c1,0xa5c2,0xa5c3,0xa5c4,0xa5c5,0xa5c6,0xa5c7,0xa5c8,0xa5c9,0xa5ca,0xa5cb,0xa5cc,0xa5cd,0xa5ce,0xa5cf,// ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟ
|
||||
0xa5d0,0xa5d1,0xa5d2,0xa5d3,0xa5d4,0xa5d5,0xa5d6,0xa5d7,0xa5d8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ΠΡΣΤΥΦΧΨΩ
|
||||
0x0000,0xa5e1,0xa5e2,0xa5e3,0xa5e4,0xa5e5,0xa5e6,0xa5e7,0xa5e8,0xa5e9,0xa5ea,0xa5eb,0xa5ec,0xa5ed,0xa5ee,0xa5ef,// αβγδεζηθικλμνξο
|
||||
0xa5f0,0xa5f1,0xa5f2,0xa5f3,0xa5f4,0xa5f5,0xa5f6,0xa5f7,0xa5f8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// πρστυφχψω
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x4740 - 0x47ff
|
||||
0x0000,0xa6a1,0xa6a2,0xa6a3,0xa6a4,0xa6a5,0xa6a6,0xa6a7,0xa6a8,0xa6a9,0xa6aa,0xa6ab,0xa6ac,0xa6ad,0xa6ae,0xa6af,// ─│┌┐┘└├┬┤┴┼━┃┏┓
|
||||
0xa6b0,0xa6b1,0xa6b2,0xa6b3,0xa6b4,0xa6b5,0xa6b6,0xa6b7,0xa6b8,0xa6b9,0xa6ba,0xa6bb,0xa6bc,0xa6bd,0xa6be,0xa6bf,// ┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸
|
||||
0xa6c0,0xa6c1,0xa6c2,0xa6c3,0xa6c4,0xa6c5,0xa6c6,0xa6c7,0xa6c8,0xa6c9,0xa6ca,0xa6cb,0xa6cc,0xa6cd,0xa6ce,0xa6cf,// ╂┒┑┚┙┖┕┎┍┞┟┡┢┦┧┩
|
||||
0xa6d0,0xa6d1,0xa6d2,0xa6d3,0xa6d4,0xa6d5,0xa6d6,0xa6d7,0xa6d8,0xa6d9,0xa6da,0xa6db,0xa6dc,0xa6dd,0xa6de,0xa6df,// ┪┭┮┱┲┵┶┹┺┽┾╀╁╃╄╅
|
||||
0xa6e0,0xa6e1,0xa6e2,0xa6e3,0xa6e4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ╆╇╈╉╊
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x4840 - 0x48ff
|
||||
0x0000,0xa7a1,0xa7a5,0xa7a7,0xa7a8,0xa7a9,0xa7aa,0xa7ab,0xa7ac,0xa7ad,0xa7b1,0xa7b2,0xa7b3,0xa7b4,0xa7b5,0xa7b6,// ㎕㎘㎣㎤㎥㎦㎙㎚㎛㎟㎠㎡㎢㏊㎍
|
||||
0xa7b9,0xa7ba,0xa7bb,0xa7bc,0xa7bd,0xa7be,0xa7bf,0xa7c0,0xa7c1,0xa7c2,0xa7c3,0xa7c4,0xa7c5,0xa7c6,0xa7c7,0xa7c8,// ㏏㎈㎉㏈㎧㎨㎰㎱㎲㎳㎴㎵㎶㎷㎸㎹
|
||||
0xa7c9,0xa7ca,0xa7cb,0xa7cc,0xa7cd,0xa7ce,0xa7cf,0xa7d0,0xa7d1,0xa7d2,0xa7d3,0xa7d4,0xa7d5,0xa7d6,0xa7d7,0xa7d8,// ㎀㎁㎂㎃㎄㎺㎻㎼㎽㎾㎿㎐㎑㎒㎓㎔
|
||||
0xa7d9,0xa7da,0xa7db,0xa7dc,0xa7dd,0xa7de,0xa7df,0xa7e0,0xa7e1,0xa7e2,0xa7e3,0xa7e4,0xa7e5,0xa7e6,0xa7e7,0xa7e8,// Ω㏀㏁㎊㎋㎌㏖㏅㎭㎮㎯㏛㎩㎪㎫㎬
|
||||
0xa7e9,0xa7ea,0xa7eb,0xa7ec,0xa7ed,0xa7ee,0xa7ef,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㏝㏐㏓㏃㏉㏜㏆
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x4940 - 0x49ff
|
||||
0x0000,0xa1f0,0xa1f1,0xa1f2,0xa1f3,0xa1f4,0xa1f5,0xa1f6,0xa1f7,0xa1f8,0xa1f9,0xa1fa,0xa1fb,0xa1fc,0xa1fd,0xa2a1,// ∝∵∫∬∈∋⊆⊇⊂⊃∪∩∧∨⇒
|
||||
0xa2a2,0xa2a3,0xa2a4,0xa2a5,0xa2a6,0xa2a7,0xa2a8,0xa2a9,0xa2aa,0xa2ab,0xa2ac,0xa2ad,0xa2ae,0xa2af,0xa2b0,0xa2b1,// ⇔∀∃´~ˇ˘˝˚˙¸˛¡¿ː∮
|
||||
0xa2b2,0xa2b3,0xa2b4,0xa2b5,0xa2b6,0xa2b7,0xa2b8,0xa2b9,0xa2ba,0xa2bb,0xa2bc,0xa2bd,0xa2be,0xa2bf,0xa2c0,0xa2c1,// ∑∏¤℉‰◁◀▷▶♤♠♡♥♧♣⊙
|
||||
0xa2c2,0xa2c3,0xa2c4,0xa2c5,0xa2c6,0xa2c7,0xa2c8,0xa2c9,0xa2ca,0xa2cb,0xa2cc,0xa2cd,0xa2ce,0xa2cf,0xa2d0,0xa2d1,// ◈▣◐◑▒▤▥▨▧▦▩♨☏☎☜☞
|
||||
0xa2d2,0xa2d3,0xa2d4,0xa2d5,0xa2d6,0xa2d7,0xa2d8,0xa2d9,0xa2da,0xa2db,0xa2dc,0xa2dd,0xa2de,0xa2df,0xa2e0,0xa2e1,// ¶†‡↕↗↙↖↘♭♩♪♬㉿㈜№㏇
|
||||
0xa2e2,0xa2e3,0xa2e4,0xa2e5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ™㏂㏘℡
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x4a40 - 0x4aff
|
||||
0x0000,0xaca1,0xaca2,0xaca3,0xaca4,0xaca5,0xaca6,0xaca7,0xaca8,0xaca9,0xacaa,0xacab,0xacac,0xacad,0xacae,0xacaf,// АБВГДЕЁЖЗИЙКЛМН
|
||||
0xacb0,0xacb1,0xacb2,0xacb3,0xacb4,0xacb5,0xacb6,0xacb7,0xacb8,0xacb9,0xacba,0xacbb,0xacbc,0xacbd,0xacbe,0xacbf,// ОПРСТУФХЦЧШЩЪЫЬЭ
|
||||
0xacc0,0xacc1,0xacd1,0xacd2,0xacd3,0xacd4,0xacd5,0xacd6,0xacd7,0xacd8,0xacd9,0xacda,0xacdb,0xacdc,0xacdd,0xacde,// ЮЯабвгдеёжзийклм
|
||||
0xacdf,0xace0,0xace1,0xace2,0xace3,0xace4,0xace5,0xace6,0xace7,0xace8,0xace9,0xacea,0xaceb,0xacec,0xaced,0xacee,// нопрстуфхцчшщъыь
|
||||
0xacef,0xacf0,0xacf1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// эюя
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x4b40 - 0x4bff
|
||||
0x0000,0xa8a1,0xa8a2,0xa8a3,0xa8a4,0x0000,0xa8a6,0x0000,0xa8a8,0xa8a9,0xa8aa,0xa8ab,0xa8ac,0xa8ad,0xa8ae,0xa8af,// ÆÐªĦ IJ ĿŁØŒºÞŦŊ
|
||||
0x0000,0xa8b1,0xa8b2,0xa8b3,0xa8b4,0xa8b5,0xa8b6,0xa8b7,0xa8b8,0xa8b9,0xa8ba,0xa8bb,0xa8bc,0xa8bd,0xa8be,0xa8bf,// ㉠㉡㉢㉣㉤㉥㉦㉧㉨㉩㉪㉫㉬㉭㉮
|
||||
0xa8c0,0xa8c1,0xa8c2,0xa8c3,0xa8c4,0xa8c5,0xa8c6,0xa8c7,0xa8c8,0xa8c9,0xa8ca,0xa8cb,0xa8cc,0xa8cd,0xa8ce,0xa8cf,// ㉯㉰㉱㉲㉳㉴㉵㉶㉷㉸㉹㉺㉻ⓐⓑⓒ
|
||||
0xa8d0,0xa8d1,0xa8d2,0xa8d3,0xa8d4,0xa8d5,0xa8d6,0xa8d7,0xa8d8,0xa8d9,0xa8da,0xa8db,0xa8dc,0xa8dd,0xa8de,0xa8df,// ⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢ
|
||||
0xa8e0,0xa8e1,0xa8e2,0xa8e3,0xa8e4,0xa8e5,0xa8e6,0xa8e7,0xa8e8,0xa8e9,0xa8ea,0xa8eb,0xa8ec,0xa8ed,0xa8ee,0xa8ef,// ⓣⓤⓥⓦⓧⓨⓩ①②③④⑤⑥⑦⑧⑨
|
||||
0xa8f0,0xa8f1,0xa8f2,0xa8f3,0xa8f4,0xa8f5,0xa8f6,0xa8f7,0xa8f8,0xa8f9,0xa8fa,0xa8fb,0xa8fc,0xa8fd,0xa8fe,0x0000,// ⑩⑪⑫⑬⑭⑮½⅓⅔¼¾⅛⅜⅝⅞
|
||||
0xa9a1,0xa9a2,0xa9a3,0xa9a4,0xa9a5,0xa9a6,0xa9a7,0xa9a8,0xa9a9,0xa9aa,0xa9ab,0xa9ac,0xa9ad,0xa9ae,0xa9af,0xa9b0,// æđðħıijĸŀłøœßþŧŋʼn
|
||||
0xa9b1,0xa9b2,0xa9b3,0xa9b4,0xa9b5,0xa9b6,0xa9b7,0xa9b8,0xa9b9,0xa9ba,0xa9bb,0xa9bc,0xa9bd,0xa9be,0xa9bf,0xa9c0,// ㈀㈁㈂㈃㈄㈅㈆㈇㈈㈉㈊㈋㈌㈍㈎㈏
|
||||
0xa9c1,0xa9c2,0xa9c3,0xa9c4,0xa9c5,0xa9c6,0xa9c7,0xa9c8,0xa9c9,0xa9ca,0xa9cb,0xa9cc,0xa9cd,0xa9ce,0xa9cf,0xa9d0,// ㈐㈑㈒㈓㈔㈕㈖㈗㈘㈙㈚㈛⒜⒝⒞⒟
|
||||
0xa9d1,0xa9d2,0xa9d3,0xa9d4,0xa9d5,0xa9d6,0xa9d7,0xa9d8,0xa9d9,0xa9da,0xa9db,0xa9dc,0xa9dd,0xa9de,0xa9df,0xa9e0,// ⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯
|
||||
0xa9e1,0xa9e2,0xa9e3,0xa9e4,0xa9e5,0xa9e6,0xa9e7,0xa9e8,0xa9e9,0xa9ea,0xa9eb,0xa9ec,0xa9ed,0xa9ee,0xa9ef,0xa9f0,// ⒰⒱⒲⒳⒴⒵⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽
|
||||
0xa9f1,0xa9f2,0xa9f3,0xa9f4,0xa9f5,0xa9f6,0xa9f7,0xa9f8,0xa9f9,0xa9fa,0xa9fb,0xa9fc,0xa9fd,0xa9fe,0x0000,0x0000,// ⑾⑿⒀⒁⒂¹²³⁴ⁿ₁₂₃₄
|
||||
// 0x4c40 - 0x4cff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x4d40 - 0x4dff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x4e40 - 0x4eff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x4f40 - 0x4fff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x5040 - 0x50ff
|
||||
0x0000,0xcaa1,0xcaa2,0xcaa3,0xcaa4,0xcaa5,0xcaa6,0xcaa7,0xcaa8,0xcaa9,0xcaaa,0xcaab,0xcaac,0xcaaf,0xcaad,0xcab0,// 伽佳假價加可呵哥嘉嫁家暇柯架歌
|
||||
0xcab3,0xcab4,0xcab5,0xcab6,0xcab7,0xcab8,0xcab9,0xcaba,0xcabb,0xcabc,0xcabd,0xcabe,0xcabf,0xcac0,0x0000,0xcac1,// 稼苛茄街袈訶賈跏軻迦駕刻却各 恪
|
||||
0x0000,0xcac3,0xcac4,0xcac5,0xcac6,0xcac7,0xcac8,0xcaca,0xcacb,0xcacc,0xcacd,0xcace,0xcacf,0xcad0,0xcad1,0xcad2,// 殼珏脚覺角閣刊墾奸姦干幹懇揀杆
|
||||
0xcad5,0xcad6,0xcad7,0xcad9,0xcada,0xcadb,0xcadd,0xcade,0xcadc,0xcadf,0xcae0,0xcae1,0xcae2,0xcae3,0xcae4,0xcae5,// 澗癎看稈竿簡艮艱肝諫間乫喝曷渴碣
|
||||
0xcae6,0xcae8,0x0000,0xcae7,0xcaea,0xcaeb,0xcaec,0xcaed,0xcaee,0xcaef,0xcaf0,0xcaf2,0xcaf3,0xcaf4,0xcaf5,0xcaf6,// 竭褐 葛鞨勘坎堪嵌感憾敢柑橄減甘
|
||||
0xcaf7,0xcaf8,0xcafa,0x0000,0xcafc,0xcafe,0xcba1,0xcba2,0xcba3,0xcba4,0xcba5,0xcba6,0xcbaa,0xcba7,0xcba9,0xcbab,// 疳監紺 鑑龕匣岬甲胛鉀閘岡剛姜崗
|
||||
0xcbac,0xcbad,0xcbae,0xcbaf,0xcbb0,0xcbb2,0xcbb5,0xcbba,0xcbb3,0xcbb7,0xcbb9,0xcbbb,0xcbbc,0xcbbd,0xcbbf,0xcbc0,// 康强彊慷江疆綱襁糠腔薑講鋼降介价
|
||||
0xcbc1,0xcbc2,0xcbc4,0xcbc5,0xcbc6,0xcbc7,0xcbc8,0xcbc9,0xcbca,0xcbcb,0xcbcc,0xcbcd,0xcbce,0xcbcf,0xcbd2,0xcbd4,// 個凱愷愾慨改槪漑疥皆盖箇芥蓋開客
|
||||
0xcbd5,0xcbd6,0xcbd7,0xcbd8,0xcbd9,0xcbdb,0xcbdc,0xcbdd,0xcbde,0xcbdf,0xcbe0,0xcbe2,0xcbe3,0xcbe1,0xcbe5,0xcbe8,// 坑更粳羹醵去居巨拒据據渠炬擧距遽
|
||||
0xcbe7,0x0000,0xcbea,0xcbeb,0xcbec,0xcbed,0xcbee,0xcbef,0xcbf0,0xcbf3,0xcbf4,0xcbf5,0xcbf6,0xcbf7,0xcbf8,0xcbf9,// 車 鋸乾件健巾建愆虔蹇鍵騫乞傑杰
|
||||
0xcbfb,0xcbfc,0xcbfe,0xcca1,0xcca3,0xcca4,0xcca5,0xcca7,0xcca8,0xcca9,0xccaa,0xccab,0xccac,0xccad,0xccaf,0xccb0,// 儉劍檢瞼黔劫怯偈憩揭擊格檄激覡隔
|
||||
0x0000,0xccb1,0xccb7,0xccb2,0xccb3,0xccb4,0xccb5,0xccb6,0xccb8,0xccb9,0xccba,0xccbb,0xccbe,0xccbd,0xccbf,0x0000,// 堅肩牽犬甄絹繭見譴遣鵑潔決結
|
||||
// 0x5140 - 0x51ff
|
||||
0x0000,0xccc0,0xccc1,0xccc2,0xccc3,0xccc4,0x0000,0xccc5,0xccc7,0xccc8,0xcccb,0xcccd,0xccce,0xcccf,0x0000,0xccd1,// 缺訣兼慊箝 謙鎌京傾勁勍卿 境
|
||||
0xccd2,0xccd3,0xccd4,0xccd9,0x0000,0xccd6,0xccd7,0xccd8,0xccda,0xccdb,0x0000,0xccdc,0xccdd,0x0000,0xccdf,0xcce1,// 庚徑慶暻 擎敬景更梗 涇炅 璟瓊
|
||||
0x0000,0xcce2,0xcce3,0xcce4,0xcce5,0xcce6,0xcce7,0xcce8,0xcce9,0xccea,0xcceb,0xccec,0xcced,0xccee,0xccef,0xccf0,// 痙硬磬竟競絅經耕耿脛莖警輕逕鏡
|
||||
0xccf1,0xccf2,0xccf3,0xccf4,0xccf5,0xccf6,0xccf8,0xccf9,0xccfa,0xccfb,0xccfc,0xccfd,0xccfe,0xcda2,0xcda3,0xcda4,// 頃頸驚鯨係啓契季屆悸戒桂械溪界癸
|
||||
0xcda5,0x0000,0xcda6,0xcda7,0xcda8,0xcda9,0xcdaa,0xcdab,0xcdad,0xcdac,0x0000,0xcdae,0xcdb0,0xcdaf,0xcdb1,0xcdb2,// 磎 稽系繫繼計誡階谿 鷄叩古告呱
|
||||
0xcdb3,0xcdb4,0xcdb5,0xcdb7,0xcdb8,0xcdb9,0xcdba,0xcdbb,0xcdbd,0x0000,0xcdbf,0xcdc0,0xcdc1,0xcdcc,0x0000,0xcdc3,// 固姑孤庫拷攷故敲枯 沽痼皐蠱 稿
|
||||
0xcdc2,0xcdc5,0xcdc6,0xcdc7,0xcdc8,0xcdcb,0xcdcd,0x0000,0xcdce,0xcdcf,0xcdd0,0xcdd1,0xcdd2,0xcdd3,0xcdd4,0xcdd5,// 睾考股膏苦藁袴 誥賈辜錮雇顧高鼓
|
||||
0xcdd6,0xcdd7,0xcdd8,0xcdd9,0xcdda,0xcddb,0xcddc,0xcddd,0xcdde,0xcddf,0xcde0,0xcde1,0xcde2,0xcde3,0xcde5,0xcde7,// 哭斛曲梏穀谷鵠困坤崑昆梱棍滾袞汨
|
||||
0xcde8,0xcde9,0xcdea,0xcdeb,0xcdec,0xcded,0xcdee,0xcdef,0xcdf8,0xcdf1,0xcdf0,0xcdf2,0xcdf3,0xcdf4,0x0000,0x0000,// 滑骨供公共功孔工貢恭恐拱控攻
|
||||
0xcdf6,0x0000,0xcdfb,0xcdfc,0xcdfd,0xcdfe,0xcea1,0xcea2,0x0000,0xcea3,0xcea4,0xcea6,0xcea8,0xcea9,0xceaa,0xceab,// 空 寡戈果瓜科菓 誇課過顆廓槨藿
|
||||
0xceac,0x0000,0xcead,0xceae,0xceaf,0xceb0,0xceb1,0xceb2,0xceb6,0xceb3,0xceb4,0x0000,0xceb7,0xceb8,0xceb9,0xceba,// 郭 串冠官寬慣棺瓘款灌 管罐菅觀
|
||||
0xcebb,0xcebc,0xcebd,0x0000,0xcebe,0xcebf,0xcec0,0xcec1,0xcec3,0xcec4,0xcec5,0xcec6,0xcec7,0xcec8,0xceca,0x0000,// 貫關館 刮恝括适光匡壙廣曠洸狂
|
||||
// 0x5240 - 0x52ff
|
||||
0x0000,0xcecb,0xcecc,0xcecd,0xcece,0xcecf,0xced0,0xced1,0xced2,0xced3,0xced4,0xced5,0xced6,0xced7,0xced8,0xced9,// 珖筐胱鑛卦掛罫乖傀塊壞怪愧拐槐
|
||||
0xceda,0xcedb,0xcedc,0xcedd,0xcede,0xcedf,0xcee0,0xcee1,0xcee2,0xcee3,0xcee4,0xcee5,0xcee7,0xcee6,0xcee8,0xcee9,// 魁宏紘肱轟交僑咬喬嬌嶠巧敎攪校橋
|
||||
0xceea,0xceeb,0xceec,0xceed,0xceee,0xceef,0xcef0,0xcef1,0xcef2,0xcef3,0xcef4,0x0000,0xcef5,0xcef6,0xcef7,0xcef8,// 狡皎矯絞翹膠蕎蛟較轎郊 餃驕鮫丘
|
||||
0xcef9,0xcefa,0xcefb,0x0000,0xcefc,0x0000,0xcefd,0xcefe,0xcfa1,0xcfa2,0xcfa3,0xcfa4,0xcfa5,0xcfa7,0x0000,0x0000,// 久九仇 俱 具勾區口句咎嘔垢
|
||||
0xcfa8,0xcfa9,0xcfaa,0xcfab,0xcfac,0xcfad,0x0000,0xcfae,0xcfaf,0xcfb0,0xcfb1,0xcfb2,0xcfb3,0xcfb4,0xcfb5,0xcfb6,// 寇嶇廐懼拘救 枸柩構歐毆毬求溝灸
|
||||
0xcfb7,0xcfb8,0xcfb9,0x0000,0xcfba,0xcfbb,0xcfbc,0xcfbd,0xcfc5,0xcfbf,0xcfc0,0xcfc1,0xcfc2,0xcfc3,0x0000,0xcfc4,// 狗玖球 瞿矩究絿購臼舅舊苟衢 謳
|
||||
0xcfc6,0xcfc7,0xcfc8,0xcfc9,0x0000,0xcfcb,0xcfcc,0xcfcd,0xcfce,0xcfcf,0xcfd0,0xcfd1,0x0000,0xcfd2,0xcfd3,0xcfd5,// 軀逑邱鉤 駒驅鳩鷗龜國局 菊鞠麴
|
||||
0xcfd7,0xcfd8,0xcfda,0xcfd6,0xcfdb,0xcfdc,0xcfdd,0xcfde,0xcfdf,0xcfe0,0xcfe1,0xcfe2,0xcfe3,0xcfe5,0xcfe6,0xcfe7,// 窘群軍君郡堀屈掘窟宮弓穹窮躬倦券
|
||||
0xcfe8,0xcfe9,0xcfea,0xcfeb,0xcfed,0xcfef,0xcff0,0xcff3,0xcff4,0xcff5,0xcff6,0xcff7,0xcff8,0x0000,0xcff9,0xcffa,// 勸卷圈拳權眷厥蹶闕机櫃潰詭 軌饋
|
||||
0xcffd,0xcffe,0xd0a1,0xd0a2,0xd0a3,0xd0a4,0xd0a5,0xd0a6,0xd0a8,0xd0a9,0xd0aa,0xd0ad,0xd0ac,0xd0ae,0xd0af,0xd0b0,// 歸貴鬼龜叫圭奎揆珪硅窺葵糾規赳逵
|
||||
0xd0b1,0xd0b3,0xd0b5,0xd0b6,0xd0b7,0xd0b8,0xd0b9,0xd0ba,0xd0bb,0xd0bc,0xd0bd,0xd0bf,0xd0be,0xd0c0,0xd0c1,0xd0c3,// 閨均筠菌鈞龜橘克剋劇戟極棘隙僅勤
|
||||
0x0000,0xd0c4,0xd0c5,0xd0c6,0xd0c7,0x0000,0xd0c8,0xd0c9,0xd0ca,0xd0cb,0xd0cc,0xd0cd,0xd0ce,0xd0cf,0xd0d0,0x0000,// 懃斤根槿 瑾筋芹菫覲謹近饉契
|
||||
// 0x5340 - 0x53ff
|
||||
0x0000,0xd0d1,0xd0d3,0xd0d5,0xd0d6,0xd0d7,0xd0d8,0xd0db,0xd0da,0xd0dc,0xd0dd,0xd0de,0xd0e0,0x0000,0xd0e1,0xd0e2,// 今擒檎琴禁禽衿衾襟金錦及 急扱
|
||||
0xd0e3,0x0000,0xd0e4,0xd0e5,0xd0e6,0xd0e7,0xd0e8,0xd0e9,0xd0ea,0xd0eb,0xd0ec,0xd0ed,0xd0ee,0xd0ef,0xd0f0,0xd0f1,// 汲 級給亘兢矜肯企伎其冀嗜器圻基
|
||||
0xd0f3,0xd0f4,0xd0f5,0xd0f6,0xd0f7,0xd1c2,0xd0f8,0xd0fa,0xd0f9,0xd0fb,0xd0fc,0xd0fd,0xd0fe,0xd1a2,0xd1a3,0xd1a4,// 夔奇妓寄岐豈崎幾己忌技旗旣期杞棋
|
||||
0xd1a5,0xd1a6,0xd1a7,0xd1a8,0xd1a9,0xd1aa,0xd1ab,0xd1ad,0xd1ae,0xd1b0,0xd1b1,0xd1b2,0xd1b3,0xd1b4,0xd1b6,0xd1b7,// 棄機欺氣汽沂淇琦琪璣畸畿碁磯祇祈
|
||||
0xd1b8,0xd1b9,0xd1ba,0xd1bb,0x0000,0xd1bd,0xd1be,0xd1bf,0xd1a1,0xd1c0,0xd1c1,0xd1c3,0xd1c4,0xd1c6,0xd1c7,0xd1c8,// 祺箕紀綺 耆耭肌朞記譏起錡飢饑騎
|
||||
0xd1c9,0xd1ca,0x0000,0xd1cb,0xd1cc,0xd1cd,0xd1ce,0xd1cf,0xd1d0,0xd1d1,0x0000,0xd1d2,0xd1d3,0xd1d7,0xd1d9,0xd1da,// 騏驥 麒緊佶吉拮桔金 喫儺懦拏拿
|
||||
0x0000,0xd1e1,0xd1e7,0xd1ec,0xd1ee,0xd1f1,0xd1f4,0xd1f3,0xd1f5,0x0000,0xd1fb,0xd2a1,0xd2a5,0xd2a6,0x0000,0xd2ac,// 那諾暖煖難捺捏南 男納囊娘 乃
|
||||
0xd2ae,0xd2af,0xd2b0,0xd2b1,0x0000,0xd2b3,0xd2b4,0xd2b6,0xd2b7,0xd2b8,0xd2b9,0xd2ba,0x0000,0xd2bb,0x0000,0xd2bd,// 內奈柰耐 女年秊念恬拈捻 寧 努
|
||||
0xd2bf,0x0000,0xd2c0,0xd2c1,0xd2c5,0xd2d8,0xd2db,0xd2dc,0xd2dd,0xd2e0,0xd2e3,0x0000,0xd2ec,0xd2ed,0xd2ef,0xd2f6,// 奴 弩怒瑙濃膿農惱腦尿 嫩訥紐能
|
||||
0xd2f9,0xd2fa,0xd2fb,0xd2fc,0xd2fd,0xd2fe,0xd3a1,0xd3a3,0xd3a4,0xd3a5,0xd3a6,0xd3a8,0xd3a9,0xd3aa,0xd3ab,0xd3ac,// 尼泥匿溺多茶丹但單團壇斷旦檀段湍
|
||||
0xd3ad,0xd3ae,0xd3af,0xd3b0,0xd3b1,0xd3b2,0xd3b3,0xd3b4,0x0000,0x0000,0xd3b5,0xd3b7,0xd3b8,0xd3b9,0x0000,0x0000,// 短端簞緞蛋袒鄲鍛 撻獺疸達
|
||||
0xd3ba,0xd3bd,0xd3be,0xd3bf,0xd3c1,0xd3c2,0xd3c3,0xd3c4,0xd3c5,0xd3c7,0xd3c8,0xd3c9,0xd3cb,0xd3cd,0xd3ce,0x0000,// 啖擔曇淡潭澹痰聃膽覃談譚沓答踏
|
||||
// 0x5440 - 0x54ff
|
||||
0x0000,0xd3cf,0x0000,0xd3d1,0xd3d2,0xd3d3,0xd3d0,0xd3d5,0xd3d6,0xd3d7,0xd3d8,0x0000,0xd3da,0xd3db,0xd3dc,0xd3de,// 遝 堂塘幢唐撞棠當糖 黨代垈大
|
||||
0xd3df,0xd3e0,0xd3e1,0xd3e2,0xd3e3,0xd3e4,0xd3e5,0x0000,0xd3e6,0xd3e7,0xd3e8,0xd3e9,0xd3ea,0xd3eb,0xd3ec,0xd3ed,// 對岱帶待戴擡玳 臺袋貸隊黛宅德悳
|
||||
0xd3ee,0xd3ef,0xd3f0,0xd3f1,0xd3f2,0xd3f3,0xd3f4,0xd3f5,0xd3f6,0xd3f8,0xd3f9,0xd3fa,0xd3fb,0xd3fd,0xd3fe,0xd4a1,// 倒刀到圖堵塗導屠島度徒悼挑搗桃棹
|
||||
0xd4a3,0xd4a4,0xd4a5,0xd4a6,0xd4a7,0xd4a8,0xd4a9,0xd4aa,0xd4ab,0xd4ac,0x0000,0xd4ae,0xd4af,0xd4b0,0xd4b1,0xd4b2,// 淘渡滔濤燾盜睹禱稻萄 賭跳蹈逃途
|
||||
0xd4b3,0xd4b4,0xd4b5,0xd4b6,0xd4b7,0xd4b8,0xd4b9,0xd4ba,0xd4bb,0xd4bc,0xd4bd,0xd4be,0xd4bf,0xd4c0,0xd4c1,0xd4c2,// 道都鍍陶韜毒瀆牘犢獨督禿篤纛讀墩
|
||||
0xd4c3,0xd4c4,0xd4c6,0xd4c7,0xd4c9,0xd4ca,0xd4cb,0x0000,0xd4cc,0xd4cd,0xd4ce,0xd4cf,0xd4d0,0xd4d1,0xd4d2,0x0000,// 惇敦暾沌燉豚頓 乭突仝冬凍動同
|
||||
0xd4d3,0xd4d4,0xd4d5,0xd4d6,0xd4d7,0xd4d8,0xd4db,0xd4d9,0xd4da,0xd4dd,0xd4dc,0xd4de,0xd4df,0xd4e0,0xd4e1,0xd4e2,// 憧東桐棟洞潼童疼瞳董胴銅兜斗杜枓
|
||||
0xd4e3,0xd4e4,0xd4e5,0x0000,0x0000,0xd4e6,0xd4e7,0xd4e9,0xd4ea,0xd4eb,0xd4ed,0xd4ee,0xd4ef,0xd4f0,0xd4f2,0x0000,// 痘竇荳 讀豆頭屯臀遁遯鈍得橙
|
||||
0x0000,0xd4f3,0xd4f4,0xd4f5,0xd4f6,0xd4f7,0xd4f8,0x0000,0xd4f9,0xd4fa,0xd4fb,0xd4fd,0xd4fe,0xd5a1,0xd5a2,0xd5a3,// 燈登等藤謄鄧 騰喇懶癩羅蘿螺裸
|
||||
0xd5a4,0xd5a5,0xd5a6,0xd5a7,0x0000,0xd5a8,0xd5a9,0xd5aa,0xd5ac,0xd5ad,0xd5af,0xd5b0,0x0000,0xd5b1,0xd5b2,0xd5b3,// 邏樂洛烙 珞絡落酪駱亂卵 欄欒瀾
|
||||
0xd5b4,0xd5b5,0xd5b6,0xd5b7,0x0000,0xd5b8,0xd5b9,0xd5ba,0xd5bb,0xd5bc,0xd5bd,0xd5be,0xd5bf,0xd5c0,0xd5c1,0xd5c2,// 爛蘭鸞剌 辣嵐擥攬欖濫籃纜藍襤覽
|
||||
0xd5c3,0xd5c4,0xd5c5,0xd5c6,0xd5c7,0x0000,0xd5c8,0xd5c9,0xd5ca,0xd5cb,0xd5cc,0xd5cd,0xd5ce,0xd5d1,0xd5d2,0x0000,// 拉臘蠟廊朗 浪狼琅瑯螂郞來萊冷
|
||||
// 0x5540 - 0x55ff
|
||||
0x0000,0xd5d3,0xd5d4,0xd5d5,0xd5d7,0xd5d6,0xd5d8,0xd5d9,0x0000,0xd5da,0xd5db,0xd5dc,0xd5dd,0xd5de,0xd5df,0xd5e0,// 掠略亮兩倆凉梁 樑粮粱糧良諒輛
|
||||
0xd5e1,0x0000,0xd5e2,0xd5e4,0xd5e5,0xd5e6,0xd5e8,0xd5e9,0xd5ea,0xd5eb,0x0000,0xd5ec,0x0000,0xd5ed,0xd5e7,0xd5ee,// 量 侶勵呂廬戾旅櫚濾 礪 藜慮蠣
|
||||
0x0000,0x0000,0xd5ef,0xd5f0,0xd5f1,0xd5f2,0xd5f3,0xd5f4,0xd5f6,0xd5f5,0x0000,0xd5f7,0xd5f8,0xd5f9,0xd5fa,0xd5fb,// 閭驢驪麗黎力歷曆 瀝礫轢靂憐
|
||||
0xd5fc,0xd5fd,0xd5fe,0xd6a1,0xd6a3,0xd6a4,0xd6a5,0xd6a6,0xd6a7,0xd6a8,0xd6a9,0xd6ab,0xd6aa,0xd6ac,0xd6ad,0xd6ae,// 戀攣漣煉練聯蓮輦連鍊冽劣列洌烈裂
|
||||
0xd6af,0xd6b0,0xd6b1,0xd6b2,0xd6b3,0xd6b4,0x0000,0xd6b5,0xd6b6,0xd6b7,0xd6ba,0xd6bb,0x0000,0x0000,0xd6bc,0xd6be,// 廉斂殮濂簾獵 令伶囹嶺怜 玲羚
|
||||
0xd6bf,0x0000,0x0000,0xd6c1,0xd6c3,0xd6c4,0xd6c2,0xd6c5,0xd6c6,0xd6c7,0xd6c9,0xd6ca,0xd6cb,0xd6cc,0xd6ce,0xd6d0,// 翎 逞零靈鈴領齡例禮醴隷勞撈櫓
|
||||
0x0000,0xd6d3,0xd6d2,0xd6d4,0xd6d5,0x0000,0xd6d6,0xd6d7,0xd6d8,0xd6d9,0x0000,0xd6da,0xd6db,0xd6dc,0xd6dd,0x0000,// 爐瀘盧老 蘆虜路輅 露魯鷺鹵
|
||||
0xd6de,0x0000,0xd6e0,0x0000,0xd6e2,0xd6e4,0xd6e3,0xd6e5,0xd6e6,0xd6e7,0xd6e8,0xd6e9,0xd6ea,0xd6eb,0xd6ec,0xd6ed,// 碌 綠 錄麓鹿論壟弄朧瀧瓏籠聾儡
|
||||
0xd6ef,0xd6f0,0x0000,0x0000,0x0000,0xd6f3,0xd6f1,0xd6f4,0xd6f5,0xd6f6,0x0000,0xd6f7,0xd6f8,0xd6fa,0xd6fb,0xd6fc,// 牢磊 賴賂雷了僚 寮廖燎療瞭
|
||||
0xd6f9,0xd6fd,0xd6fe,0xd7a1,0xd7a3,0x0000,0xd7a4,0xd7a6,0xd7a7,0xd7a8,0xd7a9,0xd7ab,0xd7ac,0xd7ae,0xd7b0,0x0000,// 料聊蓼遼龍 壘屢樓淚漏累縷褸陋
|
||||
0xd7b1,0xd7b3,0xd7b4,0xd7b5,0xd7b6,0xd7b8,0xd7b9,0xd7ba,0xd7bb,0xd7bc,0xd7bd,0xd7be,0xd7bf,0xd7c0,0xd7c1,0xd7c3,// 劉柳榴流溜琉瑠留瘤硫謬類六戮陸倫
|
||||
0xd7c4,0xd7c5,0xd7c6,0xd7c7,0xd7c8,0xd7c9,0xd7ca,0xd7cb,0x0000,0xd7cc,0xd7ce,0xd7cd,0x0000,0x0000,0xd7d0,0x0000,// 崙淪綸輪律慄栗率 隆肋勒 凌
|
||||
// 0x5640 - 0x56ff
|
||||
0x0000,0xd7d1,0xd7d2,0xd7d3,0xd7d4,0xd7d5,0xd7d6,0xd7d7,0xd7d8,0xd7d9,0xd7db,0xd7dc,0x0000,0xd7dd,0xd7de,0x0000,// 楞稜綾菱陵俚利厘吏履悧 李梨
|
||||
0xd7e0,0xd7e1,0xd7e2,0xd7e3,0xd7e5,0x0000,0xd7e7,0xd7e6,0x0000,0xd7ea,0xd7ec,0xd7ed,0xd7ee,0x0000,0xd7ef,0xd7f0,// 犁狸理璃痢 罹籬 裏里釐離 鯉吝
|
||||
0xd7f2,0xd7f3,0xd7f4,0xd7f5,0xd7f6,0xd7f7,0xd7f8,0xd7f9,0xd7fa,0xd7fb,0x0000,0xd7fc,0xd7fd,0x0000,0xd7fe,0xd8a1,// 燐璘藺躪隣鱗麟林淋琳 臨霖 砬立
|
||||
0xd8a2,0xd8a3,0x0000,0xd8a4,0xd8a5,0xd8a6,0xd8a8,0x0000,0xd8a9,0xd8aa,0xd8ab,0xd8ac,0xd8ad,0xd8ae,0xd8af,0xd8b0,// 笠粒 摩瑪痲磨 馬魔麻寞幕漠膜莫
|
||||
0xd8b4,0xd8b5,0xd8b6,0xd8b7,0xd8b8,0xd8b9,0xd8ba,0xd8bb,0xd8bc,0xd8bd,0xd8be,0xd8bf,0xd8c0,0xd8c1,0x0000,0xd8c2,// 娩巒彎慢挽晩曼滿漫灣瞞萬蔓蠻 輓
|
||||
0x0000,0xd8c3,0x0000,0xd8c4,0xd8c6,0xd8c7,0xd8c8,0xd8ca,0xd8cb,0xd8cc,0xd8cd,0xd8ce,0xd8cf,0xd8d0,0xd8d1,0xd8d2,// 饅 鰻抹末沫襪靺亡妄忘忙望網罔
|
||||
0xd8d3,0xd8d4,0xd8d5,0xd8d7,0x0000,0xd8d8,0xd8d9,0xd8da,0xd8db,0xd8dc,0xd8dd,0xd8de,0xd8df,0xd8e0,0x0000,0xd8e1,// 芒茫莽邙 埋妹媒寐昧枚梅每煤 罵
|
||||
0x0000,0xd8e2,0xd8e3,0xd8e4,0xd8e5,0xd8e6,0x0000,0xd8e7,0xd8e8,0xd8e9,0xd8ea,0xd8eb,0xd8ec,0xd8ed,0xd8ef,0xd8ee,// 買賣邁魅脈 貊陌驀麥孟氓猛盟盲
|
||||
0xd8f0,0xd8f1,0xd8f2,0x0000,0xd8f3,0xd8f5,0xd8f4,0xd8f6,0xd8f8,0xd8f9,0xd8fa,0xd8fb,0xd8fc,0xd8fd,0xd8fe,0xd9a1,// 萌冪覓 免勉冕棉眄眠綿緬面麵滅蔑
|
||||
0xd9a4,0xd9a2,0xd9a3,0xd9b0,0xd9a5,0xd9a6,0xd9a8,0xd9a9,0xd9ab,0xd9ad,0xd9ae,0xd9af,0xd9b1,0xd9b2,0xd9b4,0xd9b6,// 命冥名鳴明暝溟皿茗螟酩銘袂侮募帽
|
||||
0xd9b5,0xd9b7,0xd9b8,0xd9ba,0xd9b3,0xd9bb,0xd9bc,0xd9bd,0xd9be,0xd9bf,0xd9c0,0xd9c2,0xd9c3,0x0000,0xd9c4,0xd9c6,// 姆慕摸暮冒某模母毛牟牡眸矛 耗茅
|
||||
0xd9c7,0xd9c8,0xd9c9,0x0000,0xd9ca,0xd9cb,0xd9cc,0xd9cd,0xd9ce,0xd9cf,0xd9d1,0xd9d2,0xd9d3,0xd9d4,0x0000,0x0000,// 謀謨貌 木沐牧目睦穆歿沒夢朦
|
||||
// 0x5740 - 0x57ff
|
||||
0x0000,0x0000,0xd9d5,0xd9d6,0xd9d7,0xd9d8,0xd9d9,0xd9da,0xd9db,0xd9dc,0xd9dd,0xd9de,0xd9e0,0xd9e1,0xd9e2,0xd9e3,// 蒙卯墓妙廟描昴杳渺猫苗錨務巫
|
||||
0xd9e5,0xd9e6,0xd9e7,0xd9e8,0xd9e9,0xd9eb,0xd9ec,0xd9ed,0xd9ef,0xd9f0,0xd9f1,0xd9f2,0xd9f3,0xd9f4,0xd9f5,0xd9f6,// 懋戊拇撫无武毋無畝繆舞茂蕪誣貿霧
|
||||
0xd9f7,0xd9f8,0xd9f9,0xd9fb,0xd9fc,0xd9fe,0xdaa1,0xdaa3,0xdaa2,0xdaa5,0xdaa6,0xd9fd,0xdaa4,0xdaa8,0xdaaa,0xdaab,// 鵡墨默刎吻文汶紋紊蚊門問聞勿物味
|
||||
0xdaac,0xdaad,0xdaae,0xdabc,0xdaaf,0xdab0,0xdab1,0xdab4,0x0000,0xdab6,0xdab7,0x0000,0xdab8,0xdab9,0xdaba,0xdabb,// 媚尾嵋靡彌微未渼 眉米 美薇謎迷
|
||||
0xdabf,0xdac0,0xdac1,0xdac2,0xdac4,0xdac3,0xdac5,0xdac6,0xdac7,0xdac8,0xdaca,0x0000,0xdacb,0xdacc,0xdacd,0x0000,// 悶愍憫敏旼旻民泯玟珉閔 密蜜謐
|
||||
0xdace,0xdacf,0xdad0,0xdad1,0xdad2,0xdad3,0xdad4,0x0000,0xdad5,0x0000,0xdad6,0xdad7,0xdad8,0xdada,0xdad9,0xdadb,// 剝博拍搏撲朴樸 泊 珀璞箔縛粕膊
|
||||
0xdadc,0xdadd,0xdade,0xdadf,0xdae0,0xdae1,0xdae2,0xdae3,0xdae4,0xdae5,0xdae6,0xdae7,0xdae8,0xdae9,0xdaeb,0xdaea,// 舶薄迫雹駁伴半反叛拌搬攀斑槃潘泮
|
||||
0xdaec,0xdaed,0xdaef,0xdaf2,0xdaf3,0xdaf4,0x0000,0xdaf6,0xdaf5,0xdaf7,0xdaf8,0xdaf9,0xdafa,0xdafb,0xdafe,0xdafc,// 班畔盤磻礬絆 蟠般返頒飯勃拔潑撥
|
||||
0xdba1,0xdba2,0xdba3,0xdba4,0xdba5,0xdba6,0xdba7,0xdba8,0xdba9,0xdbaa,0xdbab,0xdbac,0xdbad,0xdbae,0xdbaf,0xdbb0,// 發跋醱鉢髮魃倣傍坊妨尨幇彷房放方
|
||||
0xdbb1,0xdbb2,0xdbb4,0xdbb7,0xdbb8,0xdbb9,0xdbba,0xdbbb,0xdbbc,0xdbbd,0xdbbe,0xdbbf,0xdbc0,0xdbc1,0x0000,0x0000,// 旁昉榜紡肪膀舫芳蒡蚌訪謗邦防
|
||||
0xdbc2,0xdbc4,0xdbc3,0xdbc5,0xdbc6,0xdbc7,0xdbc8,0xdbc9,0xdbca,0xdbcb,0xdbcd,0xdbcf,0xdbce,0xdbd1,0xdbd0,0xdbd2,// 龐俳倍北培徘拜排杯湃盃胚背裵裴褙
|
||||
0xdbd3,0xdbd4,0xdbd5,0xdbd6,0xdbd7,0xdbd8,0xdbd9,0xdbda,0xdbdb,0xdbdc,0xdbdd,0xdbde,0xdbe0,0x0000,0xdbe1,0x0000,// 賠輩配陪伯佰帛柏栢白百魄樊 煩
|
||||
// 0x5840 - 0x58ff
|
||||
0x0000,0xdbe3,0xdbe4,0xdbe5,0x0000,0xdbe6,0xdbe7,0xdbe8,0xdbe9,0xdbea,0xdbeb,0xdbec,0xdbed,0xdbee,0xdbef,0xdbf0,// 番磻繁 蕃藩飜伐筏罰閥凡帆梵氾
|
||||
0xdbf1,0xdbf2,0xdbf3,0xdbf4,0xdbf5,0xdbf6,0xdbf7,0xdbf8,0xdbf9,0xdbfa,0xdbfb,0xdbfd,0xdbfe,0xdca1,0x0000,0xdca3,// 汎泛犯範范法琺僻劈壁擘璧癖碧 闢
|
||||
0xdca4,0xdca5,0xdca6,0xdca7,0x0000,0x0000,0xdca8,0xdca9,0xdcaa,0x0000,0xdcab,0x0000,0xdcac,0x0000,0xdcad,0xdcae,// 霹便卞弁 變辨辯 邊 別 瞥鱉
|
||||
0xdcaf,0xdcb0,0xdcb1,0xdcb2,0xdcb3,0xdcb4,0xdcb5,0xdcb6,0xdcb7,0xdcb9,0xdcba,0xdcbb,0xdcbd,0xdcbc,0xdcbe,0x0000,// 鼈丙倂兵屛幷昞昺柄炳甁病竝秉輧
|
||||
0xdcbf,0xdcc1,0xdcc2,0xdcc3,0xdcc4,0xdcc5,0xdcc6,0xdcc8,0xdcc7,0xdcc9,0xdccb,0xdccd,0xdcce,0xdccf,0xdcd0,0x0000,// 餠保堡報寶普步湺洑潽甫補褓譜輔
|
||||
0x0000,0xdcd1,0xdcd2,0xdcd3,0xdcd4,0xdcd5,0xdcd6,0xdcd8,0xdcd7,0xdcd9,0xdcda,0xdcdb,0xdcdd,0x0000,0xdcdc,0xdcdf,// 伏僕匐卜宓復福服腹茯蔔覆 複輻
|
||||
0xdce0,0xdce1,0xdce2,0xdce3,0x0000,0xdce4,0xdce5,0xdce6,0xdce8,0xdce7,0xdce9,0xdced,0xdcea,0xdceb,0xdcee,0x0000,// 馥鰒本乶 俸奉封峰峯捧琫棒烽縫
|
||||
0xdcef,0xdcf0,0xdcf1,0xdcf2,0xdcf3,0x0000,0xdcf5,0xdcf7,0xdcf8,0xdcf9,0xdcfa,0xdcfc,0xdcfd,0xdcfe,0xdda2,0xdda3,// 蓬蜂逢鋒鳳 付傅剖副否埠夫婦孵富
|
||||
0xdda4,0xdda5,0xdda6,0xdda7,0xdda8,0xdda9,0xddaa,0xddab,0xddad,0xddae,0xddac,0x0000,0xddb0,0xddaf,0xddb1,0xddb3,// 府復扶敷斧浮溥父簿缶符 腑腐膚芙
|
||||
0x0000,0x0000,0xddb5,0xddb6,0xddb7,0xddb8,0xddb9,0xddba,0xddbb,0xddbc,0xddbd,0xddbe,0x0000,0xddbf,0x0000,0xddc0,// 訃負賦賻赴趺部釜阜附 駙 鳧
|
||||
0xddc1,0xddc2,0xddc4,0x0000,0xddc5,0xddc6,0xddc7,0xddc8,0xddc9,0xddca,0xddcc,0xddcd,0xddce,0xddcf,0xddd0,0xddd1,// 北分噴 墳奔奮忿憤扮汾焚盆粉糞紛
|
||||
0xddd2,0x0000,0xddd4,0xddd5,0xddd6,0x0000,0xddd7,0xddd9,0x0000,0x0000,0xddda,0xdddb,0xdddc,0xdddd,0xddde,0x0000,// 芬 雰不佛 弗拂 崩朋棚硼繃
|
||||
// 0x5940 - 0x59ff
|
||||
0x0000,0xdddf,0xdde0,0xdde1,0xdde2,0xdde3,0xdde4,0xdde5,0x0000,0xdde6,0xdde7,0xdde8,0xdde9,0xddea,0xddeb,0xddec,// 鵬丕備匕匪卑妃 婢庇悲憊扉批斐
|
||||
0x0000,0xddee,0x0000,0xddf4,0xddf3,0xddef,0xddf2,0xddf5,0xddf6,0x0000,0xddf7,0xddf8,0xddfa,0x0000,0xddfc,0xddfd,// 榧 泌沸比毘琵痺 砒碑秘 緋翡
|
||||
0xddfe,0x0000,0xdea1,0xdea2,0xdea3,0xdea4,0xdea5,0xdea6,0xdea7,0xdea8,0x0000,0xdea9,0xdeaa,0xdeab,0x0000,0xdeac,// 肥 脾臂菲蜚裨誹譬費 鄙非飛 鼻
|
||||
0xdeae,0xdeb9,0xdeaf,0x0000,0xdeb0,0xdeb1,0xdeb2,0xdeb4,0xdeb5,0xdeb6,0x0000,0xdeb8,0x0000,0xdeba,0x0000,0x0000,// 嬪賓彬 斌檳殯濱瀕牝 貧 頻
|
||||
0xdebb,0xdebc,0xdebd,0xdebe,0xdebf,0xdec0,0xdec1,0xdec2,0xdec4,0xdec3,0xdeec,0xdec5,0xdec7,0xdec8,0xdec9,0xdecc,// 憑氷聘騁乍事些仕似伺舍使僿史司四
|
||||
0xdeca,0xdecb,0xdecd,0xdece,0x0000,0xdecf,0xded0,0xded1,0xded3,0xded4,0x0000,0xded5,0xded6,0xded7,0xdef5,0xded9,// 唆嗣士奢 娑寫寺巳師 徙思捨赦斯
|
||||
0xded8,0xdedb,0xdedc,0x0000,0x0000,0xdede,0xdedf,0xdee0,0xdee1,0xdef7,0xdee2,0xdee5,0xdee4,0xdee6,0xdedd,0xdee3,// 斜査梭 沙泗渣瀉邪獅祀社祠死砂
|
||||
0xdee7,0x0000,0xdee8,0xdeee,0xdee9,0xdeea,0xdeed,0xdeef,0xdef0,0xdef1,0xdef2,0xdef3,0xdef4,0xded2,0xdef6,0xdeeb,// 私 篩蓑紗絲莎蛇裟詐詞謝賜射辭肆
|
||||
0xdef8,0xdef9,0xdefb,0xdefc,0x0000,0xdefd,0xdefe,0x0000,0xdfa1,0xdfa2,0xdfa3,0xdfa4,0xdfa5,0xdfa6,0xdfa7,0xdfa8,// 飼駟削數 朔索 傘刪山散汕珊産疝
|
||||
0xdfa9,0xdfaa,0xdfab,0xdfae,0xdfaf,0xdfad,0xdfb1,0xdfb2,0xdfb3,0xdfb4,0xdfb5,0xdfb6,0xdfb9,0xdfb7,0xdfb8,0x0000,// 算蒜酸撒殺乷薩三參杉森渗衫芟蔘
|
||||
0xdfba,0xdfbb,0xdfbd,0x0000,0x0000,0xdfbe,0xdfbf,0xdfc0,0xdfc1,0xdfc2,0xdfc3,0xdfc4,0xdfd0,0xdfc5,0xdfc6,0xdfc9,// 揷澁颯 上傷像償商喪嘗爽孀尙床
|
||||
0xdfca,0xdfcb,0xdfc8,0xdfcc,0xdfd3,0xdfcd,0xdfce,0x0000,0xdfcf,0xdfd2,0xdfd1,0xdfd4,0xdfd5,0xdfd6,0xdfd7,0x0000,// 庠廂常想相桑橡 湘狀牀祥箱翔裳
|
||||
// 0x5a40 - 0x5aff
|
||||
0x0000,0xdfd8,0xdfda,0xdfdb,0xdfd9,0xdfdc,0xdfdd,0xdfde,0xdfdf,0x0000,0xdfe1,0xdfe2,0xdfe3,0xdfe4,0xdfe5,0xdfe6,// 觴象賞詳霜塞璽賽 塞穡索色牲生
|
||||
0xdfe7,0xdfe8,0xdfe9,0x0000,0xdfeb,0xdfea,0x0000,0xdff9,0xdfec,0xdfed,0xdfee,0xdfef,0xdff0,0xdff1,0xdff3,0xdff4,// 甥省笙 壻墅 犀嶼序庶徐恕抒敍暑
|
||||
0xdff5,0xdff6,0xdff7,0xdff8,0xdffa,0xdffc,0xdffd,0xdffe,0xe0a1,0xe0a2,0xe0a3,0xe0a4,0xe0a5,0xe0a7,0xe0a6,0xe0a8,// 曙書栖棲瑞絮緖署胥舒薯西誓鋤逝黍
|
||||
0x0000,0xe0a9,0xe0aa,0xe0ab,0x0000,0xe0ac,0xe0ad,0xe0ae,0xe0af,0xe0b0,0xe0b1,0xe0b2,0xe0b3,0xe0b4,0xe0b5,0xe0b6,// 鼠夕奭 席惜昔晳析汐淅潟石碩蓆
|
||||
0xe0b7,0xe0b8,0xe0bb,0xe0b9,0xe0ba,0x0000,0xe0bc,0xe0be,0x0000,0x0000,0xe0bf,0xe0c1,0x0000,0xe0c3,0x0000,0xe0c9,// 釋錫先仙僊 善宣 扇旋 煽 禪
|
||||
0xe0c5,0xe0c6,0xe0c7,0xe0c8,0xe0ca,0xe0cb,0xe0cc,0xe0cd,0xe0ce,0xe0cf,0xe0d0,0xe0d1,0xe0d2,0xe0d3,0xe0d4,0xe0d5,// 瑄璇璿癬線繕羨腺膳船蘚蟬詵跣選銑
|
||||
0x0000,0xe0d8,0x0000,0xe0d9,0xe0df,0x0000,0xe0da,0x0000,0xe0db,0xe0dd,0xe0de,0xe0e0,0xe0e2,0xe0e3,0xe0e4,0xe0e8,// 鮮 卨舌 屑 楔洩渫薛設說雪殲
|
||||
0xe0e9,0xe0ea,0xe0eb,0xe0e7,0xe0ec,0xe0f0,0xe0ee,0xe0ef,0xe0f1,0xe0f2,0xe0f3,0xe0f5,0xe0f6,0xe0f7,0xe0f8,0xe0f9,// 纖蟾贍暹閃燮攝涉葉城姓性惺成星晟
|
||||
0xe0fa,0xe0fc,0xe0fd,0xe0fe,0xe1a1,0xe1a2,0xe1a3,0xe1a4,0xe1a5,0xe1a6,0xe1a7,0xe1a8,0xe1a9,0xe1aa,0xe1ab,0xe1ac,// 猩盛省筬聖聲腥誠醒世勢歲洗稅笹細
|
||||
0xe1ad,0xe1ae,0xe1af,0xe1b0,0xe1b1,0xe1b3,0xe1b4,0xe1b2,0xe1b5,0xe1b7,0xe1b8,0xe1b6,0xe1b9,0xe1ba,0xe1bb,0xe1bc,// 說貰召嘯塑小少宵巢掃搔所昭梳沼消
|
||||
0xe1bd,0xe1be,0xe1bf,0xe1c0,0xe1c1,0xe1c3,0xe1c2,0xe1c5,0xe1c7,0xe1c8,0xe1c9,0x0000,0xe1ca,0xe1cb,0xe1cc,0xe1cd,// 溯瀟炤燒甦疎疏笑簫素紹 蔬蕭蘇訴
|
||||
0xe1ce,0xe1cf,0xe1d0,0xe1d1,0x0000,0xe1d2,0xe1d3,0xe1d4,0xe1d5,0xe1d6,0xe1d8,0xe1d9,0xe1dc,0xe1dd,0xe1df,0x0000,// 逍遡邵銷 韶騷俗屬束粟續速孫損
|
||||
// 0x5b40 - 0x5bff
|
||||
0x0000,0xe1e1,0xe1e3,0x0000,0xe1e4,0xe1e6,0xe1e8,0xe1e9,0xe1ea,0xe1eb,0xe1ec,0xe1ed,0xe1ee,0x0000,0xe1ef,0xe1f0,// 遜率 宋松訟誦送頌刷殺灑 碎鎖
|
||||
0xe1f1,0xe1f2,0xe1f3,0xe1f4,0x0000,0xe1f6,0xe1f5,0xe1f7,0xe1f8,0xe1f9,0xe1fa,0x0000,0xe1fb,0xe1fd,0xe2a1,0xe1fe,// 衰釗修受 囚嗽垂壽嫂守 岫帥戍愁
|
||||
0xe2a2,0xe2a3,0xe2a4,0xe2a5,0xe2a6,0x0000,0xe2a7,0xe2a8,0xe2ac,0xe2a9,0xe2aa,0x0000,0xe2ab,0xe2ad,0xe2ae,0x0000,// 手授搜收數 樹殊燧水洙 漱狩獸
|
||||
0xe2b1,0xe2b2,0x0000,0xe2b3,0xe2b4,0xe2b5,0xe2b6,0xe2b7,0xe2b8,0xe2b9,0xe2ba,0xe2bb,0xe2bc,0xe2bd,0xe2be,0xe2bf,// 瘦睡 秀穗竪粹綏綬繡羞脩茱蒐蓚藪
|
||||
0xe2c0,0xe2c1,0xe2c3,0xe2c4,0xe2c5,0xe2c6,0xe2c7,0xe2c8,0xe2c9,0xe2cb,0xe2cc,0xe2cd,0xe2ce,0xe2cf,0xe2d0,0xe2d1,// 袖誰輸遂邃酬銖銹隋隨雖需須首髓鬚
|
||||
0xe2d2,0xe2d3,0xe2d4,0xe2d5,0xe2d6,0xe2d7,0xe2d9,0xe2dc,0xe2dd,0xe2e0,0xe2e1,0xe2e2,0xe2e4,0xe2e6,0xe2e7,0xe2e8,// 叔塾夙孰宿淑熟肅菽循恂旬楯殉洵淳
|
||||
0xe2e9,0xe2ea,0xe2eb,0xe2ec,0xe2ed,0xe2ee,0xe2ef,0xe2f0,0xe2f3,0xe2de,0xe2f5,0xe2f6,0xe2f7,0xe2f8,0x0000,0xe2f9,// 珣盾瞬筍純脣舜荀詢巡醇錞順馴 戌
|
||||
0xe2fa,0xe2fb,0xe2fd,0xe2fe,0xe3a1,0xe3a2,0xe3a3,0x0000,0xe3a4,0xe3a6,0xe3a5,0xe3a7,0xe3a8,0xe3a9,0xe3aa,0xe3ab,// 術述崇崧嵩瑟膝 蝨拾濕習褶襲丞乘
|
||||
0xe3ac,0xe3ae,0xe3af,0xe3b0,0xe3ad,0xe3b1,0xe3b2,0xe3b3,0xe3b4,0xe3b5,0x0000,0xe3b6,0xe3b7,0xe3b8,0x0000,0xe3b9,// 僧升承昇勝繩蠅陞侍匙 嘶始媤 尸
|
||||
0xe3bb,0xe3bc,0xe3bd,0xe3be,0xe3bf,0xe3c0,0xe3c1,0xe3c2,0xe3c3,0xe3c4,0xe3c5,0xe3c6,0xe3ca,0x0000,0xe3c7,0xe3c8,// 屍市弑恃施是時枾柴猜矢示視 翅蒔
|
||||
0xe3c9,0xe3cc,0xe3cb,0xe3cd,0xe3cf,0xe3d0,0xe3d1,0xe3d2,0xe3d3,0xe3d4,0xe3d5,0xe3d6,0xe3d7,0xe3d8,0xe3db,0xe3dc,// 蓍詩試諡豺埴寔式息拭植殖湜熄識軾
|
||||
0xe3dd,0xe3de,0xe3df,0xe3e1,0xe3e2,0xe3e3,0xe3e4,0xe3e5,0xe3e6,0xe3e7,0xe3e8,0xe3e9,0x0000,0xe3ea,0xe3eb,0x0000,// 食飾伸信呻娠宸愼新晨燼申 神紳
|
||||
// 0x5c40 - 0x5cff
|
||||
0x0000,0xe3ec,0xe3ed,0xe3ee,0xe3ef,0xe3f1,0xe3f2,0xe3f3,0xe3f4,0xe3f5,0xe3f6,0xe3f7,0xe3f8,0xe3f9,0xe3fa,0x0000,// 腎臣莘薪蜃訊身辛辰迅失室實悉
|
||||
0xe3fb,0xe3fc,0xe3fd,0xe4a1,0xe3fe,0xe4a2,0xe4a3,0xe4a4,0xe4a5,0xe4a7,0xe4a8,0xe4a9,0xe4aa,0xe4ab,0xe4ac,0xe4ad,// 審尋心沈沁深瀋甚芯什十拾雙氏亞俄
|
||||
0xe4ae,0xe4b0,0xe4b1,0xe4b2,0xe4b3,0xe4b4,0xe4b6,0xe4b7,0xe4b8,0xe4b9,0xe4ba,0xe4bb,0xe4bc,0xe4bd,0xe4be,0xe4bf,// 兒娥峨我牙芽蛾衙訝阿雅餓鴉鵝堊岳
|
||||
0xe4c0,0xe4c3,0xe4c2,0xe4c4,0xe4c5,0xe4c6,0x0000,0xe4c9,0xe4cb,0xe4cc,0xe4cd,0xe4ce,0xe4cf,0xe4d0,0xe4d1,0xe4d2,// 嶽愕惡握樂渥 顎齷安岸按晏案眼雁
|
||||
0x0000,0xe4d3,0xe4d4,0x0000,0x0000,0xe4d6,0xe4d7,0xe4d8,0x0000,0xe4d9,0x0000,0xe4dc,0xe4dd,0xe4de,0xe4df,0xe4e0,// 鞍顔 斡謁軋 閼 巖庵暗癌菴
|
||||
0x0000,0xe4e1,0x0000,0xe4e2,0xe4e3,0xe4e4,0xe4e5,0xe4e6,0xe4e7,0xe4e8,0xe4e9,0xe4ea,0xe4eb,0x0000,0xe4ec,0xe4ed,// 闇 壓押狎鴨仰央怏昻殃秧 鴦厓
|
||||
0xe4ef,0xe4f0,0xe4f1,0x0000,0xe4f3,0x0000,0xe4f2,0xe4f4,0x0000,0xe4f5,0xe4ee,0xe4f6,0xe4f7,0x0000,0xe4f8,0xe4fa,// 埃崖愛 涯 曖碍 艾哀隘靄 厄掖
|
||||
0xe4fb,0xe4fd,0x0000,0xe4fe,0xe5a1,0xe5a2,0xe5a3,0xe5a4,0xe5a5,0xe5a6,0xe5a7,0xe5a8,0x0000,0xe5aa,0xe5ab,0xe5ac,// 液腋 額櫻罌鶯鸚也倻冶夜 揶椰爺
|
||||
0xe5ad,0xe5ae,0xe5a9,0xe5af,0xe5b0,0x0000,0x0000,0xe5b3,0xe5b4,0xe5b5,0xe5b7,0xe5b8,0xe5ba,0xe5bd,0xe5be,0xe5bf,// 耶若惹野弱 約若葯藥躍佯壤孃恙
|
||||
0xe5c0,0xe5c1,0xe5c2,0xe5c3,0xe5c5,0xe5c6,0xe5c7,0xe5c8,0xe5c9,0xe5cd,0xe5ca,0xe5cb,0xe5cf,0x0000,0xe5d1,0xe5d3,// 揚攘敭暘楊樣洋瀁煬穰痒瘍羊 襄讓
|
||||
0xe5d4,0xe5d5,0xe5d7,0xe5d8,0xe5d9,0x0000,0xe5da,0xe5db,0xe5dd,0xe5de,0xe5df,0xe5e0,0xe5e1,0xe5e2,0xe5e3,0xe5e4,// 釀陽養圄御 於漁禦語馭魚齬億憶抑
|
||||
0xe5e5,0xe5e6,0xe5e7,0xe5e8,0xe5e9,0xe5ea,0xe5eb,0xe5ec,0xe5ed,0xe5f0,0xe5f1,0xe5f2,0xe5f3,0xe5f4,0xe5f5,0x0000,// 檍臆偃堰彦焉言諺孼儼嚴奄掩淹嶪
|
||||
// 0x5d40 - 0x5dff
|
||||
0x0000,0xe5f6,0x0000,0xe5f8,0xe5f9,0xe5fd,0xe6a2,0xe6a3,0xe6a8,0xe6ae,0xe6b2,0xe6b4,0x0000,0xe6b5,0xe6b6,0xe6b9,// 業 予余如歟汝與餘亦域 役易疫
|
||||
0xe6ba,0xe6bb,0xe6bd,0xe6be,0xe6bf,0xe6c0,0xe6c1,0xe6c2,0xe6c3,0xe6c5,0xe6c8,0xe6ca,0xe6cb,0xe6cd,0xe6cf,0xe6ce,// 繹譯逆驛嚥堧姸娟宴延捐撚椽沿涓涎
|
||||
0xe6d0,0xe6d1,0xe6d3,0xe6d4,0xe6d5,0xe6d7,0xe6d8,0xe6da,0xe6db,0xe6dd,0xe6de,0x0000,0x0000,0x0000,0xe6e2,0x0000,// 淵演烟然煙燃燕硏硯筵緣 衍
|
||||
0xe6e3,0xe6e7,0xe6e9,0xe6ec,0xe6ed,0xe6ee,0xe6f0,0xe6f2,0xe6f3,0xe6f4,0x0000,0xe6f8,0xe6fa,0xe6fb,0xe7a4,0xe6fe,// 軟鉛鳶咽悅涅熱說閱厭 染炎焰鹽苒
|
||||
0xe6fd,0xe7a2,0x0000,0xe7a3,0xe7a5,0xe7a7,0xe7a8,0xe7ab,0x0000,0xe7af,0xe7b1,0xe7b2,0xe7b3,0xe7b4,0xe7b5,0xe7b6,// 艶閻 髥曄燁葉塋 影映暎楹榮永泳
|
||||
0xe7b8,0xe7ba,0xe7bd,0xe7c0,0xe7c1,0xe7c2,0xe7c3,0xe7c5,0xe7c8,0xe7c9,0xe7ca,0xe7d2,0xe7d4,0xe7d5,0xe7d6,0xe7d8,// 潁瀛營瑛瑩瓔盈纓英詠迎倪刈叡曳濊
|
||||
0xe7d9,0x0000,0xe7da,0x0000,0xe7dc,0x0000,0xe7dd,0xe7de,0xe7e0,0xe7e1,0xe7e2,0xe7e3,0xe7e5,0xe7e7,0xe7e8,0xe7e9,// 猊 睿 芮 藝蘂裔詣譽豫銳霓預五
|
||||
0xe7ea,0xe7ec,0xe7ed,0xe7ef,0xe7f0,0xe7f2,0xe7f3,0xe7f4,0xe7f5,0xe7f6,0xe7f7,0xe7fa,0xe7fb,0xe7fc,0xe7fd,0xe8a1,// 伍傲午吳嗚墺奧娛寤悟惡旿晤梧汚烏
|
||||
0xe8a3,0xe8a5,0xe8a6,0x0000,0xe7ee,0xe8a9,0xe8aa,0xe8ab,0xe8ac,0xe8ad,0x0000,0xe8ae,0xe8af,0xe8b0,0xe8b1,0x0000,// 獒蜈誤 吾屋沃獄玉鈺 溫瑥瘟穩
|
||||
0xe8b3,0x0000,0xe8b4,0xe8b5,0xe8b7,0xe8b9,0xe8b6,0xe8b8,0xe8ba,0xe8bb,0xe8bc,0xe8be,0xe8bf,0xe8c0,0xe8c3,0xe8c4,// 蘊 兀壅瓮癰擁甕翁邕雍渦瓦窩蛙蝸
|
||||
0xe8c5,0xe8c2,0xe8c6,0xe8c7,0xe8c8,0xe8cb,0xe8cc,0xe8ce,0xe8cf,0xe8d0,0xe8d1,0xe8d3,0xe8d4,0xe8d5,0xe8d6,0xe8d7,// 訛臥婉完宛浣玩琬碗緩翫腕莞豌阮頑
|
||||
0xe8d8,0xe8d9,0xe8da,0xe8db,0xe8dc,0xe8dd,0xe8de,0xe8e0,0xe8e1,0xe8e2,0xe8e4,0xe8e5,0xe8e6,0xe8e9,0xe8ea,0x0000,// 曰往旺枉汪王倭歪矮外巍猥畏僥凹
|
||||
// 0x5e40 - 0x5eff
|
||||
0x0000,0xe8eb,0xe8ec,0xe8ed,0xe8ee,0xe8f2,0xe8f3,0xe8f4,0xe8f6,0xe8f8,0xe9a6,0xe8f9,0xe8fa,0xe8fd,0xe9a1,0xe9a2,// 堯夭妖姚嶢拗搖擾曜腰樂橈瑤窈窯
|
||||
0xe9a3,0xe9a4,0xe9a5,0x0000,0xe9a8,0xe9a9,0xe9aa,0xe9ab,0xe9ad,0xe9ae,0xe9b4,0xe9af,0xe9b0,0xe9b1,0xe9b3,0xe9b6,// 繇繞耀 蟯要謠遙邀饒辱慾欲浴褥傭
|
||||
0xe9b8,0xe9bb,0xe9bc,0xe9b7,0xe9be,0xe9c0,0xe9c1,0xe9c2,0xe9c3,0xe9c4,0xe9c6,0x0000,0xe9c7,0xe9c8,0x0000,0xe9c9,// 勇容庸冗榕湧溶熔瑢用聳 茸蓉 踊
|
||||
0xe9ca,0xe9cb,0xe9ce,0xe9cf,0xe9d0,0xe9d1,0xe9d2,0xe9d3,0x0000,0xe9d4,0xe9d5,0xe9d6,0xe9cd,0xe9d7,0xe9d8,0xe9da,// 鎔鏞佑偶優又友右 宇寓尤于愚憂牛
|
||||
0xe9dd,0xe9de,0xe9df,0xe9e0,0xe9e2,0xe9e3,0xe9e5,0xe9e6,0xe9e7,0xe9e8,0xe9ea,0xe9eb,0xe9ec,0xe9ef,0xe9f0,0xe9f2,// 盂祐禑禹羽芋虞迂遇郵隅雨雩旭昱煜
|
||||
0xe9f3,0xe9f4,0xe9f5,0xe9f6,0xe9f7,0xe9f9,0xe9fc,0xe9fd,0xeaa1,0xeaa2,0xeaa3,0xeaa4,0x0000,0xeaa5,0xeaa6,0xeaa8,// 稶郁頊云暈殞耘芸運隕雲韻 蔚鬱熊
|
||||
0xeaa9,0xeaaa,0xeaab,0xeaac,0xeaae,0xeaad,0xeaba,0xeaaf,0xeab0,0xeab2,0xeab3,0xeab4,0xeab5,0xeab9,0xeabb,0xeabc,// 雄元原員園圓爰垣媛寃怨愿援源猿瑗
|
||||
0xeabd,0x0000,0xeabe,0xeabf,0xeac0,0xeac2,0xeac3,0xeac4,0xeac5,0xeac6,0xeac7,0xeac8,0xeac9,0xeaca,0xeacb,0xeacc,// 苑 袁轅遠院願鴛月越鉞位偉僞危圍
|
||||
0xeacd,0xeacf,0x0000,0xead0,0xeace,0xead2,0xead3,0xead4,0xead5,0xead6,0xead7,0xead8,0xeada,0xeadb,0x0000,0xeadd,// 委尉 慰威渭爲瑋緯胃萎葦蝟衛 謂
|
||||
0xeade,0xeadf,0xeae0,0xeae1,0xeaf2,0xeae2,0xeae3,0xeae4,0xeaea,0xeae6,0xeae7,0x0000,0xeae8,0xeae9,0x0000,0xeaeb,// 違韋魏乳攸侑儒兪幼唯喩 孺宥 幽
|
||||
0xeaec,0xeaed,0xeaee,0xeaf0,0xeaef,0xeaf1,0xeaf3,0xeaf5,0xeaf6,0xeaf8,0xeafa,0xeafd,0xeba1,0xeba2,0xeba5,0xeba6,// 庾悠惟愉愈揄有柔柚楡油游濡猶瑜由
|
||||
0xeba8,0xebab,0xebac,0xebad,0x0000,0xebae,0xebaf,0xebb0,0xebb1,0xebb3,0xebb2,0xebb4,0xebb5,0xebb6,0xebb7,0x0000,// 癒維臾萸 裕誘諛諭蹂踰遊逾遺酉
|
||||
// 0x5f40 - 0x5fff
|
||||
0x0000,0xebb8,0xebb9,0x0000,0xebbe,0xebbf,0xebc0,0x0000,0xebc3,0xebc4,0xebc5,0xebc8,0xebc9,0xebca,0xebce,0xebd3,// 釉鍮 毓肉育 允奫尹潤玧胤閏聿
|
||||
0xebd4,0xebd6,0xebd7,0xebd9,0xebda,0xebdb,0x0000,0xebdc,0x0000,0xebde,0xebdd,0xebdf,0x0000,0xebe0,0xebe1,0xebe2,// 戎絨融垠恩慇 殷 銀誾隱 乙吟淫
|
||||
0xebe3,0xebe4,0xebe6,0xebe5,0x0000,0xebe7,0xebe8,0xebe9,0xebea,0xebeb,0xebec,0xebed,0xebee,0xebef,0xebf0,0xebf7,// 蔭陰飮音 揖泣邑凝應膺鷹依倚儀疑
|
||||
0xebf8,0xebf1,0xebf2,0xebf3,0xebf4,0xebf6,0xebf9,0xebfa,0xebfc,0xebfd,0xebfe,0xeca1,0xeca2,0xeca3,0xeca4,0xeca5,// 矣宜意懿擬毅義艤蟻衣誼議醫二以伊
|
||||
0xeca8,0xeca9,0xecab,0xecc3,0xecac,0xecad,0xecae,0xecaf,0x0000,0xecb3,0xecb4,0xecb6,0xecb7,0xecb9,0xecbb,0xecbc,// 夷姨已貳弛彛怡易 爾珥異痍移而耳
|
||||
0xecbf,0xecc7,0xecc8,0x0000,0xeccb,0xeccf,0xeccc,0xeccd,0xecce,0xecd1,0xecd2,0x0000,0xecd3,0xecd4,0xecd6,0xecd7,// 荑飴餌 瀷翼益翊翌人仁 刃印咽因
|
||||
0xecd8,0xecd9,0xecda,0xecdb,0xecdc,0xece3,0xece5,0xece6,0xece9,0xeceb,0xecec,0xeced,0xecee,0xecef,0xecf0,0xecf1,// 姻寅引忍湮認靭靷一佾壹日溢逸鎰馹
|
||||
0xecf2,0xecf3,0xecf4,0xecf5,0xecf9,0xecfb,0xecfc,0xecfd,0xeda4,0xeda6,0xeda5,0xeda8,0xeda9,0xedaa,0xedab,0xedac,// 任壬妊姙稔荏賃入仍孕剩仔刺咨姉姿
|
||||
0xedad,0xedaf,0xedae,0xedb0,0xedb1,0xedb2,0xedb3,0xedb4,0xedb5,0xedb6,0xedb7,0x0000,0xedb8,0x0000,0xedb9,0xedba,// 子孜字恣慈滋炙煮玆瓷疵 磁 紫者
|
||||
0x0000,0xedbb,0xedbd,0xedbe,0x0000,0xedbf,0xedc0,0x0000,0xedc1,0xedc2,0xedc3,0xedc4,0xedc5,0xedc6,0x0000,0xedc7,// 自蔗藉 諮資 雌作勺嚼斫昨 灼
|
||||
0xedc8,0xedc9,0xedca,0xedcb,0xedcc,0xedcd,0xedce,0xedd0,0xedd1,0xedd2,0xedd3,0xedd4,0xedd5,0xedd6,0x0000,0xedd7,// 炸爵綽芍酌雀鵲棧殘潺盞岑暫潛 箴
|
||||
0xedd8,0x0000,0xedd9,0xedda,0xeddb,0xeddc,0xeddd,0xedde,0xeddf,0xede1,0x0000,0xede3,0xede4,0xede5,0xede6,0x0000,// 簪 蠶雜丈仗匠場墻奬 帳庄張掌
|
||||
// 0x6040 - 0x60ff
|
||||
0x0000,0xede7,0xede8,0xede9,0xedea,0xedeb,0xedec,0xede0,0xede2,0xeded,0xedee,0xedef,0xedf0,0x0000,0xedf1,0xedf2,// 暲杖樟檣欌漿壯將牆狀獐璋 章粧
|
||||
0xedf3,0xedf4,0xedf6,0xedf7,0xedf8,0xedf9,0xedfa,0x0000,0xedfb,0xedfc,0xedfd,0xedfe,0xeea1,0xeea2,0xeea3,0xeea4,// 腸臟莊葬蔣薔藏 裝贓醬長障再哉在
|
||||
0xeea5,0xeea6,0xeea7,0xeea8,0xeea9,0xeeab,0xeeac,0x0000,0xeeae,0xeeaf,0xeeb0,0xeeb1,0xeeb2,0xeeb3,0xeeb4,0xeeb5,// 宰才材栽梓滓災 裁財載齋齎爭箏諍
|
||||
0xeeb6,0xeeb8,0xeeb7,0xeeb9,0xeeba,0xeebb,0xeebc,0xeebd,0xeebe,0x0000,0xeebf,0xeec0,0xeec1,0xeec2,0xeec3,0xeec4,// 錚低佇儲咀姐底抵杵 楮樗沮渚狙猪
|
||||
0xeec5,0xeec6,0xeec8,0xeeca,0xeecb,0x0000,0xeecc,0x0000,0xeecd,0xeece,0xeecf,0xeed0,0xeed3,0xeed5,0xeed6,0xeed7,// 疽箸苧著藷 詛 貯躇這邸勣嫡寂摘
|
||||
0xeed8,0xeed9,0xeeda,0xeedc,0xeedd,0xeede,0xeedf,0x0000,0xeee0,0xeee2,0xeee3,0xeee4,0xeee5,0xeee6,0xeee7,0xeee8,// 敵滴狄的積笛籍 績荻謫賊赤跡蹟迪
|
||||
0xeee9,0xeeea,0xeeee,0xeeef,0xeef0,0xeef1,0xeef2,0x0000,0xeef3,0xeef5,0xeef6,0xeef7,0x0000,0xeef8,0xeef9,0xeefa,// 迹適傳全典前剪 塡奠專展 廛悛戰
|
||||
0xeefb,0xeefc,0xeefd,0xeefe,0xefa1,0xefa3,0xefa4,0xefa6,0x0000,0xefa8,0xefa9,0xefaa,0xefab,0x0000,0xefac,0xefad,// 栓殿氈澱煎田甸癲 箋箭篆纏 詮輾
|
||||
0xefae,0xefaf,0xefb0,0xefb1,0xefb3,0xefb4,0xefb5,0xefb6,0xefb7,0xefb8,0xefb9,0xefba,0x0000,0xefbc,0xefbd,0xefbe,// 轉鈿銓錢電顚顫餞切截折浙 竊節絶
|
||||
0xefbf,0xefc0,0xefc1,0xefc2,0xefc3,0xefc7,0xefc4,0xefc5,0xefc8,0xefc9,0x0000,0xefca,0xefcb,0xefcc,0xefcd,0xefce,// 占岾店漸点點粘霑接摺 蝶丁井亭停
|
||||
0xefcf,0xefd0,0xefd1,0xefd3,0xefd5,0xefd6,0xefd2,0xefd4,0xefd7,0xefd8,0xefd9,0xefda,0xefdb,0xefdc,0xefdd,0x0000,// 偵呈姃幀廷征定庭情挺政整旌晶晸
|
||||
0xefdf,0xefe1,0xefe2,0xefe4,0xefe5,0xefeb,0xefec,0xefed,0xefee,0xefef,0xeff0,0xeffe,0xeff1,0xeff3,0xeff4,0x0000,// 楨正汀淨渟町睛碇禎程穽靖精艇訂
|
||||
// 0x6140 - 0x61ff
|
||||
0x0000,0xeff5,0xeff6,0xeff7,0xeff8,0xeff9,0xeffa,0xeffc,0xeffd,0xf0a1,0xf0a2,0xf0a3,0xf0a4,0xf0a5,0xf0a6,0xf0a7,// 諪貞鄭酊釘鉦錠霆靜頂鼎制劑啼堤
|
||||
0xf0a8,0xf0a9,0xf0aa,0xf0ab,0x0000,0xf0ac,0xf0ad,0x0000,0xf0b0,0xf0ae,0xf0af,0xf0b1,0xf0b2,0xf0b3,0x0000,0xf0b4,// 帝弟悌提 梯濟 臍祭第薺製諸 蹄
|
||||
0xf0b5,0xf0b6,0xf0b7,0xf0b8,0xf0b9,0xf0ba,0xf0bb,0xf0bd,0xf0bc,0xf0be,0x0000,0xf0bf,0x0000,0xf0c0,0xf0c1,0xf0c2,// 醍除際霽題齊俎凋兆助 嘲 弔彫措
|
||||
0xf0c3,0xf0c4,0xf0c5,0xf0c6,0xf0c7,0xf0c8,0xf0c9,0xf0ca,0xf0cb,0xf0cc,0xf0cd,0xf0ce,0xf0cf,0xf0d0,0x0000,0xf0d2,// 操早晁曺曹朝條棗槽漕潮照燥爪 眺
|
||||
0xf0d3,0xf0d4,0xf0d5,0xf0d6,0xf0d7,0x0000,0x0000,0xf0d8,0xf0d9,0x0000,0xf0da,0x0000,0xf0db,0xf0dc,0xf0dd,0xf0de,// 祖祚租稠窕 粗糟 組 繰肇藻蚤
|
||||
0xf0df,0xf0e0,0xf0e1,0xf0e2,0xf0e3,0xf0e4,0xf0e5,0xf0e6,0x0000,0xf0e8,0xf0e9,0xf0ea,0xf0eb,0xf0ec,0xf0ed,0xf0ee,// 詔調趙躁造遭釣阻 鳥族簇足鏃存尊
|
||||
0xf0ef,0xf0f0,0xf0f1,0xf0f2,0xf0f3,0xf0f4,0xf0f6,0xf0f7,0x0000,0xf0f8,0xf0f9,0xf0fa,0xf0fb,0xf0fc,0xf0fd,0xf0fe,// 卒拙猝倧宗從慫棕 淙琮種終綜縱腫
|
||||
0xf1a2,0x0000,0xf1a3,0xf1a4,0xf1a5,0xf1a6,0xf1a7,0xf1a8,0xf1a9,0xf1aa,0xf1ab,0xf1ac,0xf1ad,0xf1ae,0xf1b7,0xf1b1,// 踵 鍾鐘佐坐左座挫罪主住侏做廚呪
|
||||
0xf1b2,0xf1b3,0xf1b4,0xf1b5,0xf1b6,0xf1b8,0xf1b9,0xf1ba,0xf1bb,0xf1c0,0xf1bc,0xf1bd,0xf1d0,0xf1c1,0xf1c2,0x0000,// 周嗾奏宙州晝朱柱株炷注洲酒珠疇
|
||||
0xf1c3,0xf1c4,0xf1c5,0xf1c6,0x0000,0xf1b0,0xf1c7,0xf1c8,0xf1c9,0xf1ca,0xf1cb,0xf1cc,0xf1cd,0xf1cf,0xf1ce,0xf1d1,// 籌紂紬綢 胄舟蛛註誅走躊輳酎週鑄
|
||||
0xf1d2,0xf1d3,0xf1d4,0xf1d5,0xf1d6,0xf1d7,0xf1d8,0xf1da,0xf1db,0xf1dc,0xf1dd,0xf1de,0xf1df,0xf1e1,0xf1e2,0xf1e3,// 駐竹粥俊儁准埈峻晙樽浚準濬畯竣蠢
|
||||
0xf1e4,0xf1e5,0x0000,0xf1e7,0xf1e8,0xf1e9,0xf1ea,0xf1eb,0xf1ec,0x0000,0xf1ed,0xf1ee,0xf1ef,0xf1f0,0xf1f1,0x0000,// 逡遵 駿茁中仲衆重 卽櫛楫汁葺
|
||||
// 0x6240 - 0x62ff
|
||||
0x0000,0xf1f2,0xf1f3,0xf1f5,0xf1f6,0xf1f4,0xf1f7,0xf1f8,0xf1fa,0x0000,0xf1fb,0xf1fc,0xf1fd,0xf1fe,0xf2a1,0xf2a2,// 增憎拯烝曾甑症蒸 證贈之只咫地
|
||||
0xf2a3,0xf2a4,0xf2a5,0xf2a6,0xf2a7,0xf2a8,0xf2a9,0xf2aa,0xf2ab,0xf2ac,0xf2ad,0xf2ae,0xf2b0,0x0000,0xf2b1,0xf2b2,// 址志持指摯支旨智枝枳止池漬 知砥
|
||||
0xf2b4,0xf2b3,0xf2b5,0xf2b6,0xf2b7,0xf2b8,0xf2b9,0xf2bb,0xf2bc,0xf2bd,0xf2be,0xf2bf,0xf2c0,0xf2c1,0xf2c2,0xf2c3,// 祗祉紙肢脂至芝蜘誌識贄趾遲直稙稷
|
||||
0xf2c4,0xf2c5,0xf2e3,0xf2c7,0xf2c8,0xf2c9,0xf2cb,0xf2ce,0xf2d0,0xf2d1,0xf2d2,0xf2d3,0xf2d4,0xf2d6,0xf2d7,0xf2d8,// 織職辰嗔塵振晉榛津溱珍瑨璡疹盡眞
|
||||
0xf2d9,0xf2da,0xf2db,0xf2e0,0xf2e1,0xf2e2,0xf2e4,0xf2e5,0xf2e6,0xf2e7,0xf2e8,0xf2ea,0xf2f2,0xf2eb,0xf2ec,0xf2ed,// 瞋秦縉診賑軫進鎭陣陳震叱窒姪嫉帙
|
||||
0xf2ee,0xf2f0,0xf2f1,0xf2f3,0xf2f4,0xf2f5,0xf2f6,0xf2f7,0xf2f8,0xf2f9,0xf2fb,0xf3a2,0xf2fd,0xf2fe,0xf3a3,0xf3a4,// 桎疾秩膣蛭質跌迭斟朕執集緝輯徵懲
|
||||
0xf3a5,0xf3a6,0xf3a8,0xf3b0,0xf3a9,0xf3aa,0xf3ac,0xf3ab,0xf3ad,0xf3ae,0xf3af,0xf3b1,0xf3b2,0xf3b4,0xf3b3,0xf3b5,// 澄且借箚叉嗟差嵯次此磋茶蹉遮車捉
|
||||
0xf3b6,0xf3b7,0xf3b8,0xf3b9,0xf3ba,0xf3bb,0xf3bc,0xf3bd,0xf3be,0xf3bf,0xf3c0,0xf3c1,0xf3c3,0xf3c4,0xf3c5,0xf3c6,// 搾着窄錯鑿齪撰澯燦璨瓚竄纂粲纘讚
|
||||
0xf3c7,0xf3c8,0x0000,0xf3c9,0xf3ca,0xf3cb,0xf3cc,0xf3cd,0xf3ce,0xf3d0,0xf3d1,0xf3d2,0xf3d3,0xf3d4,0x0000,0xf3d5,// 贊鑽 餐饌刹察擦札僭參塹慘慙 懺
|
||||
0xf3d6,0xf3d7,0xf3d8,0xf3db,0xf3da,0x0000,0xf3dc,0xf3dd,0xf3de,0xf3df,0xf3e0,0x0000,0xf3e2,0xf3e3,0xf3e4,0xf3e5,// 斬站讒倡倉 創唱娼廠彰 敞昌昶暢
|
||||
0xf3e6,0x0000,0xf3e7,0xf3e8,0xf3ea,0xf3eb,0xf3ec,0xf3ed,0xf3ee,0xf3ef,0xf3f0,0xf3f1,0xf3f4,0xf3f5,0xf3f6,0xf3f7,// 槍 滄漲瘡窓脹艙菖蒼債埰彩採砦綵
|
||||
0xf3f8,0xf3f9,0xf3fa,0xf3fb,0xf3fc,0xf3fd,0xf3fe,0x0000,0xf4a1,0xf4a2,0xf4a3,0xf4a4,0xf4a5,0xf4a7,0xf4a8,0x0000,// 菜蔡采釵冊柵策 責凄妻悽處刺剔
|
||||
// 0x6340 - 0x63ff
|
||||
0x0000,0xf4a9,0xf4aa,0xf4ab,0xf4ac,0xf4ad,0xf4ae,0xf4af,0xf4b0,0xf4b1,0x0000,0x0000,0xf4b3,0xf4b4,0xf4b5,0xf4b6,// 尺慽戚拓擲斥滌瘠脊 陟隻仟千
|
||||
0xf4b7,0xf4b8,0xf4b9,0xf4ba,0xf4bb,0xf4bc,0x0000,0xf4be,0xf4bf,0xf4c0,0xf4c1,0xf4c2,0xf4c3,0xf4c4,0xf4c5,0xf4c6,// 喘天川擅泉淺 穿舛薦賤踐遷釧闡阡
|
||||
0xf4c7,0xf4c8,0xf4cb,0xf4c9,0xf4ca,0xf4cc,0xf4cd,0xf4ce,0xf4d0,0xf4d1,0xf4d2,0xf4d3,0xf4d4,0xf4d5,0xf4d6,0xf4d7,// 韆凸徹哲喆撤澈綴轍鐵僉尖沾添甛瞻
|
||||
0x0000,0xf4d9,0xf4db,0xf4dd,0xf4de,0xf4df,0xf4e0,0xf4e1,0xf4e2,0xf4e3,0xf4e4,0xf4e5,0xf4e6,0xf4e7,0xf4e8,0xf4e9,// 籤諂妾帖捷牒疊睫諜貼輒廳晴淸聽
|
||||
0xf4ea,0x0000,0xf4eb,0xf4ec,0xf4ed,0xf4ee,0xf4ef,0xf4f0,0xf4f1,0xf4f2,0x0000,0xf4f3,0xf4f4,0xf4f5,0xf4f6,0x0000,// 菁 請靑鯖切剃替涕滯 締諦逮遞
|
||||
0xf4f7,0xf4f8,0xf4fa,0x0000,0xf4fb,0xf4fc,0xf4fd,0xf4fe,0xf5a1,0xf5a2,0xf5a3,0xf5a4,0xf5a5,0xf5a6,0xf5a7,0xf5a8,// 體初哨 憔抄招梢椒楚樵炒焦硝礁礎
|
||||
0xf5a9,0xf5aa,0x0000,0xf5ab,0xf5ae,0xf5af,0xf5b0,0xf5b1,0xf5b2,0xf5b3,0xf5b4,0x0000,0x0000,0xf5b5,0xf5b6,0x0000,// 秒稍 肖草蕉貂超酢醋醮 促囑
|
||||
0xf5b7,0xf5b8,0xf5b9,0xf5ba,0x0000,0x0000,0xf5bb,0xf5bc,0xf5bd,0xf5bf,0xf5c0,0xf5c1,0x0000,0xf5c4,0xf5c5,0xf5c6,// 燭矗蜀觸 寸忖村叢塚寵 摠總聰
|
||||
0x0000,0xf5c8,0xf5c9,0xf5ca,0xf5cb,0x0000,0xf5cc,0xf5cd,0xf5ce,0xf5cf,0xf5d0,0xf5d1,0x0000,0xf5d2,0xf5d3,0x0000,// 銃撮催崔 最墜抽推椎楸 樞湫
|
||||
0xf5d4,0xf5d5,0x0000,0xf5d6,0xf5d7,0xf5d9,0xf5da,0xf5db,0xf5dc,0xf5dd,0xf5df,0xf5de,0xf5e1,0x0000,0xf5e3,0x0000,// 皺秋 芻萩趨追鄒酋醜錘錐雛 鰍
|
||||
0x0000,0xf5e4,0x0000,0xf5e6,0xf5e5,0xf5e7,0xf5e8,0xf5e9,0xf5ea,0x0000,0xf5eb,0xf5ed,0xf5ee,0xf5ef,0xf5f0,0xf5f1,// 丑 祝畜竺筑築縮 蓄蹴軸逐春椿
|
||||
0xf5f3,0xf5f5,0xf5f6,0x0000,0xf5f7,0xf5f8,0xf5f9,0xf5fa,0xf5fb,0xf5fc,0xf5fd,0xf5fe,0xf6a2,0xf6a3,0xf6a4,0x0000,// 出黜充 忠沖蟲衝衷悴膵萃取吹嘴
|
||||
// 0x6440 - 0x64ff
|
||||
0x0000,0xf6a5,0xf6a6,0x0000,0xf6a7,0xf6a8,0xf6a9,0xf6aa,0xf6ab,0x0000,0xf6ac,0xf6ad,0xf6ae,0xf6af,0xf6b1,0xf6b0,// 娶就 炊翠聚脆臭 趣醉驟鷲仄側
|
||||
0xf6b3,0xf6b4,0xf6b5,0xf6b6,0xf6b7,0xf6b8,0xf6b9,0x0000,0xf6ba,0x0000,0xf6bc,0xf6bd,0xf6be,0xf6bf,0xf6c0,0xf6c1,// 惻測層侈値嗤峙 幟 梔治淄熾痔痴
|
||||
0xf6c2,0xf6cb,0xf6c3,0xf6c5,0xf6c6,0xf6c7,0xf6bb,0xf6c8,0xf6ca,0xf6cc,0x0000,0xf6cd,0xf6ce,0xf6cf,0xf6d0,0xf6d1,// 癡雉稚緇緻置恥致輜馳 齒則勅飭親
|
||||
0xf6d2,0xf6d3,0xf6d4,0xf6d5,0xf6d6,0x0000,0xf6d7,0xf6d8,0xf6d9,0xf6db,0xf6dc,0xf6dd,0xf6de,0xf6df,0xf6e0,0xf6e1,// 七柒漆侵寢 枕沈浸砧針鍼蟄秤稱快
|
||||
0xf6e2,0xf6e4,0xf6e5,0xf6e6,0xf6e7,0xf6e8,0xf6ea,0xf6eb,0xf6ec,0xf6ed,0xf6ef,0xf6f0,0xf6f1,0xf6f2,0xf6f4,0xf6f5,// 他唾墮妥惰打朶楕舵陀駝倬卓啄度托
|
||||
0x0000,0xf6f6,0xf6f7,0xf6f9,0x0000,0xf6fa,0xf6fb,0xf6fc,0xf6fe,0xf7a1,0xf7a2,0xf7a3,0xf7a4,0xf7a5,0xf7a6,0xf7a7,// 拓擢柝 濁濯琢託鐸呑嘆坦彈憚歎
|
||||
0xf7a8,0xf7a9,0xf7aa,0xf7ab,0xf7ac,0xf7ad,0xf7ae,0xf7b0,0xf7b1,0xf7b2,0xf7b3,0xf7b4,0xf7b5,0xf7b6,0xf7b7,0xf7b9,// 灘炭綻誕奪脫探耽貪塔搭榻宕帑湯蕩
|
||||
0xf7ba,0xf7bb,0xf7bc,0xf7bd,0xf7be,0xf7bf,0xf7c0,0xf7c1,0xf7c2,0xf7c3,0xf7c4,0xf7c5,0xf7c6,0xf7c7,0x0000,0xf7c8,// 兌台太怠態殆汰泰笞胎苔跆邰颱 宅
|
||||
0xf7c9,0xf7ca,0x0000,0xf7cb,0xf7cc,0xf7cd,0xf7ce,0xf7cf,0xf7d0,0xf7d1,0xf7d2,0xf7d3,0xf7d4,0xf7d5,0xf7d6,0xf7d7,// 擇澤 撑攄兎吐土討慟桶洞痛筒統通
|
||||
0xf7d8,0xf7da,0xf7db,0xf7dc,0xf7dd,0xf7de,0xf7df,0xf7e0,0xf7e1,0xf7e2,0xf7e3,0xf7e4,0xf7e5,0xf7e8,0xf7e7,0xf7e9,// 堆腿褪退頹偸套妬投透鬪慝特婆坡巴
|
||||
0xf7ea,0xf7eb,0xf7ed,0xf7ee,0xf7ef,0xf7f0,0xf7f1,0xf7f2,0xf7f3,0xf7f4,0xf7f5,0xf7f6,0xf7f8,0xf7f7,0xf7f9,0xf7fa,// 把播杷波派爬琶破罷芭跛頗坂判板版
|
||||
0xf7fc,0xf7fd,0xf7fb,0xf8a1,0xf8a2,0xf8a3,0xf8a4,0xf8a5,0xf8a6,0xf8a7,0xf8a9,0xf8aa,0xf8ab,0xf8ac,0xf8ad,0x0000,// 販辦瓣阪八叭捌佩唄悖沛浿牌狽稗
|
||||
// 0x6540 - 0x65ff
|
||||
0x0000,0xf8af,0xf8a8,0xf8ae,0xf8b0,0xf8b1,0xf8b2,0xf8b3,0xf8b4,0xf8b5,0xf8b6,0xf8b7,0xf8b8,0xf8b9,0xf8ba,0xf8bb,// 貝敗覇彭澎烹膨愎便偏扁片篇編翩
|
||||
0x0000,0xf8bc,0xf8bd,0xf8bf,0xf8c0,0xf8c1,0xf8c3,0xf8c4,0xf8c5,0xf8c6,0xf8c7,0xf8c8,0xf8c9,0xf8ca,0xf8cb,0xf8cc,// 遍鞭貶坪平萍評吠嬖幣廢弊斃肺蔽
|
||||
0xf8cd,0xf8ce,0xf8cf,0xf8d0,0xf8d1,0xf8d2,0xf8d3,0xf8d4,0xf8d5,0x0000,0xf8d6,0xf8d7,0xf8d9,0xf8d8,0xf8da,0xf8dc,// 閉陛佈包匍匏咆哺圃 布怖抱抛捕泡
|
||||
0xf8dd,0x0000,0xf8de,0xf8df,0xf8e0,0xf8e1,0x0000,0xf8e3,0xf8e4,0xf8e5,0xf8e6,0x0000,0xf8e8,0x0000,0xf8e9,0xf8ea,// 浦 疱砲胞脯 葡蒲袍褒 鋪 飽鮑
|
||||
0xf8eb,0xf8ec,0xf8ee,0xf8ef,0xf8f1,0xf8f2,0xf8f3,0xf8f4,0xf8f5,0xf8f6,0xf8f7,0xf8f8,0xf8f9,0xf8fa,0xf8fb,0xf8fd,// 幅暴瀑爆俵剽彪慓杓標漂瓢票表豹飄
|
||||
0x0000,0xf9a1,0xf9a2,0xf9a7,0xf9a3,0xf9a4,0xf9a5,0xf9a6,0xf9a8,0xf9a9,0xf9aa,0xf9ab,0x0000,0xf9ac,0xf9ad,0xf9af,// 品稟馮楓諷豊風彼披疲皮 被避匹
|
||||
0xf9b0,0xf9b1,0xf9b2,0xf9b4,0xf9b5,0xf9b6,0x0000,0xf9b9,0xf9ba,0xf9bb,0xf9bc,0xf9be,0xf9bf,0xf9c0,0xf9c1,0xf9c2,// 弼必泌畢疋筆 乏逼下何夏廈昰河瑕
|
||||
0xf9c4,0xf9c3,0xf9c5,0xf9c6,0xf9c7,0xf9c8,0xf9c9,0xf9ca,0x0000,0xf9cb,0xf9cc,0xf9cd,0xf9ce,0xf9cf,0xf9d0,0xf9d1,// 蝦荷賀遐霞鰕壑學 虐謔鶴寒恨悍旱
|
||||
0xf9d2,0xf9d3,0xf9d4,0xf9d6,0xf9d7,0x0000,0xf9d9,0xf9d8,0xf9da,0xf9db,0x0000,0xf9dc,0xf9dd,0xf9de,0xf9df,0xf9e0,// 汗漢澣罕翰 閒閑限韓 割轄函含咸
|
||||
0xf9e1,0xf9e2,0xf9e3,0xf9e4,0xf9e5,0xf9e6,0xf9e8,0xf9ea,0xf9eb,0xf9ec,0xf9ed,0xf9ee,0xf9f0,0xf9f1,0xf9f2,0xf9f3,// 啣喊檻涵緘艦陷合哈盒蛤閤陜亢伉姮
|
||||
0xf9f5,0xf9f6,0xf9f7,0xf9f8,0xf9f9,0xf9fa,0xf9fb,0x0000,0xf9fc,0xf9fd,0xf9fe,0xfaa2,0xfaa3,0xfaa4,0xfaa5,0xfaa6,// 巷恒抗杭桁沆港 缸肛航降項亥偕咳
|
||||
0xfaa8,0xfaa7,0xfaa9,0xfaaa,0x0000,0xfaab,0xfaac,0xfaad,0xfaaf,0xfab0,0xfab1,0xfab2,0xfab3,0xfab4,0xfab5,0x0000,// 奚垓孩害 懈楷海蟹解該諧邂駭骸
|
||||
// 0x6640 - 0x66ff
|
||||
0x0000,0xfab6,0xfab7,0xfab8,0xfab9,0xfaba,0xfabc,0xfabd,0xfabe,0xfabf,0xfac1,0xfac0,0xfac2,0xfac3,0xfac4,0xfac5,// 劾核倖幸杏行享向嚮鄕珦響餉饗香
|
||||
0xfac6,0xfac7,0xfac8,0xfac9,0xfaca,0xfacd,0xfacc,0xface,0xfacf,0xfad0,0xfad1,0xfad2,0xfad3,0xfad4,0xfad6,0xfad7,// 噓墟虛許憲軒獻歇險驗奕爀赫革峴弦
|
||||
0xfad8,0xfadb,0xfade,0xfadc,0xfadf,0xfae1,0xfae2,0xfae3,0xfae4,0xfae5,0xfae6,0xfae7,0xfae8,0xfae9,0xfaea,0xfaeb,// 懸炫現玄眩絃絢縣舷衒見賢鉉顯孑穴
|
||||
0xfaec,0xfaed,0xfaee,0x0000,0xfaef,0xfaf0,0xfaf1,0xfaf2,0xfaf3,0xfaf4,0xfaf5,0x0000,0xfaf7,0xfaf6,0xfaf8,0x0000,// 血頁嫌 俠協夾峽挾浹狹 脇脅莢
|
||||
0xfaf9,0xfafa,0xfafb,0xfafd,0xfafe,0xfba1,0xfafc,0xfba4,0xfba6,0xfba8,0xfbaa,0xfbab,0xfbac,0xfbae,0xfbaf,0xfbb0,// 鋏頰亨刑型形兄瀅炯珩荊螢衡邢鎣馨
|
||||
0xfbb1,0xfbb2,0xfbb3,0xfbb4,0xfbb6,0xfbb8,0xfbb9,0xfbba,0xfbbb,0xfbdf,0xfbbc,0xfbbe,0xfbbd,0xfbbf,0xfbc1,0xfbc4,// 兮彗惠慧蕙醯鞋乎互豪呼壺壕好弧昊
|
||||
0xfbc2,0xfbc6,0xfbc7,0xfbc8,0xfbc9,0xfbca,0xfbcb,0xfbcd,0xfbcc,0xfbce,0xfbcf,0xfbd1,0xfbd2,0xfbd3,0x0000,0xfbd4,// 戶毫浩淏湖滸澔濩濠灝狐瑚瓠皓 祜
|
||||
0xfbd5,0xfbd6,0xfbd7,0xfbd9,0xfbdb,0xfbdc,0xfbdd,0xfbde,0xfbc3,0x0000,0xfbe0,0xfbe1,0xfbe2,0xfbe3,0xfbe4,0xfbe5,// 糊縞胡葫虎號蝴護扈 鎬頀顥惑或酷
|
||||
0xfbe6,0xfbe7,0xfbe8,0xfbe9,0xfbea,0xfbeb,0xfbec,0xfbed,0xfbee,0x0000,0xfbf0,0xfbef,0xfbf1,0xfbf2,0xfbf3,0xfbf8,// 婚昏混渾琿魂忽惚笏 弘哄汞泓洪鴻
|
||||
0xfbf5,0xfbf6,0xfbf7,0xfbf9,0xfbfb,0xfbfc,0xfbfd,0xfca1,0xfbfe,0xfca2,0xfbfa,0xfca3,0xfca4,0xfca5,0xfca8,0xfca7,// 紅虹訌化嬅樺火禍畵禾和花華話靴貨
|
||||
0xfca9,0xfcaa,0xfcab,0xfcac,0xfcad,0xfcae,0x0000,0xfcaf,0xfcb0,0x0000,0xfcb2,0xfcb3,0xfcb4,0x0000,0xfcb5,0xfcb8,// 廓擴攫確碻穫 丸喚 宦幻患 換桓
|
||||
0xfcb6,0xfcb9,0xfcba,0xfcbb,0xfcbc,0xfcbd,0xfcbe,0xfcbf,0x0000,0xfcc0,0xfcc1,0xfcc2,0xfcc3,0xfcc4,0xfcc5,0x0000,// 歡渙煥環紈還驩鰥 活滑猾豁闊凰
|
||||
// 0x6740 - 0x67ff
|
||||
0x0000,0x0000,0xfcc7,0x0000,0xfcc8,0xfccb,0xfcc9,0xfccc,0xfccf,0xfcd1,0xfcd3,0xfcd5,0xfcd6,0xfcd8,0xfcd9,0xfcda,// 徨 恍慌惶晃況滉煌皇篁荒蝗遑
|
||||
0xfcdb,0xfcdc,0xfcde,0xfcdf,0xfce0,0xfce1,0xfce2,0xfce3,0xfce4,0xfce5,0xfce6,0xfce7,0xfce8,0xfce9,0xfcea,0xfceb,// 隍黃回廻徊恢悔懷晦會檜淮澮灰獪繪
|
||||
0xfcec,0xfcee,0xfcef,0xfcf0,0xfcf1,0xfcf2,0xfcf4,0xfcf6,0xfcf7,0x0000,0xfcf8,0xfcf9,0xfcfb,0xfcfc,0xfda1,0xfda2,// 膾蛔誨賄劃獲橫哮嚆 孝效曉梟爻肴
|
||||
0xfda3,0xfda5,0xfda6,0xfda7,0xfda8,0xfda9,0xfdaa,0xfdab,0xfdad,0xfdae,0x0000,0xfdb1,0x0000,0xfdb3,0xfdb4,0xfdb5,// 酵侯候厚后吼喉嗅後朽 逅 勳塤壎
|
||||
0xfdbb,0xfdb6,0xfdb7,0xfdb8,0xfdb9,0xfdba,0xfdbc,0xfdbd,0xfdc0,0xfdc1,0xfdc2,0xfdc3,0xfdc4,0xfdc5,0xfdc6,0xfdc7,// 暈焄熏燻薰訓薨喧萱卉喙毁彙徽揮暉
|
||||
0xfdc8,0xfdc9,0xfdca,0xfdcb,0xfdcc,0xfdcd,0xfdce,0xfdcf,0xfdd0,0xfdd1,0xfdd2,0xfdd3,0xfdd5,0xfdd6,0xfdd4,0xfdd7,// 煇諱輝麾休携烋畦虧恤譎鷸凶匈兇洶
|
||||
0xfdd8,0xfdd9,0x0000,0xfdda,0xfddb,0xfddd,0xfdde,0xfddf,0xfde0,0x0000,0xfde2,0xfde4,0xfde3,0xfde5,0xfde6,0xfde7,// 胸黑 昕欣痕吃屹紇 欠歆欽吸恰洽
|
||||
0xfde9,0xfdea,0xfdec,0xfded,0xfdef,0xfdf0,0xfdf1,0xfdf6,0xfdf2,0xfdf4,0xfdfa,0xfdf7,0xfdeb,0xfdf8,0xfdfb,0xfdfc,// 興僖喜噫姬嬉希曦憙戱犧熙凞熹禧稀
|
||||
0xfdfd,0xfdfe,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 羲詰
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x6840 - 0x68ff
|
||||
0x0000,0xcaae,0xcab1,0xcab2,0xcac2,0xcac9,0xcad3,0xcad4,0xcad8,0xcae9,0xcaf1,0xcaf9,0xcafb,0xcafd,0xcba8,0xcbb1,// 枷珂痂慤侃柬桿磵蝎戡瞰邯鑒堈畺
|
||||
0xcbb4,0xcbb6,0xcbb8,0xcbbe,0xcbc3,0xcbd0,0xcbd1,0xcbd3,0xcbda,0xcbe4,0xcbe6,0xcbe9,0xcbf1,0xcbf2,0xcbfa,0xcbfd,// 絳羌舡鱇塏豈鎧喀倨祛踞鉅楗腱桀劒
|
||||
0xcca2,0xcca6,0xccae,0xccbc,0xccc6,0xccc9,0xccca,0xcccc,0xccd0,0xccd5,0xccde,0xcce0,0xccf7,0xcda1,0xcdb6,0xcdbc,// 鈐迲膈抉鉗俓倞儆坰憬烱璥堺棨尻暠
|
||||
0xcdbe,0xcdc4,0xcdc9,0xcdca,0xcde4,0xcde6,0xcdf5,0xcdf7,0xcdf9,0xcdfa,0xcea5,0xcea7,0xceb5,0xcec2,0xcec9,0xcfa6,// 槁羔苽菰琨鯤珙蚣鞏串跨鍋琯侊炚坵
|
||||
0xcfbe,0xcfca,0xcfd4,0xcfd9,0xcfe4,0xcfec,0xcfee,0xcff1,0xcff2,0xcffb,0xcffc,0xd0a7,0xd0ab,0xd0b2,0xd0b4,0xd0c2,// 耉銶鞫裙芎捲淃獗蕨句晷槻竅勻畇劤
|
||||
0xd0d2,0xd0d4,0xd0d9,0xd0df,0xd0f2,0xd1ac,0xd1af,0xd1b5,0xd1bc,0xd1c5,0xd1d4,0xd1d5,0xd1d6,0xd1d8,0xd1db,0xd1dc,// 妗昑芩伋埼玘璂祁羈錤喇奈娜懶癩羅
|
||||
0xd1dd,0xd1de,0xd1df,0xd1e0,0xd1e2,0xd1e3,0xd1e4,0xd1e5,0xd1e6,0xd1e8,0xd1e9,0xd1ea,0xd1eb,0xd1ed,0xd1ef,0xd1f0,// 蘿螺裸邏樂洛烙珞落酪駱亂卵欄爛蘭
|
||||
0xd1f2,0xd1f6,0xd1f7,0xd1f8,0xd1f9,0xd1fa,0xd1fc,0xd1fd,0xd1fe,0xd2a2,0xd2a3,0xd2a4,0xd2a7,0xd2a8,0xd2a9,0xd2aa,// 鸞嵐枏楠湳濫藍襤拉臘蠟衲廊朗浪狼
|
||||
0xd2ab,0xd2ad,0xd2b2,0xd2b5,0xd2bc,0xd2be,0xd2c2,0xd2c3,0xd2c4,0xd2c6,0xd2c7,0xd2c8,0xd2c9,0xd2ca,0xd2cb,0xd2cc,// 郎來冷撚寗勞擄櫓爐盧老蘆虜路露駑
|
||||
0xd2cd,0xd2ce,0xd2cf,0xd2d0,0xd2d1,0xd2d2,0xd2d3,0xd2d4,0xd2d5,0xd2d6,0xd2d7,0xd2d9,0xd2da,0xd2de,0xd2df,0xd2e1,// 魯鷺碌祿綠菉錄鹿論壟弄籠聾牢磊賂
|
||||
0xd2e2,0xd2e4,0xd2e5,0xd2e6,0xd2e7,0xd2e8,0xd2e9,0xd2ea,0xd2eb,0xd2ee,0xd2f0,0xd2f1,0xd2f2,0xd2f3,0xd2f4,0xd2f5,// 雷壘屢樓淚漏累縷陋杻勒肋凜凌稜綾
|
||||
0xd2f7,0xd2f8,0xd3a2,0xd3a7,0xd3b6,0xd3bb,0xd3bc,0xd3c0,0xd3c6,0xd3ca,0xd3cc,0xd3d4,0xd3d9,0xd3dd,0xd3f7,0x0000,// 菱陵亶彖澾坍憺湛蕁錟畓戇螳坮嶋
|
||||
// 0x6940 - 0x69ff
|
||||
0x0000,0xd3fc,0xd4a2,0xd4ad,0xd4c5,0xd4c8,0xd4e8,0xd4ec,0xd4f1,0xd4fc,0xd5ab,0xd5ae,0xd5cf,0xd5d0,0xd5e3,0xd6a2,// 掉櫂覩旽焞逗芚嶝拏諾丹崍徠儷璉
|
||||
0xd6b8,0xd6b9,0xd6bd,0xd6c0,0xd6c8,0xd6cd,0xd6cf,0xd6d1,0xd6df,0xd6e1,0xd6ee,0xd6f2,0xd7a2,0xd7a5,0xd7aa,0xd7ad,// 寧岺笭聆澧怒擄潞祿菉瀨賚鬧婁瘻蔞
|
||||
0xd7af,0xd7b2,0xd7b7,0xd7c2,0xd7cf,0xd7da,0xd7df,0xd7e4,0xd7e8,0xd7e9,0xd7eb,0xd7f1,0xd8a7,0xd8b1,0xd8b2,0xd8b3,// 鏤旒瀏侖凜唎浬異羸莉裡潾碼邈万卍
|
||||
0xd8c5,0xd8c9,0xd8d6,0xd8f7,0xd9a7,0xd9aa,0xd9ac,0xd9b9,0xd9c1,0xd9c5,0xd9d0,0xd9df,0xd9e4,0xd9ea,0xd9ee,0xd9fa,// 唜茉輞沔椧瞑蓂摹瑁芼鶩竗憮楙珷們
|
||||
0xdaa7,0xdaa9,0xdab2,0xdab3,0xdab5,0xdabd,0xdabe,0xdac9,0xdaee,0xdaf0,0xdaf1,0xdafd,0xdbb3,0xdbb5,0xdbb6,0xdbcc,// 雯沕梶楣湄黴岷緡瘢盼磐渤枋滂磅焙
|
||||
0xdbdf,0xdbe2,0xdbfc,0xdca2,0xdcb8,0xdcc0,0xdcca,0xdccc,0xdcde,0xdcec,0xdcf4,0xdcf6,0xdcfb,0xdda1,0xddb2,0xddb4,// 幡燔檗蘗棅騈珤菩輹熢不俯咐孚艀莩
|
||||
0xddc3,0xddcb,0xddd3,0xddd8,0xdded,0xddf0,0xddf1,0xddf9,0xddfb,0xdead,0xdeb3,0xdeb7,0xdec6,0xdeda,0xdefa,0xdfac,// 吩昐賁彿枇毖毗秕粃嚬浜玭俟柶麝霰
|
||||
0xdfb0,0xdfbc,0xdfc7,0xdfe0,0xdff2,0xdffb,0xe0bd,0xe0c0,0xe0c2,0xe0c4,0xe0d6,0xe0d7,0xe0dc,0xe0e1,0xe0e5,0xe0e6,// 煞鈒峠嗇捿筮嬋敾渲琁鐥饍泄褻齧剡
|
||||
0xe0ed,0xe0f4,0xe0fb,0xe1c4,0xe1c6,0xe1d7,0xe1da,0xe1db,0xe1de,0xe1e0,0xe1e2,0xe1e5,0xe1e7,0xe1fc,0xe2af,0xe2b0,// 陝宬珹瘙篠涑謖贖巽蓀飡悚淞峀琇璲
|
||||
0xe2c2,0xe2ca,0xe2d8,0xe2da,0xe2db,0xe2df,0xe2e3,0xe2e5,0xe2f1,0xe2f2,0xe2f4,0xe2fc,0xe3ba,0xe3ce,0xe3d9,0xe3da,// 讐隧潚琡璹徇栒橓蓴蕣諄鉥屎豕篒蝕
|
||||
0xe3e0,0xe3f0,0xe4a6,0xe4af,0xe4b5,0xe4c1,0xe4c7,0xe4c8,0xe4ca,0xe4d5,0xe4da,0xe4db,0xe4f9,0xe4fc,0xe5b1,0xe5b2,// 侁藎諶啞莪幄鄂鍔鰐鮟唵岩扼縊掠略
|
||||
0xe5b6,0xe5b9,0xe5bb,0xe5bc,0xe5c4,0xe5cc,0xe5ce,0xe5d0,0xe5d2,0xe5d6,0xe5dc,0xe5ee,0xe5ef,0xe5f7,0xe5fa,0x0000,// 蒻亮兩凉梁禳糧良諒量瘀蘖俺円勵
|
||||
// 0x6a40 - 0x6aff
|
||||
0x0000,0xe5fb,0xe5fc,0xe5fe,0xe6a1,0xe6a4,0xe6a5,0xe6a6,0xe6a7,0xe6a9,0xe6aa,0xe6ab,0xe6ac,0xe6ad,0xe6af,0xe6b0,// 呂女廬旅濾璵礖礪艅茹輿轝閭驪麗
|
||||
0xe6b1,0xe6b3,0xe6b7,0xe6b8,0xe6bc,0xe6c4,0xe6c6,0xe6c7,0xe6c9,0xe6cc,0xe6d2,0xe6d6,0xe6d9,0xe6dc,0xe6df,0xe6e0,// 黎力曆歷轢年憐戀挻沇漣煉璉秊練縯
|
||||
0xe6e1,0xe6e4,0xe6e5,0xe6e6,0xe6e8,0xe6ea,0xe6eb,0xe6ef,0xe6f1,0xe6f5,0xe6f6,0xe6f7,0xe6f9,0xe6fc,0xe7a1,0xe7a6,// 聯輦蓮連鍊列劣烈裂廉念捻殮琰簾獵
|
||||
0xe7a9,0xe7aa,0xe7ac,0xe7ad,0xe7ae,0xe7b0,0xe7b7,0xe7b9,0xe7bb,0xe7bc,0xe7be,0xe7bf,0xe7c4,0xe7c6,0xe7c7,0xe7cb,// 令囹寧嶺嶸怜渶濚瀯煐獰玲穎羚聆鈴
|
||||
0xe7cc,0xe7cd,0xe7ce,0xe7cf,0xe7d0,0xe7d1,0xe7d3,0xe7d7,0xe7db,0xe7df,0xe7e4,0xe7e6,0xe7eb,0xe7f1,0xe7f8,0xe7f9,// 鍈零霙靈領乂例汭穢禮醴隸俉塢懊敖
|
||||
0xe7fe,0xe8a2,0xe8a4,0xe8a7,0xe8a8,0xe8b2,0xe8bd,0xe8c1,0xe8c9,0xe8ca,0xe8cd,0xe8d2,0xe8df,0xe8e3,0xe8e7,0xe8e8,// 澳熬筽鰲鼇縕饔窪梡椀琓脘娃嵬了僚
|
||||
0xe8ef,0xe8f0,0xe8f1,0xe8f5,0xe8f7,0xe8fb,0xe8fc,0xe8fe,0xe9a7,0xe9ac,0xe9b2,0xe9b5,0xe9b9,0xe9ba,0xe9bd,0xe9bf,// 寥寮尿撓料燎燿療蓼遼縟俑埇墉慂涌
|
||||
0xe9c5,0xe9cc,0xe9d9,0xe9db,0xe9dc,0xe9e1,0xe9e4,0xe9e9,0xe9ed,0xe9ee,0xe9f1,0xe9f8,0xe9fa,0xe9fb,0xe9fe,0xeaa7,// 甬龍旴玗瑀紆藕釪勖彧栯橒澐熉蕓亐
|
||||
0xeab1,0xeab6,0xeab7,0xeab8,0xeac1,0xead1,0xead9,0xeadc,0xeae5,0xeaf4,0xeaf7,0xeaf9,0xeafb,0xeafc,0xeafe,0xeba3,// 嫄沅洹湲阮暐蔿褘劉杻柳楢洧流溜猷
|
||||
0xeba4,0xeba7,0xeba9,0xebaa,0xebba,0xebbb,0xebbc,0xebbd,0xebc1,0xebc2,0xebc6,0xebc7,0xebcb,0xebcc,0xebcd,0xebcf,// 琉留硫紐類六堉戮陸倫崙淪贇輪鈗律
|
||||
0xebd0,0xebd1,0xebd2,0xebd5,0xebd8,0xebf5,0xebfb,0xeca6,0xeca7,0xecaa,0xecb0,0xecb1,0xecb2,0xecb5,0xecb8,0xecba,// 慄栗率瀜隆椅薏利吏履李梨泥理痢罹
|
||||
0xecbd,0xecbe,0xecc0,0xecc1,0xecc2,0xecc4,0xecc5,0xecc6,0xecc9,0xecca,0xecd0,0xecd5,0xecdd,0xecde,0xecdf,0x0000,// 肄苡裏裡貽邇里離匿溺謚吝燐璘絪
|
||||
// 0x6b40 - 0x6bff
|
||||
0x0000,0xece0,0xece1,0xece2,0xece4,0xece7,0xece8,0xecea,0xecf6,0xecf7,0xecf8,0xecfa,0xecfe,0xeda1,0xeda2,0xeda3,// 茵藺蚓隣鱗麟佚恁林淋臨卄立笠粒
|
||||
0xeda7,0xedbc,0xedcf,0xedf5,0xeeaa,0xeead,0xeec7,0xeec9,0xeed1,0xeed2,0xeed4,0xeedb,0xeee1,0xeeeb,0xeeec,0xeeed,// 芿茨孱臧渽縡紵菹雎齟吊炙翟鏑佃佺
|
||||
0xeef4,0xefa2,0xefa5,0xefa7,0xefb2,0xefbb,0xefc6,0xefde,0xefe0,0xefe3,0xefe6,0xefe7,0xefe8,0xefe9,0xefea,0xeff2,// 塼琠畑筌鐫癤鮎柾檉淀湞瀞炡玎珽綎
|
||||
0xeffb,0xf0d1,0xf0e7,0xf0f5,0xf1a1,0xf1af,0xf1be,0xf1bf,0xf1d9,0xf1e0,0xf1e6,0xf1f9,0xf2af,0xf2ba,0xf2c6,0xf2ca,// 鋌璪雕悰踪姝湊澍寯焌雋繒沚芷唇搢
|
||||
0xf2cc,0xf2cd,0xf2cf,0xf2d5,0xf2dc,0xf2dd,0xf2de,0xf2df,0xf2e9,0xf2ef,0xf2fa,0xf2fc,0xf3a1,0xf3a7,0xf3c2,0xf3cf,// 晋桭殄畛縝臻蔯袗侄瓆什潗鏶侘簒紮
|
||||
0xf3d9,0xf3e1,0xf3e9,0xf3f2,0xf3f3,0xf4a6,0xf4b2,0xf4bd,0xf4cf,0xf4d8,0xf4da,0xf4dc,0xf4f9,0xf5ac,0xf5ad,0xf5be,// 讖愴猖寀寨倜蹠玔輟簽詹堞剿艸苕邨
|
||||
0xf5c2,0xf5c3,0xf5c7,0xf5d8,0xf5e0,0xf5e2,0xf5ec,0xf5f2,0xf5f4,0xf6a1,0xf6b2,0xf6c4,0xf6c9,0xf6da,0xf6e3,0xf6e9,// 悤憁蔥諏鎚騶蹙瑃朮贅厠穉蚩琛咤拖
|
||||
0xf6ee,0xf6f3,0xf6f8,0xf6fd,0xf7af,0xf7b8,0xf7d9,0xf7e6,0xf7ec,0xf7fe,0xf8be,0xf8c2,0xf8db,0xf8e2,0xf8e7,0xf8ed,// 馱坼晫琸眈糖槌闖擺鈑騙枰暴苞逋曝
|
||||
0xf8f0,0xf8fc,0xf8fe,0xf9ae,0xf9b3,0xf9b7,0xf9b8,0xf9bd,0xf9d5,0xf9e7,0xf9e9,0xf9ef,0xf9f4,0xfaa1,0xfaae,0xfabb,// 輻飇驃陂珌苾馝厦瀚銜鹹闔嫦行瀣荇
|
||||
0xfacb,0xfad5,0xfae0,0xfada,0xfadd,0xfad9,0xfba2,0xfba3,0xfba5,0xfba7,0xfba9,0xfbad,0xfbb5,0xfbb7,0xfbc0,0xfbc5,// 櫶俔睍泫玹晛泂滎灐熒瑩逈暳蹊岵晧
|
||||
0xfbd0,0xfbd8,0xfbda,0xfbf4,0xfca6,0xfcb1,0xfcb7,0xfcc6,0xfcca,0xfccd,0xfcce,0xfcd0,0xfcd2,0xfcd4,0xfcd7,0xfcdd,// 琥芦蒿烘譁奐晥幌愰晄榥湟潢璜簧匯
|
||||
0xfced,0xfcf3,0xfcf5,0xfcfa,0xfcfd,0xfcfe,0xfda4,0xfdac,0xfdaf,0xfdb0,0xfdb2,0xfdbe,0xfdbf,0xfddc,0xfde1,0x0000,// 茴宖鐄斅涍淆驍帿煦珝勛暄煊炘訖
|
||||
// 0x6c40 - 0x6cff
|
||||
0x0000,0xfde8,0xfdee,0xfdf3,0xfdf5,0xfdf9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 翕囍憘晞熺
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
};
|
||||
|
||||
public Ebc2Ksc1()
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,596 @@
|
||||
package com.eactive.eai.adapter.wca.util;
|
||||
|
||||
public class Ebc2Ksc2 {
|
||||
protected static char EBC2KSC[] = {
|
||||
// 0x6d40 - 0x6dff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x6e40 - 0x6eff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x6f40 - 0x6fff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x7040 - 0x70ff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x7140 - 0x71ff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x7240 - 0x72ff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x7340 - 0x73ff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x7440 - 0x74ff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x7540 - 0x75ff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x7640 - 0x76ff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x7740 - 0x77ff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x7840 - 0x78ff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x7940 - 0x79ff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x7a40 - 0x7aff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x7b40 - 0x7bff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x7c40 - 0x7cff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x7d40 - 0x7dff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x7e40 - 0x7eff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x7f40 - 0x7fff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x8040 - 0x80ff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x8140 - 0x81ff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x8240 - 0x82ff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x8340 - 0x83ff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x8440 - 0x84ff
|
||||
0x0000,0xa4d4,0x0000,0x0000,0xa4a3,0x0000,0xa4a5,0xa4a6,0x0000,0x0000,0xa4aa,0xa4ab,0xa4ac,0xa4ad,0xa4ae,0xa4af,// ㅤ ㄳ ㄵㄶ ㄺㄻㄼㄽㄾㄿ
|
||||
0xa4b0,0x0000,0x0000,0x0000,0xa4b4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅀ ㅄ
|
||||
0x0000,0xa4bf,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅏ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xa4c0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅐ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xa4c1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅑ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xa4c2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅒ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xa4c3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅓ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x8540 - 0x85ff
|
||||
0x0000,0xa4c4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅔ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xa4c5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅕ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xa4c6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅖ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xa4c7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅗ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xa4c8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅘ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xa4c9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅙ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x8640 - 0x86ff
|
||||
0x0000,0xa4ca,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅚ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xa4cb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅛ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xa4cc,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅜ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xa4cd,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅝ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xa4ce,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅞ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xa4cf,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅟ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x8740 - 0x87ff
|
||||
0x0000,0xa4d0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅠ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xa4d1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅡ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xa4d2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅢ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xa4d3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅣ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x8840 - 0x88ff
|
||||
0x0000,0xa4a1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㄱ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb0a1,0xb0a2,0x0000,0x0000,0xb0a3,0x0000,0x0000,0xb0a4,0xb0a5,0xb0a6,0xb0a7,0x0000,0x0000,0x0000,0x0000,// 가각 간 갇갈갉갊
|
||||
0x0000,0xb0a8,0x0000,0xb0a9,0xb0aa,0xb0ab,0xb0ac,0xb0ad,0xb0ae,0xb0af,0x0000,0xb0b0,0xb0b1,0xb0b2,0x0000,0x0000,// 감 갑값갓갔강갖갗 같갚갛
|
||||
0x0000,0xb0b3,0xb0b4,0x0000,0x0000,0xb0b5,0x0000,0x0000,0x0000,0xb0b6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 개객 갠 갤
|
||||
0x0000,0xb0b7,0x0000,0xb0b8,0x0000,0xb0b9,0xb0ba,0xb0bb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 갬 갭 갯갰갱
|
||||
0x0000,0xb0bc,0xb0bd,0x0000,0x0000,0xb0be,0x0000,0x0000,0x0000,0xb0bf,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 갸갹 갼 걀
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0xb0c0,0x0000,0xb0c1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 걋 걍
|
||||
0x0000,0xb0c2,0x0000,0x0000,0x0000,0xb0c3,0x0000,0x0000,0x0000,0xb0c4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 걔 걘 걜
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb0c5,0xb0c6,0x0000,0x0000,0xb0c7,0x0000,0x0000,0xb0c8,0xb0c9,0x0000,0xb0ca,0x0000,0x0000,0x0000,0x0000,// 거걱 건 걷걸 걺
|
||||
0x0000,0xb0cb,0x0000,0xb0cc,0x0000,0xb0cd,0xb0ce,0xb0cf,0xb0d0,0x0000,0x0000,0xb0d1,0xb0d2,0xb0d3,0x0000,0x0000,// 검 겁 것겄겅겆 겉겊겋
|
||||
// 0x8940 - 0x89ff
|
||||
0x0000,0xb0d4,0x0000,0x0000,0x0000,0xb0d5,0x0000,0x0000,0x0000,0xb0d6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 게 겐 겔
|
||||
0x0000,0xb0d7,0x0000,0xb0d8,0x0000,0xb0d9,0xb0da,0xb0db,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 겜 겝 겟겠겡
|
||||
0x0000,0xb0dc,0xb0dd,0xb0de,0x0000,0xb0df,0x0000,0x0000,0xb0e0,0xb0e1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 겨격겪 견 겯결
|
||||
0x0000,0xb0e2,0x0000,0xb0e3,0x0000,0xb0e4,0xb0e5,0xb0e6,0x0000,0x0000,0x0000,0xb0e7,0x0000,0x0000,0x0000,0x0000,// 겸 겹 겻겼경 곁
|
||||
0x0000,0xb0e8,0x0000,0x0000,0x0000,0xb0e9,0x0000,0x0000,0x0000,0xb0ea,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 계 곈 곌
|
||||
0x0000,0x0000,0x0000,0xb0eb,0x0000,0xb0ec,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 곕 곗
|
||||
0x0000,0xb0ed,0xb0ee,0x0000,0x0000,0xb0ef,0x0000,0x0000,0xb0f0,0xb0f1,0x0000,0xb0f2,0x0000,0xb0f3,0x0000,0x0000,// 고곡 곤 곧골 곪 곬
|
||||
0xb0f4,0xb0f5,0x0000,0xb0f6,0x0000,0xb0f7,0x0000,0xb0f8,0xb0f9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 곯곰 곱 곳 공곶
|
||||
0x0000,0xb0fa,0xb0fb,0x0000,0x0000,0xb0fc,0x0000,0x0000,0x0000,0xb0fd,0x0000,0xb0fe,0x0000,0x0000,0x0000,0x0000,// 과곽 관 괄 괆
|
||||
0x0000,0xb1a1,0x0000,0xb1a2,0x0000,0xb1a3,0x0000,0xb1a4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 괌 괍 괏 광
|
||||
0x0000,0xb1a5,0x0000,0x0000,0x0000,0xb1a6,0x0000,0x0000,0x0000,0xb1a7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 괘 괜 괠
|
||||
0x0000,0x0000,0x0000,0xb1a8,0x0000,0x0000,0xb1a9,0xb1aa,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 괩 괬괭
|
||||
// 0x8a40 - 0x8aff
|
||||
0x0000,0xb1ab,0xb1ac,0x0000,0x0000,0xb1ad,0x0000,0x0000,0x0000,0xb1ae,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 괴괵 괸 괼
|
||||
0x0000,0xb1af,0x0000,0xb1b0,0x0000,0xb1b1,0x0000,0xb1b2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 굄 굅 굇 굉
|
||||
0x0000,0xb1b3,0x0000,0x0000,0x0000,0xb1b4,0x0000,0x0000,0x0000,0xb1b5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 교 굔 굘
|
||||
0x0000,0x0000,0x0000,0xb1b6,0x0000,0xb1b7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 굡 굣
|
||||
0x0000,0xb1b8,0xb1b9,0x0000,0x0000,0xb1ba,0x0000,0x0000,0xb1bb,0xb1bc,0xb1bd,0xb1be,0x0000,0x0000,0x0000,0x0000,// 구국 군 굳굴굵굶
|
||||
0xb1bf,0xb1c0,0x0000,0xb1c1,0x0000,0xb1c2,0x0000,0xb1c3,0xb1c4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 굻굼 굽 굿 궁궂
|
||||
0x0000,0xb1c5,0xb1c6,0x0000,0x0000,0xb1c7,0x0000,0x0000,0x0000,0xb1c8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 궈궉 권 궐
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xb1c9,0xb1ca,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 궜궝
|
||||
0x0000,0xb1cb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 궤
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0xb1cc,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 궷
|
||||
0x0000,0xb1cd,0xb1ce,0x0000,0x0000,0xb1cf,0x0000,0x0000,0x0000,0xb1d0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 귀귁 귄 귈
|
||||
0x0000,0xb1d1,0x0000,0xb1d2,0x0000,0xb1d3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 귐 귑 귓
|
||||
// 0x8b40 - 0x8bff
|
||||
0x0000,0xb1d4,0x0000,0x0000,0x0000,0xb1d5,0x0000,0x0000,0x0000,0xb1d6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 규 균 귤
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb1d7,0xb1d8,0x0000,0x0000,0xb1d9,0x0000,0x0000,0xb1da,0xb1db,0xb1dc,0x0000,0x0000,0x0000,0x0000,0x0000,// 그극 근 귿글긁
|
||||
0x0000,0xb1dd,0x0000,0xb1de,0x0000,0xb1df,0x0000,0xb1e0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 금 급 긋 긍
|
||||
0x0000,0xb1e1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 긔
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb1e2,0xb1e3,0x0000,0x0000,0xb1e4,0x0000,0x0000,0xb1e5,0xb1e6,0x0000,0xb1e7,0x0000,0x0000,0x0000,0x0000,// 기긱 긴 긷길 긺
|
||||
0x0000,0xb1e8,0x0000,0xb1e9,0x0000,0xb1ea,0x0000,0xb1eb,0xb1ec,0x0000,0x0000,0x0000,0xb1ed,0x0000,0x0000,0x0000,// 김 깁 깃 깅깆 깊
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x8c40 - 0x8cff
|
||||
0x0000,0xa4a2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㄲ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb1ee,0xb1ef,0xb1f0,0x0000,0xb1f1,0x0000,0x0000,0x0000,0xb1f2,0x0000,0xb1f3,0x0000,0x0000,0x0000,0x0000,// 까깍깎 깐 깔 깖
|
||||
0x0000,0xb1f4,0x0000,0xb1f5,0x0000,0xb1f6,0xb1f7,0xb1f8,0x0000,0x0000,0x0000,0xb1f9,0x0000,0x0000,0x0000,0x0000,// 깜 깝 깟깠깡 깥
|
||||
0x0000,0xb1fa,0xb1fb,0x0000,0x0000,0xb1fc,0x0000,0x0000,0x0000,0xb1fd,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 깨깩 깬 깰
|
||||
0x0000,0xb1fe,0x0000,0xb2a1,0x0000,0xb2a2,0xb2a3,0xb2a4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 깸 깹 깻깼깽
|
||||
0x0000,0xb2a5,0xb2a6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xb2a7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 꺄꺅 꺌
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb2a8,0xb2a9,0xb2aa,0x0000,0xb2ab,0x0000,0x0000,0x0000,0xb2ac,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 꺼꺽꺾 껀 껄
|
||||
0x0000,0xb2ad,0x0000,0xb2ae,0x0000,0xb2af,0xb2b0,0xb2b1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 껌 껍 껏껐껑
|
||||
// 0x8d40 - 0x8dff
|
||||
0x0000,0xb2b2,0xb2b3,0x0000,0x0000,0xb2b4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 께껙 껜
|
||||
0x0000,0xb2b5,0x0000,0x0000,0x0000,0xb2b6,0x0000,0xb2b7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 껨 껫 껭
|
||||
0x0000,0xb2b8,0x0000,0x0000,0x0000,0xb2b9,0x0000,0x0000,0x0000,0xb2ba,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 껴 껸 껼
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0xb2bb,0xb2bc,0x0000,0x0000,0x0000,0x0000,0xb2bd,0x0000,0x0000,0x0000,0x0000,// 꼇꼈 꼍
|
||||
0x0000,0xb2be,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 꼐
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb2bf,0xb2c0,0x0000,0x0000,0xb2c1,0x0000,0xb2c2,0x0000,0xb2c3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 꼬꼭 꼰 꼲 꼴
|
||||
0x0000,0xb2c4,0x0000,0xb2c5,0x0000,0xb2c6,0x0000,0xb2c7,0xb2c8,0xb2c9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 꼼 꼽 꼿 꽁꽂꽃
|
||||
0x0000,0xb2ca,0xb2cb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xb2cc,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 꽈꽉 꽐
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xb2cd,0xb2ce,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 꽜꽝
|
||||
0x0000,0xb2cf,0xb2d0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 꽤꽥
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xb2d1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 꽹
|
||||
// 0x8e40 - 0x8eff
|
||||
0x0000,0xb2d2,0x0000,0x0000,0x0000,0xb2d3,0x0000,0x0000,0x0000,0xb2d4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 꾀 꾄 꾈
|
||||
0x0000,0xb2d5,0x0000,0xb2d6,0x0000,0x0000,0x0000,0xb2d7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 꾐 꾑 꾕
|
||||
0x0000,0xb2d8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 꾜
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb2d9,0xb2da,0x0000,0x0000,0xb2db,0x0000,0x0000,0x0000,0xb2dc,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 꾸꾹 꾼 꿀
|
||||
0xb2dd,0xb2de,0x0000,0xb2df,0x0000,0xb2e0,0x0000,0xb2e1,0xb2e2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 꿇꿈 꿉 꿋 꿍꿎
|
||||
0x0000,0xb2e3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xb2e4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 꿔 꿜
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xb2e5,0xb2e6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 꿨꿩
|
||||
0x0000,0xb2e7,0xb2e8,0x0000,0x0000,0xb2e9,0x0000,0x0000,0x0000,0xb2ea,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 꿰꿱 꿴 꿸
|
||||
0x0000,0xb2eb,0x0000,0xb2ec,0x0000,0x0000,0xb2ed,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뀀 뀁 뀄
|
||||
0x0000,0xb2ee,0x0000,0x0000,0x0000,0xb2ef,0x0000,0x0000,0x0000,0xb2f0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뀌 뀐 뀔
|
||||
0x0000,0xb2f1,0x0000,0xb2f2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뀜 뀝
|
||||
// 0x8f40 - 0x8fff
|
||||
0x0000,0xb2f3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뀨
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb2f4,0xb2f5,0x0000,0x0000,0xb2f6,0x0000,0xb2f7,0x0000,0xb2f8,0x0000,0xb2f9,0x0000,0x0000,0x0000,0x0000,// 끄끅 끈 끊 끌 끎
|
||||
0xb2fa,0xb2fb,0x0000,0xb2fc,0x0000,0xb2fd,0x0000,0xb2fe,0x0000,0x0000,0x0000,0xb3a1,0x0000,0x0000,0x0000,0x0000,// 끓끔 끕 끗 끙 끝
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb3a2,0xb3a3,0x0000,0x0000,0xb3a4,0x0000,0x0000,0x0000,0xb3a5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 끼끽 낀 낄
|
||||
0x0000,0xb3a6,0x0000,0xb3a7,0x0000,0xb3a8,0x0000,0xb3a9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 낌 낍 낏 낑
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x9040 - 0x90ff
|
||||
0x0000,0xa4a4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㄴ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb3aa,0xb3ab,0xb3ac,0x0000,0xb3ad,0x0000,0x0000,0xb3ae,0xb3af,0xb3b0,0xb3b1,0x0000,0x0000,0x0000,0x0000,// 나낙낚 난 낟날낡낢
|
||||
0x0000,0xb3b2,0x0000,0xb3b3,0x0000,0xb3b4,0xb3b5,0xb3b6,0xb3b7,0xb3b8,0x0000,0xb3b9,0x0000,0xb3ba,0x0000,0x0000,// 남 납 낫났낭낮낯 낱 낳
|
||||
0x0000,0xb3bb,0xb3bc,0x0000,0x0000,0xb3bd,0x0000,0x0000,0x0000,0xb3be,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 내낵 낸 낼
|
||||
0x0000,0xb3bf,0x0000,0xb3c0,0x0000,0xb3c1,0xb3c2,0xb3c3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 냄 냅 냇냈냉
|
||||
0x0000,0xb3c4,0xb3c5,0x0000,0x0000,0xb3c6,0x0000,0x0000,0x0000,0xb3c7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 냐냑 냔 냘
|
||||
0x0000,0xb3c8,0x0000,0x0000,0x0000,0x0000,0x0000,0xb3c9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 냠 냥
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb3ca,0xb3cb,0x0000,0xb3cc,0xb3cd,0x0000,0x0000,0x0000,0xb3ce,0x0000,0xb3cf,0xb3d0,0x0000,0x0000,0x0000,// 너넉 넋넌 널 넒넓
|
||||
0x0000,0xb3d1,0x0000,0xb3d2,0x0000,0xb3d3,0xb3d4,0xb3d5,0x0000,0x0000,0x0000,0x0000,0x0000,0xb3d6,0x0000,0x0000,// 넘 넙 넛넜넝 넣
|
||||
// 0x9140 - 0x91ff
|
||||
0x0000,0xb3d7,0xb3d8,0x0000,0x0000,0xb3d9,0x0000,0x0000,0x0000,0xb3da,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 네넥 넨 넬
|
||||
0x0000,0xb3db,0x0000,0xb3dc,0x0000,0xb3dd,0xb3de,0xb3df,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 넴 넵 넷넸넹
|
||||
0x0000,0xb3e0,0xb3e1,0x0000,0x0000,0xb3e2,0x0000,0x0000,0x0000,0xb3e3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 녀녁 년 녈
|
||||
0x0000,0xb3e4,0x0000,0xb3e5,0x0000,0x0000,0xb3e6,0xb3e7,0x0000,0x0000,0xb3e8,0x0000,0x0000,0x0000,0x0000,0x0000,// 념 녑 녔녕 녘
|
||||
0x0000,0xb3e9,0x0000,0x0000,0x0000,0xb3ea,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 녜 녠
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb3eb,0xb3ec,0x0000,0x0000,0xb3ed,0x0000,0x0000,0x0000,0xb3ee,0x0000,0xb3ef,0x0000,0x0000,0x0000,0x0000,// 노녹 논 놀 놂
|
||||
0x0000,0xb3f0,0x0000,0xb3f1,0x0000,0xb3f2,0x0000,0xb3f3,0x0000,0x0000,0x0000,0x0000,0xb3f4,0xb3f5,0x0000,0x0000,// 놈 놉 놋 농 높놓
|
||||
0x0000,0xb3f6,0x0000,0x0000,0x0000,0xb3f7,0x0000,0x0000,0x0000,0xb3f8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 놔 놘 놜
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xb3f9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 놨
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x9240 - 0x92ff
|
||||
0x0000,0xb3fa,0x0000,0x0000,0x0000,0xb3fb,0x0000,0x0000,0x0000,0xb3fc,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뇌 뇐 뇔
|
||||
0x0000,0xb3fd,0x0000,0xb3fe,0x0000,0xb4a1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뇜 뇝 뇟
|
||||
0x0000,0xb4a2,0xb4a3,0x0000,0x0000,0xb4a4,0x0000,0x0000,0x0000,0xb4a5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뇨뇩 뇬 뇰
|
||||
0x0000,0x0000,0x0000,0xb4a6,0x0000,0xb4a7,0x0000,0xb4a8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뇹 뇻 뇽
|
||||
0x0000,0xb4a9,0xb4aa,0x0000,0x0000,0xb4ab,0x0000,0x0000,0xb4ac,0xb4ad,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 누눅 눈 눋눌
|
||||
0x0000,0xb4ae,0x0000,0xb4af,0x0000,0xb4b0,0x0000,0xb4b1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 눔 눕 눗 눙
|
||||
0x0000,0xb4b2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 눠
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xb4b3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 눴
|
||||
0x0000,0xb4b4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 눼
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb4b5,0x0000,0x0000,0x0000,0xb4b6,0x0000,0x0000,0x0000,0xb4b7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뉘 뉜 뉠
|
||||
0x0000,0xb4b8,0x0000,0xb4b9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뉨 뉩
|
||||
// 0x9340 - 0x93ff
|
||||
0x0000,0xb4ba,0xb4bb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xb4bc,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뉴뉵 뉼
|
||||
0x0000,0xb4bd,0x0000,0xb4be,0x0000,0x0000,0x0000,0xb4bf,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 늄 늅 늉
|
||||
0x0000,0xb4c0,0xb4c1,0x0000,0x0000,0xb4c2,0x0000,0x0000,0x0000,0xb4c3,0xb4c4,0xb4c5,0x0000,0x0000,0x0000,0x0000,// 느늑 는 늘늙늚
|
||||
0x0000,0xb4c6,0x0000,0xb4c7,0x0000,0xb4c8,0x0000,0xb4c9,0xb4ca,0x0000,0x0000,0x0000,0xb4cb,0x0000,0x0000,0x0000,// 늠 늡 늣 능늦 늪
|
||||
0x0000,0xb4cc,0x0000,0x0000,0x0000,0xb4cd,0x0000,0x0000,0x0000,0xb4ce,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 늬 늰 늴
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb4cf,0xb4d0,0x0000,0x0000,0xb4d1,0x0000,0x0000,0x0000,0xb4d2,0x0000,0xb4d3,0x0000,0x0000,0x0000,0x0000,// 니닉 닌 닐 닒
|
||||
0x0000,0xb4d4,0x0000,0xb4d5,0x0000,0xb4d6,0x0000,0xb4d7,0x0000,0x0000,0x0000,0x0000,0xb4d8,0x0000,0x0000,0x0000,// 님 닙 닛 닝 닢
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x9440 - 0x94ff
|
||||
0x0000,0xa4a7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㄷ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb4d9,0xb4da,0xb4db,0x0000,0xb4dc,0x0000,0x0000,0xb4dd,0xb4de,0xb4df,0xb4e0,0xb4e1,0x0000,0x0000,0x0000,// 다닥닦 단 닫달닭닮닯
|
||||
0xb4e2,0xb4e3,0x0000,0xb4e4,0x0000,0xb4e5,0xb4e6,0xb4e7,0xb4e8,0xb4e9,0x0000,0x0000,0x0000,0xb4ea,0x0000,0x0000,// 닳담 답 닷닸당닺닻 닿
|
||||
0x0000,0xb4eb,0xb4ec,0x0000,0x0000,0xb4ed,0x0000,0x0000,0x0000,0xb4ee,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 대댁 댄 댈
|
||||
0x0000,0xb4ef,0x0000,0xb4f0,0x0000,0xb4f1,0xb4f2,0xb4f3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 댐 댑 댓댔댕
|
||||
0x0000,0xb4f4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 댜
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb4f5,0xb4f6,0xb4f7,0x0000,0xb4f8,0x0000,0x0000,0xb4f9,0xb4fa,0x0000,0xb4fb,0xb4fc,0x0000,0x0000,0x0000,// 더덕덖 던 덛덜 덞덟
|
||||
0x0000,0xb4fd,0x0000,0xb4fe,0x0000,0xb5a1,0x0000,0xb5a2,0x0000,0xb5a3,0x0000,0x0000,0xb5a4,0x0000,0x0000,0x0000,// 덤 덥 덧 덩 덫 덮
|
||||
// 0x9540 - 0x95ff
|
||||
0x0000,0xb5a5,0xb5a6,0x0000,0x0000,0xb5a7,0x0000,0x0000,0x0000,0xb5a8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 데덱 덴 델
|
||||
0x0000,0xb5a9,0x0000,0xb5aa,0x0000,0xb5ab,0xb5ac,0xb5ad,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뎀 뎁 뎃뎄뎅
|
||||
0x0000,0xb5ae,0x0000,0x0000,0x0000,0xb5af,0x0000,0x0000,0x0000,0xb5b0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뎌 뎐 뎔
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xb5b1,0xb5b2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뎠뎡
|
||||
0x0000,0xb5b3,0x0000,0x0000,0x0000,0xb5b4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뎨 뎬
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb5b5,0xb5b6,0x0000,0x0000,0xb5b7,0x0000,0x0000,0xb5b8,0xb5b9,0x0000,0xb5ba,0x0000,0xb5bb,0x0000,0x0000,// 도독 돈 돋돌 돎 돐
|
||||
0x0000,0xb5bc,0x0000,0xb5bd,0x0000,0xb5be,0x0000,0xb5bf,0x0000,0xb5c0,0x0000,0xb5c1,0x0000,0x0000,0x0000,0x0000,// 돔 돕 돗 동 돛 돝
|
||||
0x0000,0xb5c2,0x0000,0x0000,0x0000,0xb5c3,0x0000,0x0000,0x0000,0xb5c4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 돠 돤 돨
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb5c5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 돼
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xb5c6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 됐
|
||||
// 0x9640 - 0x96ff
|
||||
0x0000,0xb5c7,0x0000,0x0000,0x0000,0xb5c8,0x0000,0x0000,0x0000,0xb5c9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 되 된 될
|
||||
0x0000,0xb5ca,0x0000,0xb5cb,0x0000,0xb5cc,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 됨 됩 됫
|
||||
0x0000,0xb5cd,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 됴
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb5ce,0xb5cf,0x0000,0x0000,0xb5d0,0x0000,0x0000,0x0000,0xb5d1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 두둑 둔 둘
|
||||
0x0000,0xb5d2,0x0000,0xb5d3,0x0000,0xb5d4,0x0000,0xb5d5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 둠 둡 둣 둥
|
||||
0x0000,0xb5d6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 둬
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xb5d7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뒀
|
||||
0x0000,0xb5d8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뒈
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xb5d9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뒝
|
||||
0x0000,0xb5da,0x0000,0x0000,0x0000,0xb5db,0x0000,0x0000,0x0000,0xb5dc,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뒤 뒨 뒬
|
||||
0x0000,0x0000,0x0000,0xb5dd,0x0000,0xb5de,0x0000,0xb5df,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뒵 뒷 뒹
|
||||
// 0x9740 - 0x97ff
|
||||
0x0000,0xb5e0,0x0000,0x0000,0x0000,0xb5e1,0x0000,0x0000,0x0000,0xb5e2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 듀 듄 듈
|
||||
0x0000,0xb5e3,0x0000,0x0000,0x0000,0x0000,0x0000,0xb5e4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 듐 듕
|
||||
0x0000,0xb5e5,0xb5e6,0x0000,0x0000,0xb5e7,0x0000,0x0000,0xb5e8,0xb5e9,0x0000,0xb5ea,0x0000,0x0000,0x0000,0x0000,// 드득 든 듣들 듦
|
||||
0x0000,0xb5eb,0x0000,0xb5ec,0x0000,0xb5ed,0x0000,0xb5ee,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 듬 듭 듯 등
|
||||
0x0000,0xb5ef,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 듸
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb5f0,0xb5f1,0x0000,0x0000,0xb5f2,0x0000,0x0000,0xb5f3,0xb5f4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 디딕 딘 딛딜
|
||||
0x0000,0xb5f5,0x0000,0xb5f6,0x0000,0xb5f7,0xb5f8,0xb5f9,0xb5fa,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 딤 딥 딧딨딩딪
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x9840 - 0x98ff
|
||||
0x0000,0xa4a8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㄸ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb5fb,0xb5fc,0x0000,0x0000,0xb5fd,0x0000,0x0000,0x0000,0xb5fe,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 따딱 딴 딸
|
||||
0x0000,0xb6a1,0x0000,0xb6a2,0x0000,0xb6a3,0xb6a4,0xb6a5,0x0000,0x0000,0x0000,0x0000,0x0000,0xb6a6,0x0000,0x0000,// 땀 땁 땃땄땅 땋
|
||||
0x0000,0xb6a7,0xb6a8,0x0000,0x0000,0xb6a9,0x0000,0x0000,0x0000,0xb6aa,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 때땍 땐 땔
|
||||
0x0000,0xb6ab,0x0000,0xb6ac,0x0000,0xb6ad,0xb6ae,0xb6af,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 땜 땝 땟땠땡
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb6b0,0xb6b1,0x0000,0x0000,0xb6b2,0x0000,0x0000,0x0000,0xb6b3,0x0000,0xb6b4,0xb6b5,0x0000,0x0000,0x0000,// 떠떡 떤 떨 떪떫
|
||||
0x0000,0xb6b6,0x0000,0xb6b7,0x0000,0xb6b8,0xb6b9,0xb6ba,0x0000,0x0000,0x0000,0x0000,0x0000,0xb6bb,0x0000,0x0000,// 떰 떱 떳떴떵 떻
|
||||
// 0x9940 - 0x99ff
|
||||
0x0000,0xb6bc,0xb6bd,0x0000,0x0000,0xb6be,0x0000,0x0000,0x0000,0xb6bf,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 떼떽 뗀 뗄
|
||||
0x0000,0xb6c0,0x0000,0xb6c1,0x0000,0xb6c2,0xb6c3,0xb6c4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뗌 뗍 뗏뗐뗑
|
||||
0x0000,0xb6c5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뗘
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xb6c6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뗬
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb6c7,0xb6c8,0x0000,0x0000,0xb6c9,0x0000,0x0000,0x0000,0xb6ca,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 또똑 똔 똘
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xb6cb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 똥
|
||||
0x0000,0xb6cc,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xb6cd,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 똬 똴
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb6ce,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뙈
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
};
|
||||
|
||||
public Ebc2Ksc2()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,596 @@
|
||||
package com.eactive.eai.adapter.wca.util;
|
||||
|
||||
public class Ebc2Ksc3 {
|
||||
protected static char EBC2KSC[] = {
|
||||
// 0x9a40 - 0x9aff
|
||||
0x0000,0xb6cf,0x0000,0x0000,0x0000,0xb6d0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뙤 뙨
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb6d1,0xb6d2,0x0000,0x0000,0xb6d3,0x0000,0x0000,0x0000,0xb6d4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뚜뚝 뚠 뚤
|
||||
0xb6d5,0xb6d6,0x0000,0x0000,0x0000,0x0000,0x0000,0xb6d7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뚫뚬 뚱
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb6d8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뛔
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb6d9,0x0000,0x0000,0x0000,0xb6da,0x0000,0x0000,0x0000,0xb6db,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뛰 뛴 뛸
|
||||
0x0000,0xb6dc,0x0000,0xb6dd,0x0000,0x0000,0x0000,0xb6de,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뜀 뜁 뜅
|
||||
// 0x9b40 - 0x9bff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb6df,0xb6e0,0x0000,0x0000,0xb6e1,0x0000,0x0000,0xb6e2,0xb6e3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뜨뜩 뜬 뜯뜰
|
||||
0x0000,0xb6e4,0x0000,0xb6e5,0x0000,0xb6e6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뜸 뜹 뜻
|
||||
0x0000,0xb6e7,0x0000,0x0000,0x0000,0xb6e8,0x0000,0x0000,0x0000,0xb6e9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 띄 띈 띌
|
||||
0x0000,0xb6ea,0x0000,0xb6eb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 띔 띕
|
||||
0x0000,0xb6ec,0x0000,0x0000,0x0000,0xb6ed,0x0000,0x0000,0x0000,0xb6ee,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 띠 띤 띨
|
||||
0x0000,0xb6ef,0x0000,0xb6f0,0x0000,0xb6f1,0x0000,0xb6f2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 띰 띱 띳 띵
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0x9c40 - 0x9cff
|
||||
0x0000,0xa4a9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㄹ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb6f3,0xb6f4,0x0000,0x0000,0xb6f5,0x0000,0x0000,0x0000,0xb6f6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 라락 란 랄
|
||||
0x0000,0xb6f7,0x0000,0xb6f8,0x0000,0xb6f9,0xb6fa,0xb6fb,0xb6fc,0x0000,0x0000,0x0000,0xb6fd,0xb6fe,0x0000,0x0000,// 람 랍 랏랐랑랒 랖랗
|
||||
0x0000,0xb7a1,0xb7a2,0x0000,0x0000,0xb7a3,0x0000,0x0000,0x0000,0xb7a4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 래랙 랜 랠
|
||||
0x0000,0xb7a5,0x0000,0xb7a6,0x0000,0xb7a7,0xb7a8,0xb7a9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 램 랩 랫랬랭
|
||||
0x0000,0xb7aa,0xb7ab,0x0000,0x0000,0xb7ac,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 랴략 랸
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0xb7ad,0x0000,0xb7ae,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 럇 량
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb7af,0xb7b0,0x0000,0x0000,0xb7b1,0x0000,0x0000,0x0000,0xb7b2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 러럭 런 럴
|
||||
0x0000,0xb7b3,0x0000,0xb7b4,0x0000,0xb7b5,0xb7b6,0xb7b7,0x0000,0x0000,0x0000,0x0000,0x0000,0xb7b8,0x0000,0x0000,// 럼 럽 럿렀렁 렇
|
||||
// 0x9d40 - 0x9dff
|
||||
0x0000,0xb7b9,0xb7ba,0x0000,0x0000,0xb7bb,0x0000,0x0000,0x0000,0xb7bc,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 레렉 렌 렐
|
||||
0x0000,0xb7bd,0x0000,0xb7be,0x0000,0xb7bf,0x0000,0xb7c0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 렘 렙 렛 렝
|
||||
0x0000,0xb7c1,0xb7c2,0x0000,0x0000,0xb7c3,0x0000,0x0000,0x0000,0xb7c4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 려력 련 렬
|
||||
0x0000,0xb7c5,0x0000,0xb7c6,0x0000,0xb7c7,0xb7c8,0xb7c9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 렴 렵 렷렸령
|
||||
0x0000,0xb7ca,0x0000,0x0000,0x0000,0xb7cb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 례 롄
|
||||
0x0000,0x0000,0x0000,0xb7cc,0x0000,0xb7cd,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 롑 롓
|
||||
0x0000,0xb7ce,0xb7cf,0x0000,0x0000,0xb7d0,0x0000,0x0000,0x0000,0xb7d1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 로록 론 롤
|
||||
0x0000,0xb7d2,0x0000,0xb7d3,0x0000,0xb7d4,0x0000,0xb7d5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 롬 롭 롯 롱
|
||||
0x0000,0xb7d6,0x0000,0x0000,0x0000,0xb7d7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 롸 롼
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xb7d8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뢍
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xb7d9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뢨
|
||||
// 0x9e40 - 0x9eff
|
||||
0x0000,0xb7da,0x0000,0x0000,0x0000,0xb7db,0x0000,0x0000,0x0000,0xb7dc,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뢰 뢴 뢸
|
||||
0x0000,0xb7dd,0x0000,0xb7de,0x0000,0xb7df,0x0000,0xb7e0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 룀 룁 룃 룅
|
||||
0x0000,0xb7e1,0x0000,0x0000,0x0000,0xb7e2,0x0000,0x0000,0x0000,0xb7e3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 료 룐 룔
|
||||
0x0000,0x0000,0x0000,0xb7e4,0x0000,0xb7e5,0x0000,0xb7e6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 룝 룟 룡
|
||||
0x0000,0xb7e7,0xb7e8,0x0000,0x0000,0xb7e9,0x0000,0x0000,0x0000,0xb7ea,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 루룩 룬 룰
|
||||
0x0000,0xb7eb,0x0000,0xb7ec,0x0000,0xb7ed,0x0000,0xb7ee,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 룸 룹 룻 룽
|
||||
0x0000,0xb7ef,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뤄
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xb7f0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뤘
|
||||
0x0000,0xb7f1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뤠
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb7f2,0xb7f3,0x0000,0x0000,0xb7f4,0x0000,0x0000,0x0000,0xb7f5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뤼뤽 륀 륄
|
||||
0x0000,0xb7f6,0x0000,0x0000,0x0000,0xb7f7,0x0000,0xb7f8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 륌 륏 륑
|
||||
// 0x9f40 - 0x9fff
|
||||
0x0000,0xb7f9,0xb7fa,0x0000,0x0000,0xb7fb,0x0000,0x0000,0x0000,0xb7fc,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 류륙 륜 률
|
||||
0x0000,0xb7fd,0x0000,0xb7fe,0x0000,0xb8a1,0x0000,0xb8a2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 륨 륩 륫 륭
|
||||
0x0000,0xb8a3,0xb8a4,0x0000,0x0000,0xb8a5,0x0000,0x0000,0x0000,0xb8a6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 르륵 른 를
|
||||
0x0000,0xb8a7,0x0000,0xb8a8,0x0000,0xb8a9,0x0000,0xb8aa,0xb8ab,0x0000,0x0000,0xb8ac,0xb8ad,0x0000,0x0000,0x0000,// 름 릅 릇 릉릊 릍릎
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb8ae,0xb8af,0x0000,0x0000,0xb8b0,0x0000,0x0000,0x0000,0xb8b1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 리릭 린 릴
|
||||
0x0000,0xb8b2,0x0000,0xb8b3,0x0000,0xb8b4,0x0000,0xb8b5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 림 립 릿 링
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0xa040 - 0xa0ff
|
||||
0x0000,0xa4b1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅁ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb8b6,0xb8b7,0x0000,0x0000,0xb8b8,0x0000,0xb8b9,0xb8ba,0xb8bb,0xb8bc,0xb8bd,0x0000,0x0000,0x0000,0x0000,// 마막 만 많맏말맑맒
|
||||
0x0000,0xb8be,0x0000,0xb8bf,0x0000,0xb8c0,0x0000,0xb8c1,0xb8c2,0x0000,0x0000,0xb8c3,0x0000,0xb8c4,0x0000,0x0000,// 맘 맙 맛 망맞 맡 맣
|
||||
0x0000,0xb8c5,0xb8c6,0x0000,0x0000,0xb8c7,0x0000,0x0000,0x0000,0xb8c8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 매맥 맨 맬
|
||||
0x0000,0xb8c9,0x0000,0xb8ca,0x0000,0xb8cb,0xb8cc,0xb8cd,0xb8ce,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 맴 맵 맷맸맹맺
|
||||
0x0000,0xb8cf,0xb8d0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xb8d1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 먀먁 먈
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xb8d2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 먕
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb8d3,0xb8d4,0x0000,0x0000,0xb8d5,0x0000,0x0000,0x0000,0xb8d6,0x0000,0xb8d7,0x0000,0x0000,0x0000,0x0000,// 머먹 먼 멀 멂
|
||||
0x0000,0xb8d8,0x0000,0xb8d9,0x0000,0xb8da,0x0000,0xb8db,0xb8dc,0x0000,0x0000,0x0000,0x0000,0xb8dd,0x0000,0x0000,// 멈 멉 멋 멍멎 멓
|
||||
// 0xa140 - 0xa1ff
|
||||
0x0000,0xb8de,0xb8df,0x0000,0x0000,0xb8e0,0x0000,0x0000,0x0000,0xb8e1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 메멕 멘 멜
|
||||
0x0000,0xb8e2,0x0000,0xb8e3,0x0000,0xb8e4,0xb8e5,0xb8e6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 멤 멥 멧멨멩
|
||||
0x0000,0xb8e7,0xb8e8,0x0000,0x0000,0xb8e9,0x0000,0x0000,0x0000,0xb8ea,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 며멱 면 멸
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0xb8eb,0xb8ec,0xb8ed,0x0000,0xb8ee,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 몃몄명 몇
|
||||
0x0000,0xb8ef,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 몌
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb8f0,0xb8f1,0x0000,0xb8f2,0xb8f3,0x0000,0x0000,0x0000,0xb8f4,0x0000,0xb8f5,0x0000,0x0000,0x0000,0x0000,// 모목 몫몬 몰 몲
|
||||
0x0000,0xb8f6,0x0000,0xb8f7,0x0000,0xb8f8,0x0000,0xb8f9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 몸 몹 못 몽
|
||||
0x0000,0xb8fa,0x0000,0x0000,0x0000,0xb8fb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뫄 뫈
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xb8fc,0xb8fd,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뫘뫙
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0xa240 - 0xa2ff
|
||||
0x0000,0xb8fe,0x0000,0x0000,0x0000,0xb9a1,0x0000,0x0000,0x0000,0xb9a2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뫼 묀 묄
|
||||
0x0000,0x0000,0x0000,0xb9a3,0x0000,0xb9a4,0x0000,0xb9a5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 묍 묏 묑
|
||||
0x0000,0xb9a6,0x0000,0x0000,0x0000,0xb9a7,0x0000,0x0000,0x0000,0xb9a8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 묘 묜 묠
|
||||
0x0000,0x0000,0x0000,0xb9a9,0x0000,0xb9aa,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 묩 묫
|
||||
0x0000,0xb9ab,0xb9ac,0xb9ad,0x0000,0xb9ae,0x0000,0x0000,0xb9af,0xb9b0,0xb9b1,0xb9b2,0x0000,0x0000,0x0000,0x0000,// 무묵묶 문 묻물묽묾
|
||||
0x0000,0xb9b3,0x0000,0xb9b4,0x0000,0xb9b5,0x0000,0xb9b6,0x0000,0x0000,0x0000,0xb9b7,0x0000,0xb9b8,0x0000,0x0000,// 뭄 뭅 뭇 뭉 뭍 뭏
|
||||
0x0000,0xb9b9,0x0000,0x0000,0x0000,0xb9ba,0x0000,0x0000,0x0000,0xb9bb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뭐 뭔 뭘
|
||||
0x0000,0x0000,0x0000,0xb9bc,0x0000,0xb9bd,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뭡 뭣
|
||||
0x0000,0xb9be,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뭬
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb9bf,0x0000,0x0000,0x0000,0xb9c0,0x0000,0x0000,0x0000,0xb9c1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뮈 뮌 뮐
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0xa340 - 0xa3ff
|
||||
0x0000,0xb9c2,0x0000,0x0000,0x0000,0xb9c3,0x0000,0x0000,0x0000,0xb9c4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뮤 뮨 뮬
|
||||
0x0000,0xb9c5,0x0000,0x0000,0x0000,0xb9c6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뮴 뮷
|
||||
0x0000,0xb9c7,0x0000,0x0000,0x0000,0xb9c8,0x0000,0x0000,0x0000,0xb9c9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 므 믄 믈
|
||||
0x0000,0xb9ca,0x0000,0x0000,0x0000,0xb9cb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 믐 믓
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb9cc,0xb9cd,0x0000,0x0000,0xb9ce,0x0000,0x0000,0xb9cf,0xb9d0,0x0000,0xb9d1,0x0000,0x0000,0x0000,0x0000,// 미믹 민 믿밀 밂
|
||||
0x0000,0xb9d2,0x0000,0xb9d3,0x0000,0xb9d4,0xb9d5,0xb9d6,0x0000,0xb9d7,0x0000,0xb9d8,0x0000,0x0000,0x0000,0x0000,// 밈 밉 밋밌밍 및 밑
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0xa440 - 0xa4ff
|
||||
0x0000,0xa4b2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅂ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb9d9,0xb9da,0xb9db,0xb9dc,0xb9dd,0x0000,0x0000,0xb9de,0xb9df,0xb9e0,0xb9e1,0xb9e2,0x0000,0x0000,0x0000,// 바박밖밗반 받발밝밞밟
|
||||
0x0000,0xb9e3,0x0000,0xb9e4,0x0000,0xb9e5,0x0000,0xb9e6,0x0000,0x0000,0x0000,0xb9e7,0x0000,0x0000,0x0000,0x0000,// 밤 밥 밧 방 밭
|
||||
0x0000,0xb9e8,0xb9e9,0x0000,0x0000,0xb9ea,0x0000,0x0000,0x0000,0xb9eb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 배백 밴 밸
|
||||
0x0000,0xb9ec,0x0000,0xb9ed,0x0000,0xb9ee,0xb9ef,0xb9f0,0x0000,0x0000,0x0000,0xb9f1,0x0000,0x0000,0x0000,0x0000,// 뱀 뱁 뱃뱄뱅 뱉
|
||||
0x0000,0xb9f2,0xb9f3,0x0000,0x0000,0xb9f4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뱌뱍 뱐
|
||||
0x0000,0x0000,0x0000,0xb9f5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뱝
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xb9f6,0xb9f7,0x0000,0x0000,0xb9f8,0x0000,0x0000,0xb9f9,0xb9fa,0x0000,0xb9fb,0x0000,0x0000,0x0000,0x0000,// 버벅 번 벋벌 벎
|
||||
0x0000,0xb9fc,0x0000,0xb9fd,0x0000,0xb9fe,0x0000,0xbaa1,0xbaa2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 범 법 벗 벙벚
|
||||
// 0xa540 - 0xa5ff
|
||||
0x0000,0xbaa3,0xbaa4,0x0000,0x0000,0xbaa5,0x0000,0x0000,0xbaa6,0xbaa7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 베벡 벤 벧벨
|
||||
0x0000,0xbaa8,0x0000,0xbaa9,0x0000,0xbaaa,0xbaab,0xbaac,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 벰 벱 벳벴벵
|
||||
0x0000,0xbaad,0xbaae,0x0000,0x0000,0xbaaf,0x0000,0x0000,0x0000,0xbab0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 벼벽 변 별
|
||||
0x0000,0x0000,0x0000,0xbab1,0x0000,0xbab2,0xbab3,0xbab4,0x0000,0x0000,0x0000,0xbab5,0x0000,0x0000,0x0000,0x0000,// 볍 볏볐병 볕
|
||||
0x0000,0xbab6,0x0000,0x0000,0x0000,0xbab7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 볘 볜
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xbab8,0xbab9,0xbaba,0x0000,0xbabb,0x0000,0x0000,0x0000,0xbabc,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 보복볶 본 볼
|
||||
0x0000,0xbabd,0x0000,0xbabe,0x0000,0xbabf,0x0000,0xbac0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 봄 봅 봇 봉
|
||||
0x0000,0xbac1,0x0000,0x0000,0x0000,0xbac2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 봐 봔
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xbac3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 봤
|
||||
0x0000,0xbac4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 봬
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xbac5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뵀
|
||||
// 0xa640 - 0xa6ff
|
||||
0x0000,0xbac6,0xbac7,0x0000,0x0000,0xbac8,0x0000,0x0000,0x0000,0xbac9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뵈뵉 뵌 뵐
|
||||
0x0000,0xbaca,0x0000,0xbacb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뵘 뵙
|
||||
0x0000,0xbacc,0x0000,0x0000,0x0000,0xbacd,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뵤 뵨
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xbace,0xbacf,0x0000,0x0000,0xbad0,0x0000,0x0000,0xbad1,0xbad2,0xbad3,0xbad4,0x0000,0x0000,0x0000,0x0000,// 부북 분 붇불붉붊
|
||||
0x0000,0xbad5,0x0000,0xbad6,0x0000,0xbad7,0x0000,0xbad8,0x0000,0x0000,0x0000,0xbad9,0xbada,0x0000,0x0000,0x0000,// 붐 붑 붓 붕 붙붚
|
||||
0x0000,0xbadb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xbadc,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 붜 붤
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xbadd,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 붰
|
||||
0x0000,0xbade,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 붸
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xbadf,0xbae0,0x0000,0x0000,0xbae1,0x0000,0x0000,0x0000,0xbae2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뷔뷕 뷘 뷜
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xbae3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뷩
|
||||
// 0xa740 - 0xa7ff
|
||||
0x0000,0xbae4,0x0000,0x0000,0x0000,0xbae5,0x0000,0x0000,0x0000,0xbae6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뷰 뷴 뷸
|
||||
0x0000,0xbae7,0x0000,0x0000,0x0000,0xbae8,0x0000,0xbae9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 븀 븃 븅
|
||||
0x0000,0xbaea,0xbaeb,0x0000,0x0000,0xbaec,0x0000,0x0000,0x0000,0xbaed,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 브븍 븐 블
|
||||
0x0000,0xbaee,0x0000,0xbaef,0x0000,0xbaf0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 븜 븝 븟
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xbaf1,0xbaf2,0x0000,0x0000,0xbaf3,0x0000,0x0000,0x0000,0xbaf4,0x0000,0xbaf5,0x0000,0x0000,0x0000,0x0000,// 비빅 빈 빌 빎
|
||||
0x0000,0xbaf6,0x0000,0xbaf7,0x0000,0xbaf8,0x0000,0xbaf9,0xbafa,0xbafb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 빔 빕 빗 빙빚빛
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0xa840 - 0xa8ff
|
||||
0x0000,0xa4b3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅃ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xbafc,0xbafd,0x0000,0x0000,0xbafe,0x0000,0x0000,0x0000,0xbba1,0x0000,0xbba2,0x0000,0x0000,0x0000,0x0000,// 빠빡 빤 빨 빪
|
||||
0x0000,0xbba3,0x0000,0xbba4,0x0000,0xbba5,0xbba6,0xbba7,0x0000,0x0000,0x0000,0x0000,0x0000,0xbba8,0x0000,0x0000,// 빰 빱 빳빴빵 빻
|
||||
0x0000,0xbba9,0xbbaa,0x0000,0x0000,0xbbab,0x0000,0x0000,0x0000,0xbbac,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 빼빽 뺀 뺄
|
||||
0x0000,0xbbad,0x0000,0xbbae,0x0000,0xbbaf,0xbbb0,0xbbb1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뺌 뺍 뺏뺐뺑
|
||||
0x0000,0xbbb2,0xbbb3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뺘뺙
|
||||
0x0000,0xbbb4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뺨
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xbbb5,0xbbb6,0x0000,0x0000,0xbbb7,0x0000,0x0000,0xbbb8,0xbbb9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뻐뻑 뻔 뻗뻘
|
||||
0x0000,0xbbba,0x0000,0x0000,0x0000,0xbbbb,0xbbbc,0xbbbd,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뻠 뻣뻤뻥
|
||||
// 0xa940 - 0xa9ff
|
||||
0x0000,0xbbbe,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뻬
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xbbbf,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뼁
|
||||
0x0000,0xbbc0,0xbbc1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뼈뼉
|
||||
0x0000,0xbbc2,0x0000,0xbbc3,0x0000,0xbbc4,0xbbc5,0xbbc6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뼘 뼙 뼛뼜뼝
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xbbc7,0xbbc8,0x0000,0x0000,0xbbc9,0x0000,0x0000,0x0000,0xbbca,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뽀뽁 뽄 뽈
|
||||
0x0000,0xbbcb,0x0000,0xbbcc,0x0000,0x0000,0x0000,0xbbcd,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뽐 뽑 뽕
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0xaa40 - 0xaaff
|
||||
0x0000,0xbbce,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뾔
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xbbcf,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뾰
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xbbd0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뿅
|
||||
0x0000,0xbbd1,0xbbd2,0x0000,0x0000,0xbbd3,0x0000,0x0000,0x0000,0xbbd4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뿌뿍 뿐 뿔
|
||||
0x0000,0xbbd5,0x0000,0x0000,0x0000,0xbbd6,0x0000,0xbbd7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 뿜 뿟 뿡
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0xab40 - 0xabff
|
||||
0x0000,0xbbd8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쀼
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xbbd9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쁑
|
||||
0x0000,0xbbda,0x0000,0x0000,0x0000,0xbbdb,0x0000,0x0000,0x0000,0xbbdc,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쁘 쁜 쁠
|
||||
0x0000,0xbbdd,0x0000,0xbbde,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쁨 쁩
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xbbdf,0xbbe0,0x0000,0x0000,0xbbe1,0x0000,0x0000,0x0000,0xbbe2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 삐삑 삔 삘
|
||||
0x0000,0xbbe3,0x0000,0xbbe4,0x0000,0xbbe5,0x0000,0xbbe6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 삠 삡 삣 삥
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0xac40 - 0xacff
|
||||
0x0000,0xa4b5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅅ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xbbe7,0xbbe8,0x0000,0xbbe9,0xbbea,0x0000,0x0000,0xbbeb,0xbbec,0xbbed,0xbbee,0x0000,0x0000,0x0000,0x0000,// 사삭 삯산 삳살삵삶
|
||||
0x0000,0xbbef,0x0000,0xbbf0,0x0000,0xbbf1,0xbbf2,0xbbf3,0x0000,0x0000,0x0000,0xbbf4,0x0000,0x0000,0x0000,0x0000,// 삼 삽 삿샀상 샅
|
||||
0x0000,0xbbf5,0xbbf6,0x0000,0x0000,0xbbf7,0x0000,0x0000,0x0000,0xbbf8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 새색 샌 샐
|
||||
0x0000,0xbbf9,0x0000,0xbbfa,0x0000,0xbbfb,0xbbfc,0xbbfd,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 샘 샙 샛샜생
|
||||
0x0000,0xbbfe,0xbca1,0x0000,0x0000,0xbca2,0x0000,0x0000,0x0000,0xbca3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 샤샥 샨 샬
|
||||
0x0000,0xbca4,0x0000,0xbca5,0x0000,0xbca6,0x0000,0xbca7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 샴 샵 샷 샹
|
||||
0x0000,0xbca8,0x0000,0x0000,0x0000,0xbca9,0x0000,0x0000,0x0000,0xbcaa,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 섀 섄 섈
|
||||
0x0000,0xbcab,0x0000,0x0000,0x0000,0x0000,0x0000,0xbcac,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 섐 섕
|
||||
0x0000,0xbcad,0xbcae,0xbcaf,0xbcb0,0xbcb1,0x0000,0x0000,0xbcb2,0xbcb3,0x0000,0xbcb4,0xbcb5,0x0000,0x0000,0x0000,// 서석섞섟선 섣설 섦섧
|
||||
0x0000,0xbcb6,0x0000,0xbcb7,0x0000,0xbcb8,0xbcb9,0xbcba,0x0000,0x0000,0x0000,0x0000,0xbcbb,0x0000,0x0000,0x0000,// 섬 섭 섯섰성 섶
|
||||
// 0xad40 - 0xadff
|
||||
0x0000,0xbcbc,0xbcbd,0x0000,0x0000,0xbcbe,0x0000,0x0000,0x0000,0xbcbf,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 세섹 센 셀
|
||||
0x0000,0xbcc0,0x0000,0xbcc1,0x0000,0xbcc2,0xbcc3,0xbcc4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 셈 셉 셋셌셍
|
||||
0x0000,0xbcc5,0xbcc6,0x0000,0x0000,0xbcc7,0x0000,0x0000,0x0000,0xbcc8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 셔셕 션 셜
|
||||
0x0000,0xbcc9,0x0000,0xbcca,0x0000,0xbccb,0xbccc,0xbccd,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 셤 셥 셧셨셩
|
||||
0x0000,0xbcce,0x0000,0x0000,0x0000,0xbccf,0x0000,0x0000,0x0000,0xbcd0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 셰 셴 셸
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xbcd1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 솅
|
||||
0x0000,0xbcd2,0xbcd3,0xbcd4,0x0000,0xbcd5,0x0000,0x0000,0x0000,0xbcd6,0x0000,0xbcd7,0x0000,0x0000,0x0000,0x0000,// 소속솎 손 솔 솖
|
||||
0x0000,0xbcd8,0x0000,0xbcd9,0x0000,0xbcda,0x0000,0xbcdb,0x0000,0x0000,0x0000,0xbcdc,0x0000,0x0000,0x0000,0x0000,// 솜 솝 솟 송 솥
|
||||
0x0000,0xbcdd,0xbcde,0x0000,0x0000,0xbcdf,0x0000,0x0000,0x0000,0xbce0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 솨솩 솬 솰
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xbce1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 솽
|
||||
0x0000,0xbce2,0x0000,0x0000,0x0000,0xbce3,0x0000,0x0000,0x0000,0xbce4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쇄 쇈 쇌
|
||||
0x0000,0xbce5,0x0000,0x0000,0x0000,0xbce6,0xbce7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쇔 쇗쇘
|
||||
// 0xae40 - 0xaeff
|
||||
0x0000,0xbce8,0x0000,0x0000,0x0000,0xbce9,0x0000,0x0000,0x0000,0xbcea,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쇠 쇤 쇨
|
||||
0x0000,0xbceb,0x0000,0xbcec,0x0000,0xbced,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쇰 쇱 쇳
|
||||
0x0000,0xbcee,0xbcef,0x0000,0x0000,0xbcf0,0x0000,0x0000,0x0000,0xbcf1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쇼쇽 숀 숄
|
||||
0x0000,0xbcf2,0x0000,0xbcf3,0x0000,0xbcf4,0x0000,0xbcf5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 숌 숍 숏 숑
|
||||
0x0000,0xbcf6,0xbcf7,0x0000,0x0000,0xbcf8,0x0000,0x0000,0xbcf9,0xbcfa,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 수숙 순 숟술
|
||||
0x0000,0xbcfb,0x0000,0xbcfc,0x0000,0xbcfd,0x0000,0xbcfe,0x0000,0xbda1,0x0000,0xbda2,0xbda3,0x0000,0x0000,0x0000,// 숨 숩 숫 숭 숯 숱숲
|
||||
0x0000,0xbda4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 숴
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xbda5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쉈
|
||||
0x0000,0xbda6,0xbda7,0x0000,0x0000,0xbda8,0x0000,0x0000,0x0000,0xbda9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쉐쉑 쉔 쉘
|
||||
0x0000,0xbdaa,0x0000,0x0000,0x0000,0x0000,0x0000,0xbdab,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쉠 쉥
|
||||
0x0000,0xbdac,0xbdad,0x0000,0x0000,0xbdae,0x0000,0x0000,0x0000,0xbdaf,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쉬쉭 쉰 쉴
|
||||
0x0000,0xbdb0,0x0000,0xbdb1,0x0000,0xbdb2,0x0000,0xbdb3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쉼 쉽 쉿 슁
|
||||
// 0xaf40 - 0xafff
|
||||
0x0000,0xbdb4,0xbdb5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xbdb6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 슈슉 슐
|
||||
0x0000,0xbdb7,0x0000,0x0000,0x0000,0xbdb8,0x0000,0xbdb9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 슘 슛 슝
|
||||
0x0000,0xbdba,0xbdbb,0x0000,0x0000,0xbdbc,0x0000,0x0000,0x0000,0xbdbd,0xbdbe,0x0000,0x0000,0x0000,0x0000,0x0000,// 스슥 슨 슬슭
|
||||
0x0000,0xbdbf,0x0000,0xbdc0,0x0000,0xbdc1,0x0000,0xbdc2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 슴 습 슷 승
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xbdc3,0xbdc4,0x0000,0x0000,0xbdc5,0x0000,0x0000,0xbdc6,0xbdc7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 시식 신 싣실
|
||||
0xbdc8,0xbdc9,0x0000,0xbdca,0x0000,0xbdcb,0x0000,0xbdcc,0x0000,0x0000,0x0000,0x0000,0xbdcd,0x0000,0x0000,0x0000,// 싫심 십 싯 싱 싶
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0xb040 - 0xb0ff
|
||||
0x0000,0xa4b6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅆ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xbdce,0xbdcf,0x0000,0xbdd0,0xbdd1,0x0000,0x0000,0x0000,0xbdd2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 싸싹 싻싼 쌀
|
||||
0x0000,0xbdd3,0x0000,0xbdd4,0x0000,0x0000,0xbdd5,0xbdd6,0x0000,0x0000,0x0000,0x0000,0x0000,0xbdd7,0x0000,0x0000,// 쌈 쌉 쌌쌍 쌓
|
||||
0x0000,0xbdd8,0xbdd9,0x0000,0x0000,0xbdda,0x0000,0x0000,0x0000,0xbddb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쌔쌕 쌘 쌜
|
||||
0x0000,0xbddc,0x0000,0xbddd,0x0000,0x0000,0xbdde,0xbddf,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쌤 쌥 쌨쌩
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xbde0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 썅
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xbde1,0xbde2,0x0000,0x0000,0xbde3,0x0000,0x0000,0x0000,0xbde4,0x0000,0xbde5,0x0000,0x0000,0x0000,0x0000,// 써썩 썬 썰 썲
|
||||
0x0000,0xbde6,0x0000,0xbde7,0x0000,0x0000,0xbde8,0xbde9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 썸 썹 썼썽
|
||||
// 0xb140 - 0xb1ff
|
||||
0x0000,0xbdea,0x0000,0x0000,0x0000,0xbdeb,0x0000,0x0000,0x0000,0xbdec,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쎄 쎈 쎌
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0xbded,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쏀
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xbdee,0xbdef,0x0000,0x0000,0xbdf0,0x0000,0x0000,0xbdf1,0xbdf2,0x0000,0xbdf3,0x0000,0x0000,0x0000,0x0000,// 쏘쏙 쏜 쏟쏠 쏢
|
||||
0x0000,0xbdf4,0x0000,0xbdf5,0x0000,0x0000,0x0000,0xbdf6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쏨 쏩 쏭
|
||||
0x0000,0xbdf7,0xbdf8,0x0000,0x0000,0xbdf9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쏴쏵 쏸
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xbdfa,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쐈
|
||||
0x0000,0xbdfb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쐐
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xbdfc,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쐤
|
||||
// 0xb240 - 0xb2ff
|
||||
0x0000,0xbdfd,0x0000,0x0000,0x0000,0xbdfe,0x0000,0x0000,0x0000,0xbea1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쐬 쐰 쐴
|
||||
0x0000,0xbea2,0x0000,0xbea3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쐼 쐽
|
||||
0x0000,0xbea4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쑈
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xbea5,0xbea6,0x0000,0x0000,0xbea7,0x0000,0x0000,0x0000,0xbea8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쑤쑥 쑨 쑬
|
||||
0x0000,0xbea9,0x0000,0xbeaa,0x0000,0x0000,0x0000,0xbeab,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쑴 쑵 쑹
|
||||
0x0000,0xbeac,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쒀
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xbead,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쒔
|
||||
0x0000,0xbeae,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쒜
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xbeaf,0x0000,0x0000,0x0000,0xbeb0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쒸 쒼
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0xb340 - 0xb3ff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xbeb1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쓩
|
||||
0x0000,0xbeb2,0xbeb3,0x0000,0x0000,0xbeb4,0x0000,0x0000,0x0000,0xbeb5,0x0000,0xbeb6,0x0000,0x0000,0x0000,0x0000,// 쓰쓱 쓴 쓸 쓺
|
||||
0xbeb7,0xbeb8,0x0000,0xbeb9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쓿씀 씁
|
||||
0x0000,0xbeba,0x0000,0x0000,0x0000,0xbebb,0x0000,0x0000,0x0000,0xbebc,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 씌 씐 씔
|
||||
0x0000,0xbebd,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 씜
|
||||
0x0000,0xbebe,0xbebf,0x0000,0x0000,0xbec0,0x0000,0x0000,0x0000,0xbec1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 씨씩 씬 씰
|
||||
0x0000,0xbec2,0x0000,0xbec3,0x0000,0xbec4,0x0000,0xbec5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 씸 씹 씻 씽
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0xb440 - 0xb4ff
|
||||
0x0000,0xa4b7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅇ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xbec6,0xbec7,0x0000,0x0000,0xbec8,0xbec9,0xbeca,0x0000,0xbecb,0xbecc,0xbecd,0x0000,0x0000,0x0000,0x0000,// 아악 안앉않 알앍앎
|
||||
0xbece,0xbecf,0x0000,0xbed0,0x0000,0xbed1,0xbed2,0xbed3,0x0000,0x0000,0x0000,0xbed4,0xbed5,0x0000,0x0000,0x0000,// 앓암 압 앗았앙 앝앞
|
||||
0x0000,0xbed6,0xbed7,0x0000,0x0000,0xbed8,0x0000,0x0000,0x0000,0xbed9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 애액 앤 앨
|
||||
0x0000,0xbeda,0x0000,0xbedb,0x0000,0xbedc,0xbedd,0xbede,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 앰 앱 앳앴앵
|
||||
0x0000,0xbedf,0xbee0,0x0000,0x0000,0xbee1,0x0000,0x0000,0x0000,0xbee2,0x0000,0x0000,0xbee3,0x0000,0x0000,0x0000,// 야약 얀 얄 얇
|
||||
0x0000,0xbee4,0x0000,0xbee5,0x0000,0xbee6,0x0000,0xbee7,0x0000,0x0000,0x0000,0xbee8,0x0000,0xbee9,0x0000,0x0000,// 얌 얍 얏 양 얕 얗
|
||||
0x0000,0xbeea,0x0000,0x0000,0x0000,0xbeeb,0x0000,0x0000,0x0000,0xbeec,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 얘 얜 얠
|
||||
0x0000,0x0000,0x0000,0xbeed,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 얩
|
||||
0x0000,0xbeee,0xbeef,0x0000,0x0000,0xbef0,0xbef1,0x0000,0xbef2,0xbef3,0xbef4,0xbef5,0x0000,0x0000,0x0000,0x0000,// 어억 언얹 얻얼얽얾
|
||||
0x0000,0xbef6,0x0000,0xbef7,0xbef8,0xbef9,0xbefa,0xbefb,0xbefc,0x0000,0xbefd,0x0000,0xbefe,0x0000,0x0000,0x0000,// 엄 업없엇었엉엊 엌 엎
|
||||
// 0xb540 - 0xb5ff
|
||||
0x0000,0xbfa1,0xbfa2,0x0000,0x0000,0xbfa3,0x0000,0x0000,0x0000,0xbfa4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 에엑 엔 엘
|
||||
0x0000,0xbfa5,0x0000,0xbfa6,0x0000,0xbfa7,0x0000,0xbfa8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 엠 엡 엣 엥
|
||||
0x0000,0xbfa9,0xbfaa,0xbfab,0x0000,0xbfac,0x0000,0x0000,0x0000,0xbfad,0x0000,0xbfae,0xbfaf,0x0000,0x0000,0x0000,// 여역엮 연 열 엶엷
|
||||
0x0000,0xbfb0,0x0000,0xbfb1,0xbfb2,0xbfb3,0xbfb4,0xbfb5,0x0000,0x0000,0x0000,0xbfb6,0xbfb7,0xbfb8,0x0000,0x0000,// 염 엽엾엿였영 옅옆옇
|
||||
0x0000,0xbfb9,0x0000,0x0000,0x0000,0xbfba,0x0000,0x0000,0x0000,0xbfbb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 예 옌 옐
|
||||
0x0000,0xbfbc,0x0000,0xbfbd,0x0000,0xbfbe,0xbfbf,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 옘 옙 옛옜
|
||||
0x0000,0xbfc0,0xbfc1,0x0000,0x0000,0xbfc2,0x0000,0x0000,0x0000,0xbfc3,0xbfc4,0xbfc5,0x0000,0xbfc6,0x0000,0x0000,// 오옥 온 올옭옮 옰
|
||||
0xbfc7,0xbfc8,0x0000,0xbfc9,0x0000,0xbfca,0x0000,0xbfcb,0x0000,0xbfcc,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 옳옴 옵 옷 옹 옻
|
||||
0x0000,0xbfcd,0xbfce,0x0000,0x0000,0xbfcf,0x0000,0x0000,0x0000,0xbfd0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 와왁 완 왈
|
||||
0x0000,0xbfd1,0x0000,0xbfd2,0x0000,0xbfd3,0xbfd4,0xbfd5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 왐 왑 왓왔왕
|
||||
0x0000,0xbfd6,0xbfd7,0x0000,0x0000,0xbfd8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 왜왝 왠
|
||||
0x0000,0xbfd9,0x0000,0x0000,0x0000,0xbfda,0x0000,0xbfdb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 왬 왯 왱
|
||||
// 0xb640 - 0xb6ff
|
||||
0x0000,0xbfdc,0xbfdd,0x0000,0x0000,0xbfde,0x0000,0x0000,0x0000,0xbfdf,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 외왹 왼 욀
|
||||
0x0000,0xbfe0,0x0000,0xbfe1,0x0000,0xbfe2,0x0000,0xbfe3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 욈 욉 욋 욍
|
||||
0x0000,0xbfe4,0xbfe5,0x0000,0x0000,0xbfe6,0x0000,0x0000,0x0000,0xbfe7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 요욕 욘 욜
|
||||
0x0000,0xbfe8,0x0000,0xbfe9,0x0000,0xbfea,0x0000,0xbfeb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 욤 욥 욧 용
|
||||
0x0000,0xbfec,0xbfed,0x0000,0x0000,0xbfee,0x0000,0x0000,0x0000,0xbfef,0xbff0,0xbff1,0x0000,0x0000,0x0000,0x0000,// 우욱 운 울욹욺
|
||||
0x0000,0xbff2,0x0000,0xbff3,0x0000,0xbff4,0x0000,0xbff5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 움 웁 웃 웅
|
||||
0x0000,0xbff6,0xbff7,0x0000,0x0000,0xbff8,0x0000,0x0000,0x0000,0xbff9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 워웍 원 월
|
||||
0x0000,0xbffa,0x0000,0xbffb,0x0000,0x0000,0xbffc,0xbffd,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 웜 웝 웠웡
|
||||
0x0000,0xbffe,0xc0a1,0x0000,0x0000,0xc0a2,0x0000,0x0000,0x0000,0xc0a3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 웨웩 웬 웰
|
||||
0x0000,0xc0a4,0x0000,0xc0a5,0x0000,0x0000,0x0000,0xc0a6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 웸 웹 웽
|
||||
0x0000,0xc0a7,0xc0a8,0x0000,0x0000,0xc0a9,0x0000,0x0000,0x0000,0xc0aa,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 위윅 윈 윌
|
||||
0x0000,0xc0ab,0x0000,0xc0ac,0x0000,0xc0ad,0x0000,0xc0ae,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 윔 윕 윗 윙
|
||||
// 0xb740 - 0xb7ff
|
||||
0x0000,0xc0af,0xc0b0,0x0000,0x0000,0xc0b1,0x0000,0x0000,0x0000,0xc0b2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 유육 윤 율
|
||||
0x0000,0xc0b3,0x0000,0xc0b4,0x0000,0xc0b5,0x0000,0xc0b6,0x0000,0xc0b7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 윰 윱 윳 융 윷
|
||||
0x0000,0xc0b8,0xc0b9,0x0000,0x0000,0xc0ba,0x0000,0x0000,0x0000,0xc0bb,0x0000,0x0000,0x0000,0x0000,0x0000,0xc0bc,// 으윽 은 을 읊
|
||||
0x0000,0xc0bd,0x0000,0xc0be,0x0000,0xc0bf,0x0000,0xc0c0,0xc0c1,0xc0c2,0xc0c3,0xc0c4,0xc0c5,0xc0c6,0x0000,0x0000,// 음 읍 읏 응읒읓읔읕읖읗
|
||||
0x0000,0xc0c7,0x0000,0x0000,0x0000,0xc0c8,0x0000,0x0000,0x0000,0xc0c9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 의 읜 읠
|
||||
0x0000,0xc0ca,0x0000,0x0000,0x0000,0xc0cb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 읨 읫
|
||||
0x0000,0xc0cc,0xc0cd,0x0000,0x0000,0xc0ce,0x0000,0x0000,0x0000,0xc0cf,0xc0d0,0xc0d1,0x0000,0x0000,0x0000,0x0000,// 이익 인 일읽읾
|
||||
0xc0d2,0xc0d3,0x0000,0xc0d4,0x0000,0xc0d5,0xc0d6,0xc0d7,0xc0d8,0x0000,0x0000,0x0000,0xc0d9,0x0000,0x0000,0x0000,// 잃임 입 잇있잉잊 잎
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0xb840 - 0xb8ff
|
||||
0x0000,0xa4b8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅈ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc0da,0xc0db,0x0000,0x0000,0xc0dc,0x0000,0xc0dd,0xc0de,0xc0df,0x0000,0xc0e0,0x0000,0x0000,0x0000,0x0000,// 자작 잔 잖잗잘 잚
|
||||
0x0000,0xc0e1,0x0000,0xc0e2,0x0000,0xc0e3,0xc0e4,0xc0e5,0xc0e6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 잠 잡 잣잤장잦
|
||||
0x0000,0xc0e7,0xc0e8,0x0000,0x0000,0xc0e9,0x0000,0x0000,0x0000,0xc0ea,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 재잭 잰 잴
|
||||
0x0000,0xc0eb,0x0000,0xc0ec,0x0000,0xc0ed,0xc0ee,0xc0ef,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 잼 잽 잿쟀쟁
|
||||
0x0000,0xc0f0,0xc0f1,0x0000,0x0000,0xc0f2,0x0000,0xc0f3,0x0000,0xc0f4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쟈쟉 쟌 쟎 쟐
|
||||
0x0000,0xc0f5,0x0000,0x0000,0x0000,0x0000,0x0000,0xc0f6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쟘 쟝
|
||||
0x0000,0xc0f7,0x0000,0x0000,0x0000,0xc0f8,0x0000,0x0000,0x0000,0xc0f9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쟤 쟨 쟬
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc0fa,0xc0fb,0x0000,0x0000,0xc0fc,0x0000,0x0000,0x0000,0xc0fd,0x0000,0xc0fe,0x0000,0x0000,0x0000,0x0000,// 저적 전 절 젊
|
||||
0x0000,0xc1a1,0x0000,0xc1a2,0x0000,0xc1a3,0x0000,0xc1a4,0xc1a5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 점 접 젓 정젖
|
||||
// 0xb940 - 0xb9ff
|
||||
0x0000,0xc1a6,0xc1a7,0x0000,0x0000,0xc1a8,0x0000,0x0000,0x0000,0xc1a9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 제젝 젠 젤
|
||||
0x0000,0xc1aa,0x0000,0xc1ab,0x0000,0xc1ac,0x0000,0xc1ad,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 젬 젭 젯 젱
|
||||
0x0000,0xc1ae,0x0000,0x0000,0x0000,0xc1af,0x0000,0x0000,0x0000,0xc1b0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 져 젼 졀
|
||||
0x0000,0xc1b1,0x0000,0xc1b2,0x0000,0x0000,0xc1b3,0xc1b4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 졈 졉 졌졍
|
||||
0x0000,0xc1b5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 졔
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc1b6,0xc1b7,0x0000,0x0000,0xc1b8,0x0000,0x0000,0x0000,0xc1b9,0x0000,0xc1ba,0x0000,0x0000,0x0000,0x0000,// 조족 존 졸 졺
|
||||
0x0000,0xc1bb,0x0000,0xc1bc,0x0000,0xc1bd,0x0000,0xc1be,0xc1bf,0xc1c0,0x0000,0x0000,0x0000,0xc1c1,0x0000,0x0000,// 좀 좁 좃 종좆좇 좋
|
||||
0x0000,0xc1c2,0xc1c3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc1c4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 좌좍 좔
|
||||
0x0000,0x0000,0x0000,0xc1c5,0x0000,0xc1c6,0x0000,0xc1c7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 좝 좟 좡
|
||||
0x0000,0xc1c8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 좨
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc1c9,0xc1ca,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 좼좽
|
||||
// 0xba40 - 0xbaff
|
||||
0x0000,0xc1cb,0x0000,0x0000,0x0000,0xc1cc,0x0000,0x0000,0x0000,0xc1cd,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 죄 죈 죌
|
||||
0x0000,0xc1ce,0x0000,0xc1cf,0x0000,0xc1d0,0x0000,0xc1d1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 죔 죕 죗 죙
|
||||
0x0000,0xc1d2,0xc1d3,0x0000,0x0000,0xc1d4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 죠죡 죤
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc1d5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 죵
|
||||
0x0000,0xc1d6,0xc1d7,0x0000,0x0000,0xc1d8,0x0000,0x0000,0x0000,0xc1d9,0xc1da,0xc1db,0x0000,0x0000,0x0000,0x0000,// 주죽 준 줄줅줆
|
||||
0x0000,0xc1dc,0x0000,0xc1dd,0x0000,0xc1de,0x0000,0xc1df,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 줌 줍 줏 중
|
||||
0x0000,0xc1e0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 줘
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc1e1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 줬
|
||||
0x0000,0xc1e2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 줴
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc1e3,0xc1e4,0x0000,0x0000,0xc1e5,0x0000,0x0000,0x0000,0xc1e6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쥐쥑 쥔 쥘
|
||||
0x0000,0xc1e7,0x0000,0xc1e8,0x0000,0xc1e9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쥠 쥡 쥣
|
||||
// 0xbb40 - 0xbbff
|
||||
0x0000,0xc1ea,0x0000,0x0000,0x0000,0xc1eb,0x0000,0x0000,0x0000,0xc1ec,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쥬 쥰 쥴
|
||||
0x0000,0xc1ed,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쥼
|
||||
0x0000,0xc1ee,0xc1ef,0x0000,0x0000,0xc1f0,0x0000,0x0000,0x0000,0xc1f1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 즈즉 즌 즐
|
||||
0x0000,0xc1f2,0x0000,0xc1f3,0x0000,0xc1f4,0x0000,0xc1f5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 즘 즙 즛 증
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc1f6,0xc1f7,0x0000,0x0000,0xc1f8,0x0000,0x0000,0xc1f9,0xc1fa,0x0000,0xc1fb,0x0000,0x0000,0x0000,0x0000,// 지직 진 짇질 짊
|
||||
0x0000,0xc1fc,0x0000,0xc1fd,0x0000,0xc1fe,0x0000,0xc2a1,0xc2a2,0x0000,0x0000,0xc2a3,0xc2a4,0x0000,0x0000,0x0000,// 짐 집 짓 징짖 짙짚
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0xbc40 - 0xbcff
|
||||
0x0000,0xa4b9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅉ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc2a5,0xc2a6,0x0000,0x0000,0xc2a7,0x0000,0xc2a8,0x0000,0xc2a9,0x0000,0x0000,0xc2aa,0x0000,0x0000,0x0000,// 짜짝 짠 짢 짤 짧
|
||||
0x0000,0xc2ab,0x0000,0xc2ac,0x0000,0xc2ad,0xc2ae,0xc2af,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 짬 짭 짯짰짱
|
||||
0x0000,0xc2b0,0xc2b1,0x0000,0x0000,0xc2b2,0x0000,0x0000,0x0000,0xc2b3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 째짹 짼 쨀
|
||||
0x0000,0xc2b4,0x0000,0xc2b5,0x0000,0xc2b6,0xc2b7,0xc2b8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쨈 쨉 쨋쨌쨍
|
||||
0x0000,0xc2b9,0x0000,0x0000,0x0000,0xc2ba,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쨔 쨘
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc2bb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쨩
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc2bc,0xc2bd,0x0000,0x0000,0xc2be,0x0000,0x0000,0x0000,0xc2bf,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쩌쩍 쩐 쩔
|
||||
0x0000,0xc2c0,0x0000,0xc2c1,0x0000,0xc2c2,0xc2c3,0xc2c4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쩜 쩝 쩟쩠쩡
|
||||
// 0xbd40 - 0xbdff
|
||||
0x0000,0xc2c5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쩨
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc2c6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쩽
|
||||
0x0000,0xc2c7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쪄
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc2c8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쪘
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc2c9,0xc2ca,0x0000,0x0000,0xc2cb,0x0000,0x0000,0x0000,0xc2cc,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쪼쪽 쫀 쫄
|
||||
0x0000,0xc2cd,0x0000,0xc2ce,0x0000,0xc2cf,0x0000,0xc2d0,0x0000,0xc2d1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쫌 쫍 쫏 쫑 쫓
|
||||
0x0000,0xc2d2,0xc2d3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc2d4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쫘쫙 쫠
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc2d5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쫬
|
||||
0x0000,0xc2d6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쫴
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc2d7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쬈
|
||||
// 0xbe40 - 0xbeff
|
||||
0x0000,0xc2d8,0x0000,0x0000,0x0000,0xc2d9,0x0000,0x0000,0x0000,0xc2da,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쬐 쬔 쬘
|
||||
0x0000,0xc2db,0x0000,0xc2dc,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쬠 쬡
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc2dd,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쭁
|
||||
0x0000,0xc2de,0xc2df,0x0000,0x0000,0xc2e0,0x0000,0x0000,0x0000,0xc2e1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쭈쭉 쭌 쭐
|
||||
0x0000,0xc2e2,0x0000,0xc2e3,0x0000,0x0000,0x0000,0xc2e4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쭘 쭙 쭝
|
||||
0x0000,0xc2e5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쭤
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc2e6,0xc2e7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쭸쭹
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc2e8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쮜
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0xbf40 - 0xbfff
|
||||
0x0000,0xc2e9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쮸
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc2ea,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쯔
|
||||
0x0000,0xc2eb,0x0000,0x0000,0x0000,0xc2ec,0x0000,0xc2ed,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쯤 쯧 쯩
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc2ee,0xc2ef,0x0000,0x0000,0xc2f0,0x0000,0x0000,0x0000,0xc2f1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 찌찍 찐 찔
|
||||
0x0000,0xc2f2,0x0000,0xc2f3,0x0000,0x0000,0x0000,0xc2f4,0xc2f5,0x0000,0x0000,0x0000,0x0000,0xc2f6,0x0000,0x0000,// 찜 찝 찡찢 찧
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0xc040 - 0xc0ff
|
||||
0x0000,0xa4ba,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅊ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc2f7,0xc2f8,0x0000,0x0000,0xc2f9,0x0000,0xc2fa,0x0000,0xc2fb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 차착 찬 찮 찰
|
||||
0x0000,0xc2fc,0x0000,0xc2fd,0x0000,0xc2fe,0xc3a1,0xc3a2,0xc3a3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 참 찹 찻찼창찾
|
||||
0x0000,0xc3a4,0xc3a5,0x0000,0x0000,0xc3a6,0x0000,0x0000,0x0000,0xc3a7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 채책 챈 챌
|
||||
0x0000,0xc3a8,0x0000,0xc3a9,0x0000,0xc3aa,0xc3ab,0xc3ac,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 챔 챕 챗챘챙
|
||||
0x0000,0xc3ad,0x0000,0x0000,0x0000,0xc3ae,0x0000,0xc3af,0x0000,0xc3b0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 챠 챤 챦 챨
|
||||
0x0000,0xc3b1,0x0000,0x0000,0x0000,0x0000,0x0000,0xc3b2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 챰 챵
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc3b3,0xc3b4,0x0000,0x0000,0xc3b5,0x0000,0x0000,0x0000,0xc3b6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 처척 천 철
|
||||
0x0000,0xc3b7,0x0000,0xc3b8,0x0000,0xc3b9,0xc3ba,0xc3bb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 첨 첩 첫첬청
|
||||
// 0xc140 - 0xc1ff
|
||||
0x0000,0xc3bc,0xc3bd,0x0000,0x0000,0xc3be,0x0000,0x0000,0x0000,0xc3bf,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 체첵 첸 첼
|
||||
0x0000,0xc3c0,0x0000,0xc3c1,0x0000,0xc3c2,0x0000,0xc3c3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쳄 쳅 쳇 쳉
|
||||
0x0000,0xc3c4,0x0000,0x0000,0x0000,0xc3c5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쳐 쳔
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc3c6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쳤
|
||||
0x0000,0xc3c7,0x0000,0x0000,0x0000,0xc3c8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쳬 쳰
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc3c9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 촁
|
||||
0x0000,0xc3ca,0xc3cb,0x0000,0x0000,0xc3cc,0x0000,0x0000,0x0000,0xc3cd,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 초촉 촌 촐
|
||||
0x0000,0xc3ce,0x0000,0xc3cf,0x0000,0xc3d0,0x0000,0xc3d1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 촘 촙 촛 총
|
||||
0x0000,0xc3d2,0x0000,0x0000,0x0000,0xc3d3,0x0000,0x0000,0x0000,0xc3d4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 촤 촨 촬
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc3d5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 촹
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0xc240 - 0xc2ff
|
||||
0x0000,0xc3d6,0x0000,0x0000,0x0000,0xc3d7,0x0000,0x0000,0x0000,0xc3d8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 최 쵠 쵤
|
||||
0x0000,0xc3d9,0x0000,0xc3da,0x0000,0xc3db,0x0000,0xc3dc,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쵬 쵭 쵯 쵱
|
||||
0x0000,0xc3dd,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쵸
|
||||
0x0000,0xc3de,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 춈
|
||||
0x0000,0xc3df,0xc3e0,0x0000,0x0000,0xc3e1,0x0000,0x0000,0x0000,0xc3e2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 추축 춘 출
|
||||
0x0000,0xc3e3,0x0000,0xc3e4,0x0000,0xc3e5,0x0000,0xc3e6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 춤 춥 춧 충
|
||||
0x0000,0xc3e7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 춰
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc3e8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 췄
|
||||
0x0000,0xc3e9,0x0000,0x0000,0x0000,0xc3ea,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 췌 췐
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc3eb,0x0000,0x0000,0x0000,0xc3ec,0x0000,0x0000,0x0000,0xc3ed,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 취 췬 췰
|
||||
0x0000,0xc3ee,0x0000,0xc3ef,0x0000,0xc3f0,0x0000,0xc3f1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 췸 췹 췻 췽
|
||||
// 0xc340 - 0xc3ff
|
||||
0x0000,0xc3f2,0x0000,0x0000,0x0000,0xc3f3,0x0000,0x0000,0x0000,0xc3f4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 츄 츈 츌
|
||||
0x0000,0xc3f5,0x0000,0x0000,0x0000,0x0000,0x0000,0xc3f6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 츔 츙
|
||||
0x0000,0xc3f7,0xc3f8,0x0000,0x0000,0xc3f9,0x0000,0x0000,0x0000,0xc3fa,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 츠측 츤 츨
|
||||
0x0000,0xc3fb,0x0000,0xc3fc,0x0000,0xc3fd,0x0000,0xc3fe,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 츰 츱 츳 층
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc4a1,0xc4a2,0x0000,0x0000,0xc4a3,0x0000,0x0000,0xc4a4,0xc4a5,0xc4a6,0x0000,0x0000,0x0000,0x0000,0x0000,// 치칙 친 칟칠칡
|
||||
0x0000,0xc4a7,0x0000,0xc4a8,0x0000,0xc4a9,0x0000,0xc4aa,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 침 칩 칫 칭
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0xc440 - 0xc4ff
|
||||
0x0000,0xa4bb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅋ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc4ab,0xc4ac,0x0000,0x0000,0xc4ad,0x0000,0x0000,0x0000,0xc4ae,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 카칵 칸 칼
|
||||
0x0000,0xc4af,0x0000,0xc4b0,0x0000,0xc4b1,0x0000,0xc4b2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 캄 캅 캇 캉
|
||||
0x0000,0xc4b3,0xc4b4,0x0000,0x0000,0xc4b5,0x0000,0x0000,0x0000,0xc4b6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 캐캑 캔 캘
|
||||
0x0000,0xc4b7,0x0000,0xc4b8,0x0000,0xc4b9,0xc4ba,0xc4bb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 캠 캡 캣캤캥
|
||||
0x0000,0xc4bc,0xc4bd,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 캬캭
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc4be,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 컁
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc4bf,0xc4c0,0x0000,0x0000,0xc4c1,0x0000,0x0000,0xc4c2,0xc4c3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 커컥 컨 컫컬
|
||||
0x0000,0xc4c4,0x0000,0xc4c5,0x0000,0xc4c6,0xc4c7,0xc4c8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 컴 컵 컷컸컹
|
||||
// 0xc540 - 0xc5ff
|
||||
0x0000,0xc4c9,0xc4ca,0x0000,0x0000,0xc4cb,0x0000,0x0000,0x0000,0xc4cc,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 케켁 켄 켈
|
||||
0x0000,0xc4cd,0x0000,0xc4ce,0x0000,0xc4cf,0x0000,0xc4d0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 켐 켑 켓 켕
|
||||
0x0000,0xc4d1,0x0000,0x0000,0x0000,0xc4d2,0x0000,0x0000,0x0000,0xc4d3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 켜 켠 켤
|
||||
0x0000,0xc4d4,0x0000,0xc4d5,0x0000,0xc4d6,0xc4d7,0xc4d8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 켬 켭 켯켰켱
|
||||
0x0000,0xc4d9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 켸
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc4da,0xc4db,0x0000,0x0000,0xc4dc,0x0000,0x0000,0x0000,0xc4dd,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 코콕 콘 콜
|
||||
0x0000,0xc4de,0x0000,0xc4df,0x0000,0xc4e0,0x0000,0xc4e1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 콤 콥 콧 콩
|
||||
0x0000,0xc4e2,0xc4e3,0x0000,0x0000,0xc4e4,0x0000,0x0000,0x0000,0xc4e5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 콰콱 콴 콸
|
||||
0x0000,0xc4e6,0x0000,0x0000,0x0000,0x0000,0x0000,0xc4e7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쾀 쾅
|
||||
0x0000,0xc4e8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쾌
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc4e9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쾡
|
||||
// 0xc640 - 0xc6ff
|
||||
0x0000,0xc4ea,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc4eb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쾨 쾰
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc4ec,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쿄
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc4ed,0xc4ee,0x0000,0x0000,0xc4ef,0x0000,0x0000,0x0000,0xc4f0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쿠쿡 쿤 쿨
|
||||
0x0000,0xc4f1,0x0000,0xc4f2,0x0000,0xc4f3,0x0000,0xc4f4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쿰 쿱 쿳 쿵
|
||||
0x0000,0xc4f5,0x0000,0x0000,0x0000,0xc4f6,0x0000,0x0000,0x0000,0xc4f7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 쿼 퀀 퀄
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc4f8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 퀑
|
||||
0x0000,0xc4f9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 퀘
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc4fa,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 퀭
|
||||
0x0000,0xc4fb,0xc4fc,0x0000,0x0000,0xc4fd,0x0000,0x0000,0x0000,0xc4fe,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 퀴퀵 퀸 퀼
|
||||
0x0000,0xc5a1,0x0000,0xc5a2,0x0000,0xc5a3,0x0000,0xc5a4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 큄 큅 큇 큉
|
||||
};
|
||||
|
||||
public Ebc2Ksc3()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,193 @@
|
||||
package com.eactive.eai.adapter.wca.util;
|
||||
|
||||
public class Ebc2Ksc4 {
|
||||
protected static char EBC2KSC[] = {
|
||||
// 0xc740 - 0xc7ff
|
||||
0x0000,0xc5a5,0x0000,0x0000,0x0000,0xc5a6,0x0000,0x0000,0x0000,0xc5a7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 큐 큔 큘
|
||||
0x0000,0xc5a8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 큠
|
||||
0x0000,0xc5a9,0xc5aa,0x0000,0x0000,0xc5ab,0x0000,0x0000,0x0000,0xc5ac,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 크큭 큰 클
|
||||
0x0000,0xc5ad,0x0000,0xc5ae,0x0000,0x0000,0x0000,0xc5af,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 큼 큽 킁
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc5b0,0xc5b1,0x0000,0x0000,0xc5b2,0x0000,0x0000,0x0000,0xc5b3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 키킥 킨 킬
|
||||
0x0000,0xc5b4,0x0000,0xc5b5,0x0000,0xc5b6,0x0000,0xc5b7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 킴 킵 킷 킹
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0xc840 - 0xc8ff
|
||||
0x0000,0xa4bc,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅌ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc5b8,0xc5b9,0x0000,0x0000,0xc5ba,0x0000,0x0000,0x0000,0xc5bb,0xc5bc,0x0000,0x0000,0x0000,0x0000,0x0000,// 타탁 탄 탈탉
|
||||
0x0000,0xc5bd,0x0000,0xc5be,0x0000,0xc5bf,0xc5c0,0xc5c1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 탐 탑 탓탔탕
|
||||
0x0000,0xc5c2,0xc5c3,0x0000,0x0000,0xc5c4,0x0000,0x0000,0x0000,0xc5c5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 태택 탠 탤
|
||||
0x0000,0xc5c6,0x0000,0xc5c7,0x0000,0xc5c8,0xc5c9,0xc5ca,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 탬 탭 탯탰탱
|
||||
0x0000,0xc5cb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 탸
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc5cc,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 턍
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc5cd,0xc5ce,0x0000,0x0000,0xc5cf,0x0000,0x0000,0x0000,0xc5d0,0x0000,0xc5d1,0x0000,0x0000,0x0000,0x0000,// 터턱 턴 털 턺
|
||||
0x0000,0xc5d2,0x0000,0xc5d3,0x0000,0xc5d4,0xc5d5,0xc5d6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 텀 텁 텃텄텅
|
||||
// 0xc940 - 0xc9ff
|
||||
0x0000,0xc5d7,0xc5d8,0x0000,0x0000,0xc5d9,0x0000,0x0000,0x0000,0xc5da,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 테텍 텐 텔
|
||||
0x0000,0xc5db,0x0000,0xc5dc,0x0000,0xc5dd,0x0000,0xc5de,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 템 텝 텟 텡
|
||||
0x0000,0xc5df,0x0000,0x0000,0x0000,0xc5e0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 텨 텬
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc5e1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 텼
|
||||
0x0000,0xc5e2,0x0000,0x0000,0x0000,0xc5e3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 톄 톈
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc5e4,0xc5e5,0x0000,0x0000,0xc5e6,0x0000,0x0000,0x0000,0xc5e7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 토톡 톤 톨
|
||||
0x0000,0xc5e8,0x0000,0xc5e9,0x0000,0xc5ea,0x0000,0xc5eb,0x0000,0x0000,0x0000,0x0000,0xc5ec,0x0000,0x0000,0x0000,// 톰 톱 톳 통 톺
|
||||
0x0000,0xc5ed,0x0000,0x0000,0x0000,0xc5ee,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 톼 퇀
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc5ef,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 퇘
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0xca40 - 0xcaff
|
||||
0x0000,0xc5f0,0x0000,0x0000,0x0000,0xc5f1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 퇴 퇸
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0xc5f2,0x0000,0xc5f3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 툇 툉
|
||||
0x0000,0xc5f4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 툐
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc5f5,0xc5f6,0x0000,0x0000,0xc5f7,0x0000,0x0000,0x0000,0xc5f8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 투툭 툰 툴
|
||||
0x0000,0xc5f9,0x0000,0xc5fa,0x0000,0xc5fb,0x0000,0xc5fc,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 툼 툽 툿 퉁
|
||||
0x0000,0xc5fd,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 퉈
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc5fe,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 퉜
|
||||
0x0000,0xc6a1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 퉤
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc6a2,0xc6a3,0x0000,0x0000,0xc6a4,0x0000,0x0000,0x0000,0xc6a5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 튀튁 튄 튈
|
||||
0x0000,0xc6a6,0x0000,0xc6a7,0x0000,0x0000,0x0000,0xc6a8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 튐 튑 튕
|
||||
// 0xcb40 - 0xcbff
|
||||
0x0000,0xc6a9,0x0000,0x0000,0x0000,0xc6aa,0x0000,0x0000,0x0000,0xc6ab,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 튜 튠 튤
|
||||
0x0000,0xc6ac,0x0000,0x0000,0x0000,0x0000,0x0000,0xc6ad,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 튬 튱
|
||||
0x0000,0xc6ae,0xc6af,0x0000,0x0000,0xc6b0,0x0000,0x0000,0xc6b1,0xc6b2,0x0000,0xc6b3,0x0000,0x0000,0x0000,0x0000,// 트특 튼 튿틀 틂
|
||||
0x0000,0xc6b4,0x0000,0xc6b5,0x0000,0xc6b6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 틈 틉 틋
|
||||
0x0000,0xc6b7,0x0000,0x0000,0x0000,0xc6b8,0x0000,0x0000,0x0000,0xc6b9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 틔 틘 틜
|
||||
0x0000,0xc6ba,0x0000,0xc6bb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 틤 틥
|
||||
0x0000,0xc6bc,0xc6bd,0x0000,0x0000,0xc6be,0x0000,0x0000,0x0000,0xc6bf,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 티틱 틴 틸
|
||||
0x0000,0xc6c0,0x0000,0xc6c1,0x0000,0xc6c2,0x0000,0xc6c3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 팀 팁 팃 팅
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0xcc40 - 0xccff
|
||||
0x0000,0xa4bd,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅍ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc6c4,0xc6c5,0xc6c6,0x0000,0xc6c7,0x0000,0x0000,0x0000,0xc6c8,0x0000,0xc6c9,0x0000,0x0000,0x0000,0x0000,// 파팍팎 판 팔 팖
|
||||
0x0000,0xc6ca,0x0000,0xc6cb,0x0000,0xc6cc,0xc6cd,0xc6ce,0x0000,0x0000,0x0000,0xc6cf,0x0000,0x0000,0x0000,0x0000,// 팜 팝 팟팠팡 팥
|
||||
0x0000,0xc6d0,0xc6d1,0x0000,0x0000,0xc6d2,0x0000,0x0000,0x0000,0xc6d3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 패팩 팬 팰
|
||||
0x0000,0xc6d4,0x0000,0xc6d5,0x0000,0xc6d6,0xc6d7,0xc6d8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 팸 팹 팻팼팽
|
||||
0x0000,0xc6d9,0xc6da,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 퍄퍅
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc6db,0xc6dc,0x0000,0x0000,0xc6dd,0x0000,0x0000,0x0000,0xc6de,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 퍼퍽 펀 펄
|
||||
0x0000,0xc6df,0x0000,0xc6e0,0x0000,0xc6e1,0xc6e2,0xc6e3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 펌 펍 펏펐펑
|
||||
// 0xcd40 - 0xcdff
|
||||
0x0000,0xc6e4,0xc6e5,0x0000,0x0000,0xc6e6,0x0000,0x0000,0x0000,0xc6e7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 페펙 펜 펠
|
||||
0x0000,0xc6e8,0x0000,0xc6e9,0x0000,0xc6ea,0x0000,0xc6eb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 펨 펩 펫 펭
|
||||
0x0000,0xc6ec,0x0000,0x0000,0x0000,0xc6ed,0x0000,0x0000,0x0000,0xc6ee,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 펴 편 펼
|
||||
0x0000,0xc6ef,0x0000,0xc6f0,0x0000,0x0000,0xc6f1,0xc6f2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 폄 폅 폈평
|
||||
0x0000,0xc6f3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc6f4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 폐 폘
|
||||
0x0000,0x0000,0x0000,0xc6f5,0x0000,0xc6f6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 폡 폣
|
||||
0x0000,0xc6f7,0xc6f8,0x0000,0x0000,0xc6f9,0x0000,0x0000,0x0000,0xc6fa,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 포폭 폰 폴
|
||||
0x0000,0xc6fb,0x0000,0xc6fc,0x0000,0xc6fd,0x0000,0xc6fe,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 폼 폽 폿 퐁
|
||||
0x0000,0xc7a1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 퐈
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc7a2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 퐝
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0xce40 - 0xceff
|
||||
0x0000,0xc7a3,0x0000,0x0000,0x0000,0xc7a4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 푀 푄
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc7a5,0x0000,0x0000,0x0000,0xc7a6,0x0000,0x0000,0x0000,0xc7a7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 표 푠 푤
|
||||
0x0000,0x0000,0x0000,0xc7a8,0x0000,0xc7a9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 푭 푯
|
||||
0x0000,0xc7aa,0xc7ab,0x0000,0x0000,0xc7ac,0x0000,0x0000,0xc7ad,0xc7ae,0x0000,0xc7af,0x0000,0x0000,0x0000,0x0000,// 푸푹 푼 푿풀 풂
|
||||
0x0000,0xc7b0,0x0000,0xc7b1,0x0000,0xc7b2,0x0000,0xc7b3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 품 풉 풋 풍
|
||||
0x0000,0xc7b4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 풔
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc7b5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 풩
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc7b6,0x0000,0x0000,0x0000,0xc7b7,0x0000,0x0000,0x0000,0xc7b8,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 퓌 퓐 퓔
|
||||
0x0000,0xc7b9,0x0000,0x0000,0x0000,0xc7ba,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 퓜 퓟
|
||||
// 0xcf40 - 0xcfff
|
||||
0x0000,0xc7bb,0x0000,0x0000,0x0000,0xc7bc,0x0000,0x0000,0x0000,0xc7bd,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 퓨 퓬 퓰
|
||||
0x0000,0xc7be,0x0000,0x0000,0x0000,0xc7bf,0x0000,0xc7c0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 퓸 퓻 퓽
|
||||
0x0000,0xc7c1,0x0000,0x0000,0x0000,0xc7c2,0x0000,0x0000,0x0000,0xc7c3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 프 픈 플
|
||||
0x0000,0xc7c4,0x0000,0xc7c5,0x0000,0xc7c6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 픔 픕 픗
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc7c7,0xc7c8,0x0000,0x0000,0xc7c9,0x0000,0x0000,0x0000,0xc7ca,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 피픽 핀 필
|
||||
0x0000,0xc7cb,0x0000,0xc7cc,0x0000,0xc7cd,0x0000,0xc7ce,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 핌 핍 핏 핑
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0xd040 - 0xd0ff
|
||||
0x0000,0xa4be,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ㅎ
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc7cf,0xc7d0,0x0000,0x0000,0xc7d1,0x0000,0x0000,0x0000,0xc7d2,0x0000,0x0000,0x0000,0x0000,0xc7d3,0x0000,// 하학 한 할 핥
|
||||
0x0000,0xc7d4,0x0000,0xc7d5,0x0000,0xc7d6,0x0000,0xc7d7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 함 합 핫 항
|
||||
0x0000,0xc7d8,0xc7d9,0x0000,0x0000,0xc7da,0x0000,0x0000,0x0000,0xc7db,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 해핵 핸 핼
|
||||
0x0000,0xc7dc,0x0000,0xc7dd,0x0000,0xc7de,0xc7df,0xc7e0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 햄 햅 햇했행
|
||||
0x0000,0xc7e1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 햐
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc7e2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 향
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0xc7e3,0xc7e4,0x0000,0x0000,0xc7e5,0x0000,0x0000,0x0000,0xc7e6,0x0000,0xc7e7,0x0000,0x0000,0x0000,0x0000,// 허헉 헌 헐 헒
|
||||
0x0000,0xc7e8,0x0000,0xc7e9,0x0000,0xc7ea,0x0000,0xc7eb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 험 헙 헛 헝
|
||||
// 0xd140 - 0xd1ff
|
||||
0x0000,0xc7ec,0xc7ed,0x0000,0x0000,0xc7ee,0x0000,0x0000,0x0000,0xc7ef,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 헤헥 헨 헬
|
||||
0x0000,0xc7f0,0x0000,0xc7f1,0x0000,0xc7f2,0x0000,0xc7f3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 헴 헵 헷 헹
|
||||
0x0000,0xc7f4,0xc7f5,0x0000,0x0000,0xc7f6,0x0000,0x0000,0x0000,0xc7f7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 혀혁 현 혈
|
||||
0x0000,0xc7f8,0x0000,0xc7f9,0x0000,0xc7fa,0xc7fb,0xc7fc,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 혐 협 혓혔형
|
||||
0x0000,0xc7fd,0x0000,0x0000,0x0000,0xc7fe,0x0000,0x0000,0x0000,0xc8a1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 혜 혠 혤
|
||||
0x0000,0x0000,0x0000,0xc8a2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 혭
|
||||
0x0000,0xc8a3,0xc8a4,0x0000,0x0000,0xc8a5,0x0000,0x0000,0x0000,0xc8a6,0x0000,0x0000,0x0000,0x0000,0xc8a7,0x0000,// 호혹 혼 홀 홅
|
||||
0x0000,0xc8a8,0x0000,0xc8a9,0x0000,0xc8aa,0x0000,0xc8ab,0x0000,0x0000,0x0000,0xc8ac,0x0000,0x0000,0x0000,0x0000,// 홈 홉 홋 홍 홑
|
||||
0x0000,0xc8ad,0xc8ae,0x0000,0x0000,0xc8af,0x0000,0x0000,0x0000,0xc8b0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 화확 환 활
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0xc8b1,0x0000,0xc8b2,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 홧 황
|
||||
0x0000,0xc8b3,0xc8b4,0x0000,0x0000,0xc8b5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 홰홱 홴
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0xc8b6,0x0000,0xc8b7,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 횃 횅
|
||||
// 0xd240 - 0xd2ff
|
||||
0x0000,0xc8b8,0xc8b9,0x0000,0x0000,0xc8ba,0x0000,0x0000,0x0000,0xc8bb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 회획 횐 횔
|
||||
0x0000,0x0000,0x0000,0xc8bc,0x0000,0xc8bd,0x0000,0xc8be,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 횝 횟 횡
|
||||
0x0000,0xc8bf,0x0000,0x0000,0x0000,0xc8c0,0x0000,0x0000,0x0000,0xc8c1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 효 횬 횰
|
||||
0x0000,0x0000,0x0000,0xc8c2,0x0000,0xc8c3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 횹 횻
|
||||
0x0000,0xc8c4,0xc8c5,0x0000,0x0000,0xc8c6,0x0000,0x0000,0x0000,0xc8c7,0x0000,0x0000,0x0000,0x0000,0xc8c8,0x0000,// 후훅 훈 훌 훑
|
||||
0x0000,0xc8c9,0x0000,0x0000,0x0000,0xc8ca,0x0000,0xc8cb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 훔 훗 훙
|
||||
0x0000,0xc8cc,0x0000,0x0000,0x0000,0xc8cd,0x0000,0x0000,0x0000,0xc8ce,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 훠 훤 훨
|
||||
0x0000,0xc8cf,0x0000,0x0000,0x0000,0x0000,0x0000,0xc8d0,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 훰 훵
|
||||
0x0000,0xc8d1,0xc8d2,0x0000,0x0000,0xc8d3,0x0000,0x0000,0x0000,0xc8d4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 훼훽 휀 휄
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0xc8d5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 휑
|
||||
0x0000,0xc8d6,0xc8d7,0x0000,0x0000,0xc8d8,0x0000,0x0000,0x0000,0xc8d9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 휘휙 휜 휠
|
||||
0x0000,0xc8da,0x0000,0xc8db,0x0000,0xc8dc,0x0000,0xc8dd,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 휨 휩 휫 휭
|
||||
// 0xd340 - 0xd3ff
|
||||
0x0000,0xc8de,0xc8df,0x0000,0x0000,0xc8e0,0x0000,0x0000,0x0000,0xc8e1,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 휴휵 휸 휼
|
||||
0x0000,0xc8e2,0x0000,0x0000,0x0000,0xc8e3,0x0000,0xc8e4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 흄 흇 흉
|
||||
0x0000,0xc8e5,0xc8e6,0x0000,0x0000,0xc8e7,0x0000,0xc8e8,0xc8e9,0xc8ea,0xc8eb,0x0000,0x0000,0x0000,0x0000,0x0000,// 흐흑 흔 흖흗흘흙
|
||||
0x0000,0xc8ec,0x0000,0xc8ed,0x0000,0xc8ee,0x0000,0xc8ef,0x0000,0x0000,0x0000,0xc8f0,0x0000,0x0000,0x0000,0x0000,// 흠 흡 흣 흥 흩
|
||||
0x0000,0xc8f1,0x0000,0x0000,0x0000,0xc8f2,0x0000,0x0000,0x0000,0xc8f3,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 희 흰 흴
|
||||
0x0000,0xc8f4,0x0000,0xc8f5,0x0000,0x0000,0x0000,0xc8f6,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 흼 흽 힁
|
||||
0x0000,0xc8f7,0xc8f8,0x0000,0x0000,0xc8f9,0x0000,0x0000,0x0000,0xc8fa,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 히힉 힌 힐
|
||||
0x0000,0xc8fb,0x0000,0xc8fc,0x0000,0xc8fd,0x0000,0xc8fe,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// 힘 힙 힛 힝
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0xd440 - 0xd4ff
|
||||
0x0000,0xc9a1,0xc9a2,0xc9a3,0xc9a4,0xc9a5,0xc9a6,0xc9a7,0xc9a8,0xc9a9,0xc9aa,0xc9ab,0xc9ac,0xc9ad,0xc9ae,0xc9af,//
|
||||
0xc9b0,0xc9b1,0xc9b2,0xc9b3,0xc9b4,0xc9b5,0xc9b6,0xc9b7,0xc9b8,0xc9b9,0xc9ba,0xc9bb,0xc9bc,0xc9bd,0xc9be,0xc9bf,//
|
||||
0xc9c0,0xc9c1,0xc9c2,0xc9c3,0xc9c4,0xc9c5,0xc9c6,0xc9c7,0xc9c8,0xc9c9,0xc9ca,0xc9cb,0xc9cc,0xc9cd,0xc9ce,0xc9cf,//
|
||||
0xc9d0,0xc9d1,0xc9d2,0xc9d3,0xc9d4,0xc9d5,0xc9d6,0xc9d7,0xc9d8,0xc9d9,0xc9da,0xc9db,0xc9dc,0xc9dd,0xc9de,0xc9df,//
|
||||
0x0000,0xc9e0,0xc9e1,0xc9e2,0xc9e3,0xc9e4,0xc9e5,0xc9e6,0xc9e7,0xc9e8,0xc9e9,0xc9ea,0xc9eb,0xc9ec,0xc9ed,0xc9ee,//
|
||||
0xc9ef,0xc9f0,0xc9f1,0xc9f2,0xc9f3,0xc9f4,0xc9f5,0xc9f6,0xc9f7,0xc9f8,0xc9f9,0xc9fa,0xc9fb,0xc9fc,0xc9fd,0xc9fe,//
|
||||
0xfea1,0xfea2,0xfea3,0xfea4,0xfea5,0xfea6,0xfea7,0xfea8,0xfea9,0xfeaa,0xfeab,0xfeac,0xfead,0xfeae,0xfeaf,0xfeb0,//
|
||||
0xfeb1,0xfeb2,0xfeb3,0xfeb4,0xfeb5,0xfeb6,0xfeb7,0xfeb8,0xfeb9,0xfeba,0xfebb,0xfebc,0xfebd,0xfebe,0xfebf,0xfec0,//
|
||||
0xfec1,0xfec2,0xfec3,0xfec4,0xfec5,0xfec6,0xfec7,0xfec8,0xfec9,0xfeca,0xfecb,0xfecc,0xfecd,0xfece,0xfecf,0xfed0,//
|
||||
0xfed1,0xfed2,0xfed3,0xfed4,0xfed5,0xfed6,0xfed7,0xfed8,0xfed9,0xfeda,0xfedb,0xfedc,0xfedd,0xfede,0xfedf,0xfee0,//
|
||||
0xfee1,0xfee2,0xfee3,0xfee4,0xfee5,0xfee6,0xfee7,0xfee8,0xfee9,0xfeea,0xfeeb,0xfeec,0xfeed,0xfeee,0xfeef,0xfef0,//
|
||||
0xfef1,0xfef2,0xfef3,0xfef4,0xfef5,0xfef6,0xfef7,0xfef8,0xfef9,0xfefa,0xfefb,0xfefc,0xfefd,0xfefe,0x0000,0x0000,//
|
||||
};
|
||||
|
||||
public Ebc2Ksc4()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,360 @@
|
||||
package com.eactive.eai.adapter.wca.util;
|
||||
|
||||
public class Ksc2Ebc1 {
|
||||
protected static char KSC2EBC[] = {
|
||||
// 0xa1a0 - 0xa1ff
|
||||
0x0000,0x4040,0x4141,0x4142,0x4143,0x4144,0x4145,0x4146,0x4147,0x4148,0x4149,0x414a,0x414b,0x42a1,0x414d,0x414e,// 、。·‥…¨〃―∥\∼‘’
|
||||
0x414f,0x4150,0x4151,0x4152,0x4153,0x4154,0x4155,0x4156,0x4157,0x4158,0x4159,0x415a,0x415b,0x415c,0x415d,0x415e,// “”〔〕〈〉《》「」『』【】±×
|
||||
0x415f,0x418d,0x418e,0x418f,0x4163,0x4164,0x4165,0x4166,0x4167,0x4168,0x4190,0x424a,0x416b,0x416c,0x4191,0x4192,// ÷≠≤≥∞∴°′″℃Å¢£¥♂♀
|
||||
0x4193,0x4194,0x4195,0x4196,0x4197,0x4198,0x4199,0x4176,0x4177,0x4178,0x4179,0x417a,0x417b,0x417c,0x417d,0x417e,// ∠⊥⌒∂∇≡≒§※☆★○●◎◇◆
|
||||
0x417f,0x4180,0x4181,0x4182,0x4183,0x4184,0x4185,0x4186,0x4187,0x4188,0x4189,0x418a,0x419a,0x419b,0x419c,0x419d,// □■△▲▽▼→←↑↓↔〓≪≫√∽
|
||||
0x4941,0x4942,0x4943,0x4944,0x4945,0x4946,0x4947,0x4948,0x4949,0x494a,0x494b,0x494c,0x494d,0x494e,0x425f,0x0000,// ∝∵∫∬∈∋⊆⊇⊂⊃∪∩∧∨¬
|
||||
// 0xa2a0 - 0xa2ff
|
||||
0x0000,0x494f,0x4950,0x4951,0x4952,0x4953,0x4954,0x4955,0x4956,0x4957,0x4958,0x4959,0x495a,0x495b,0x495c,0x495d,// ⇒⇔∀∃´~ˇ˘˝˚˙¸˛¡¿
|
||||
0x495e,0x495f,0x4960,0x4961,0x4962,0x4963,0x4964,0x4965,0x4966,0x4967,0x4968,0x4969,0x496a,0x496b,0x496c,0x496d,// ː∮∑∏¤℉‰◁◀▷▶♤♠♡♥♧
|
||||
0x496e,0x496f,0x4970,0x4971,0x4972,0x4973,0x4974,0x4975,0x4976,0x4977,0x4978,0x4979,0x497a,0x497b,0x497c,0x497d,// ♣⊙◈▣◐◑▒▤▥▨▧▦▩♨☏☎
|
||||
0x497e,0x497f,0x4980,0x4981,0x4982,0x4983,0x4984,0x4985,0x4986,0x4987,0x4988,0x4989,0x498a,0x498b,0x498c,0x498d,// ☜☞¶†‡↕↗↙↖↘♭♩♪♬㉿㈜
|
||||
0x498e,0x498f,0x4990,0x4991,0x4992,0x4993,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// №㏇™㏂㏘℡
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0xa3a0 - 0xa3ff
|
||||
0x0000,0x425a,0x427f,0x427b,0x425b,0x426c,0x4250,0x427d,0x424d,0x425d,0x425c,0x424e,0x426b,0x4260,0x424b,0x4261,// !"#$%&'()*+,-./
|
||||
0x42f0,0x42f1,0x42f2,0x42f3,0x42f4,0x42f5,0x42f6,0x42f7,0x42f8,0x42f9,0x427a,0x425e,0x424c,0x427e,0x426e,0x426f,// 0123456789:;<=>?
|
||||
0x427c,0x42c1,0x42c2,0x42c3,0x42c4,0x42c5,0x42c6,0x42c7,0x42c8,0x42c9,0x42d1,0x42d2,0x42d3,0x42d4,0x42d5,0x42d6,// @ABCDEFGHIJKLMNO
|
||||
0x42d7,0x42d8,0x42d9,0x42e2,0x42e3,0x42e4,0x42e5,0x42e6,0x42e7,0x42e8,0x42e9,0x418b,0x42e0,0x418c,0x416a,0x426d,// PQRSTUVWXYZ[₩]^_
|
||||
0x4279,0x4281,0x4282,0x4283,0x4284,0x4285,0x4286,0x4287,0x4288,0x4289,0x4291,0x4292,0x4293,0x4294,0x4295,0x4296,// `abcdefghijklmno
|
||||
0x4297,0x4298,0x4299,0x42a2,0x42a3,0x42a4,0x42a5,0x42a6,0x42a7,0x42a8,0x42a9,0x42c0,0x424f,0x42d0,0x414c,0x0000,// pqrstuvwxyz{|} ̄
|
||||
// 0xa4a0 - 0xa4ff
|
||||
0x0000,0x8841,0x8c41,0x8444,0x9041,0x8446,0x8447,0x9441,0x9841,0x9c41,0x844a,0x844b,0x844c,0x844d,0x844e,0x844f,// ㄱㄲㄳㄴㄵㄶㄷㄸㄹㄺㄻㄼㄽㄾㄿ
|
||||
0x8450,0xa041,0xa441,0xa841,0x8454,0xac41,0xb041,0xb441,0xb841,0xbc41,0xc041,0xc441,0xc841,0xcc41,0xd041,0x8461,// ㅀㅁㅂㅃㅄㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎㅏ
|
||||
0x8481,0x84a1,0x84c1,0x84e1,0x8541,0x8561,0x8581,0x85a1,0x85c1,0x85e1,0x8641,0x8661,0x8681,0x86a1,0x86c1,0x86e1,// ㅐㅑㅒㅓㅔㅕㅖㅗㅘㅙㅚㅛㅜㅝㅞㅟ
|
||||
0x8741,0x8761,0x8781,0x87a1,0x8441,0x4341,0x4342,0x4343,0x4344,0x4345,0x4346,0x4347,0x4348,0x4349,0x434a,0x434b,// ㅠㅡㅢㅣㅤㅥㅦㅧㅨㅩㅪㅫㅬㅭㅮㅯ
|
||||
0x434c,0x434d,0x434e,0x434f,0x4350,0x4351,0x4352,0x4353,0x4354,0x4355,0x4356,0x4357,0x4358,0x4359,0x435a,0x435b,// ㅰㅱㅲㅳㅴㅵㅶㅷㅸㅹㅺㅻㅼㅽㅾㅿ
|
||||
0x435c,0x435d,0x435e,0x435f,0x4360,0x4361,0x4362,0x4363,0x4364,0x4365,0x4366,0x4367,0x4368,0x4369,0x436a,0x0000,// ㆀㆁㆂㆃㆄㆅㆆㆇㆈㆉㆊㆋㆌㆍㆎ
|
||||
// 0xa5a0 - 0xa5ff
|
||||
0x0000,0x4641,0x4642,0x4643,0x4644,0x4645,0x4646,0x4647,0x4648,0x4649,0x464a,0x0000,0x0000,0x0000,0x0000,0x0000,// ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ
|
||||
0x4650,0x4651,0x4652,0x4653,0x4654,0x4655,0x4656,0x4657,0x4658,0x4659,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ
|
||||
0x0000,0x4661,0x4662,0x4663,0x4664,0x4665,0x4666,0x4667,0x4668,0x4669,0x466a,0x466b,0x466c,0x466d,0x466e,0x466f,// ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟ
|
||||
0x4670,0x4671,0x4672,0x4673,0x4674,0x4675,0x4676,0x4677,0x4678,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ΠΡΣΤΥΦΧΨΩ
|
||||
0x0000,0x4681,0x4682,0x4683,0x4684,0x4685,0x4686,0x4687,0x4688,0x4689,0x468a,0x468b,0x468c,0x468d,0x468e,0x468f,// αβγδεζηθικλμνξο
|
||||
0x4690,0x4691,0x4692,0x4693,0x4694,0x4695,0x4696,0x4697,0x4698,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// πρστυφχψω
|
||||
// 0xa6a0 - 0xa6ff
|
||||
0x0000,0x4741,0x4742,0x4743,0x4744,0x4745,0x4746,0x4747,0x4748,0x4749,0x474a,0x474b,0x474c,0x474d,0x474e,0x474f,// ─│┌┐┘└├┬┤┴┼━┃┏┓
|
||||
0x4750,0x4751,0x4752,0x4753,0x4754,0x4755,0x4756,0x4757,0x4758,0x4759,0x475a,0x475b,0x475c,0x475d,0x475e,0x475f,// ┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸
|
||||
0x4760,0x4761,0x4762,0x4763,0x4764,0x4765,0x4766,0x4767,0x4768,0x4769,0x476a,0x476b,0x476c,0x476d,0x476e,0x476f,// ╂┒┑┚┙┖┕┎┍┞┟┡┢┦┧┩
|
||||
0x4770,0x4771,0x4772,0x4773,0x4774,0x4775,0x4776,0x4777,0x4778,0x4779,0x477a,0x477b,0x477c,0x477d,0x477e,0x477f,// ┪┭┮┱┲┵┶┹┺┽┾╀╁╃╄╅
|
||||
0x4780,0x4781,0x4782,0x4783,0x4784,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ╆╇╈╉╊
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0xa7a0 - 0xa7ff
|
||||
0x0000,0x4841,0x416d,0x416e,0x416f,0x4842,0x4170,0x4843,0x4844,0x4845,0x4846,0x4847,0x4848,0x4849,0x4171,0x4172,// ㎕㎖㎗ℓ㎘㏄㎣㎤㎥㎦㎙㎚㎛㎜㎝
|
||||
0x4173,0x484a,0x484b,0x484c,0x484d,0x484e,0x484f,0x4174,0x4175,0x4850,0x4851,0x4852,0x4853,0x4854,0x4855,0x4856,// ㎞㎟㎠㎡㎢㏊㎍㎎㎏㏏㎈㎉㏈㎧㎨㎰
|
||||
0x4857,0x4858,0x4859,0x485a,0x485b,0x485c,0x485d,0x485e,0x485f,0x4860,0x4861,0x4862,0x4863,0x4864,0x4865,0x4866,// ㎱㎲㎳㎴㎵㎶㎷㎸㎹㎀㎁㎂㎃㎄㎺㎻
|
||||
0x4867,0x4868,0x4869,0x486a,0x486b,0x486c,0x486d,0x486e,0x486f,0x4870,0x4871,0x4872,0x4873,0x4874,0x4875,0x4876,// ㎼㎽㎾㎿㎐㎑㎒㎓㎔Ω㏀㏁㎊㎋㎌㏖
|
||||
0x4877,0x4878,0x4879,0x487a,0x487b,0x487c,0x487d,0x487e,0x487f,0x4880,0x4881,0x4882,0x4883,0x4884,0x4885,0x4886,// ㏅㎭㎮㎯㏛㎩㎪㎫㎬㏝㏐㏓㏃㏉㏜㏆
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0xa8a0 - 0xa8ff
|
||||
0x0000,0x4b41,0x4b42,0x4b43,0x4b44,0x0000,0x4b46,0x0000,0x4b48,0x4b49,0x4b4a,0x4b4b,0x4b4c,0x4b4d,0x4b4e,0x4b4f,// ÆÐªĦ IJ ĿŁØŒºÞŦŊ
|
||||
0x0000,0x4b51,0x4b52,0x4b53,0x4b54,0x4b55,0x4b56,0x4b57,0x4b58,0x4b59,0x4b5a,0x4b5b,0x4b5c,0x4b5d,0x4b5e,0x4b5f,// ㉠㉡㉢㉣㉤㉥㉦㉧㉨㉩㉪㉫㉬㉭㉮
|
||||
0x4b60,0x4b61,0x4b62,0x4b63,0x4b64,0x4b65,0x4b66,0x4b67,0x4b68,0x4b69,0x4b6a,0x4b6b,0x4b6c,0x4b6d,0x4b6e,0x4b6f,// ㉯㉰㉱㉲㉳㉴㉵㉶㉷㉸㉹㉺㉻ⓐⓑⓒ
|
||||
0x4b70,0x4b71,0x4b72,0x4b73,0x4b74,0x4b75,0x4b76,0x4b77,0x4b78,0x4b79,0x4b7a,0x4b7b,0x4b7c,0x4b7d,0x4b7e,0x4b7f,// ⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢ
|
||||
0x4b80,0x4b81,0x4b82,0x4b83,0x4b84,0x4b85,0x4b86,0x4b87,0x4b88,0x4b89,0x4b8a,0x4b8b,0x4b8c,0x4b8d,0x4b8e,0x4b8f,// ⓣⓤⓥⓦⓧⓨⓩ①②③④⑤⑥⑦⑧⑨
|
||||
0x4b90,0x4b91,0x4b92,0x4b93,0x4b94,0x4b95,0x4b96,0x4b97,0x4b98,0x4b99,0x4b9a,0x4b9b,0x4b9c,0x4b9d,0x4b9e,0x0000,// ⑩⑪⑫⑬⑭⑮½⅓⅔¼¾⅛⅜⅝⅞
|
||||
// 0xa9a0 - 0xa9ff
|
||||
0x0000,0x4ba0,0x4ba1,0x4ba2,0x4ba3,0x4ba4,0x4ba5,0x4ba6,0x4ba7,0x4ba8,0x4ba9,0x4baa,0x4bab,0x4bac,0x4bad,0x4bae,// æđðħıijĸŀłøœßþŧŋ
|
||||
0x4baf,0x4bb0,0x4bb1,0x4bb2,0x4bb3,0x4bb4,0x4bb5,0x4bb6,0x4bb7,0x4bb8,0x4bb9,0x4bba,0x4bbb,0x4bbc,0x4bbd,0x4bbe,// ʼn㈀㈁㈂㈃㈄㈅㈆㈇㈈㈉㈊㈋㈌㈍㈎
|
||||
0x4bbf,0x4bc0,0x4bc1,0x4bc2,0x4bc3,0x4bc4,0x4bc5,0x4bc6,0x4bc7,0x4bc8,0x4bc9,0x4bca,0x4bcb,0x4bcc,0x4bcd,0x4bce,// ㈏㈐㈑㈒㈓㈔㈕㈖㈗㈘㈙㈚㈛⒜⒝⒞
|
||||
0x4bcf,0x4bd0,0x4bd1,0x4bd2,0x4bd3,0x4bd4,0x4bd5,0x4bd6,0x4bd7,0x4bd8,0x4bd9,0x4bda,0x4bdb,0x4bdc,0x4bdd,0x4bde,// ⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮
|
||||
0x4bdf,0x4be0,0x4be1,0x4be2,0x4be3,0x4be4,0x4be5,0x4be6,0x4be7,0x4be8,0x4be9,0x4bea,0x4beb,0x4bec,0x4bed,0x4bee,// ⒯⒰⒱⒲⒳⒴⒵⑴⑵⑶⑷⑸⑹⑺⑻⑼
|
||||
0x4bef,0x4bf0,0x4bf1,0x4bf2,0x4bf3,0x4bf4,0x4bf5,0x4bf6,0x4bf7,0x4bf8,0x4bf9,0x4bfa,0x4bfb,0x4bfc,0x4bfd,0x0000,// ⑽⑾⑿⒀⒁⒂¹²³⁴ⁿ₁₂₃₄
|
||||
// 0xaaa0 - 0xaaff
|
||||
0x0000,0x4441,0x4442,0x4443,0x4444,0x4445,0x4446,0x4447,0x4448,0x4449,0x444a,0x444b,0x444c,0x444d,0x444e,0x444f,// ぁあぃいぅうぇえぉおかがきぎく
|
||||
0x4450,0x4451,0x4452,0x4453,0x4454,0x4455,0x4456,0x4457,0x4458,0x4459,0x445a,0x445b,0x445c,0x445d,0x445e,0x445f,// ぐけげこごさざしじすずせぜそぞた
|
||||
0x4460,0x4461,0x4462,0x4463,0x4464,0x4465,0x4466,0x4467,0x4468,0x4469,0x446a,0x446b,0x446c,0x446d,0x446e,0x446f,// だちぢっつづてでとどなにぬねのは
|
||||
0x4470,0x4471,0x4472,0x4473,0x4474,0x4475,0x4476,0x4477,0x4478,0x4479,0x447a,0x447b,0x447c,0x447d,0x447e,0x447f,// ばぱひびぴふぶぷへべぺほぼぽまみ
|
||||
0x4480,0x4481,0x4482,0x4483,0x4484,0x4485,0x4486,0x4487,0x4488,0x4489,0x448a,0x448b,0x448c,0x448d,0x448e,0x448f,// むめもゃやゅゆょよらりるれろゎわ
|
||||
0x4490,0x4491,0x4492,0x4493,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ゐゑをん
|
||||
// 0xaba0 - 0xabff
|
||||
0x0000,0x4541,0x4542,0x4543,0x4544,0x4545,0x4546,0x4547,0x4548,0x4549,0x454a,0x454b,0x454c,0x454d,0x454e,0x454f,// ァアィイゥウェエォオカガキギク
|
||||
0x4550,0x4551,0x4552,0x4553,0x4554,0x4555,0x4556,0x4557,0x4558,0x4559,0x455a,0x455b,0x455c,0x455d,0x455e,0x455f,// グケゲコゴサザシジスズセゼソゾタ
|
||||
0x4560,0x4561,0x4562,0x4563,0x4564,0x4565,0x4566,0x4567,0x4568,0x4569,0x456a,0x456b,0x456c,0x456d,0x456e,0x456f,// ダチヂッツヅテデトドナニヌネノハ
|
||||
0x4570,0x4571,0x4572,0x4573,0x4574,0x4575,0x4576,0x4577,0x4578,0x4579,0x457a,0x457b,0x457c,0x457d,0x457e,0x457f,// バパヒビピフブプヘベペホボポマミ
|
||||
0x4580,0x4581,0x4582,0x4583,0x4584,0x4585,0x4586,0x4587,0x4588,0x4589,0x458a,0x458b,0x458c,0x458d,0x458e,0x458f,// ムメモャヤュユョヨラリルレロヮワ
|
||||
0x4590,0x4591,0x4592,0x4593,0x4594,0x4595,0x4596,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ヰヱヲンヴヵヶ
|
||||
// 0xaca0 - 0xacff
|
||||
0x0000,0x4a41,0x4a42,0x4a43,0x4a44,0x4a45,0x4a46,0x4a47,0x4a48,0x4a49,0x4a4a,0x4a4b,0x4a4c,0x4a4d,0x4a4e,0x4a4f,// АБВГДЕЁЖЗИЙКЛМН
|
||||
0x4a50,0x4a51,0x4a52,0x4a53,0x4a54,0x4a55,0x4a56,0x4a57,0x4a58,0x4a59,0x4a5a,0x4a5b,0x4a5c,0x4a5d,0x4a5e,0x4a5f,// ОПРСТУФХЦЧШЩЪЫЬЭ
|
||||
0x4a60,0x4a61,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// ЮЯ
|
||||
0x0000,0x4a62,0x4a63,0x4a64,0x4a65,0x4a66,0x4a67,0x4a68,0x4a69,0x4a6a,0x4a6b,0x4a6c,0x4a6d,0x4a6e,0x4a6f,0x4a70,// абвгдеёжзийклмн
|
||||
0x4a71,0x4a72,0x4a73,0x4a74,0x4a75,0x4a76,0x4a77,0x4a78,0x4a79,0x4a7a,0x4a7b,0x4a7c,0x4a7d,0x4a7e,0x4a7f,0x4a80,// опрстуфхцчшщъыьэ
|
||||
0x4a81,0x4a82,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,// юя
|
||||
// 0xada0 - 0xadff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0xaea0 - 0xaeff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0xafa0 - 0xafff
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,//
|
||||
// 0xb0a0 - 0xb0ff
|
||||
0x0000,0x8861,0x8862,0x8865,0x8868,0x8869,0x886a,0x886b,0x8871,0x8873,0x8874,0x8875,0x8876,0x8877,0x8878,0x8879,// 가각간갇갈갉갊감갑값갓갔강갖갗
|
||||
0x887b,0x887c,0x887d,0x8881,0x8882,0x8885,0x8889,0x8891,0x8893,0x8895,0x8896,0x8897,0x88a1,0x88a2,0x88a5,0x88a9,// 같갚갛개객갠갤갬갭갯갰갱갸갹갼걀
|
||||
0x88b5,0x88b7,0x88c1,0x88c5,0x88c9,0x88e1,0x88e2,0x88e5,0x88e8,0x88e9,0x88eb,0x88f1,0x88f3,0x88f5,0x88f6,0x88f7,// 걋걍걔걘걜거걱건걷걸걺검겁것겄겅
|
||||
0x88f8,0x88fb,0x88fc,0x88fd,0x8941,0x8945,0x8949,0x8951,0x8953,0x8955,0x8956,0x8957,0x8961,0x8962,0x8963,0x8965,// 겆겉겊겋게겐겔겜겝겟겠겡겨격겪견
|
||||
0x8968,0x8969,0x8971,0x8973,0x8975,0x8976,0x8977,0x897b,0x8981,0x8985,0x8989,0x8993,0x8995,0x89a1,0x89a2,0x89a5,// 겯결겸겹겻겼경곁계곈곌곕곗고곡곤
|
||||
0x89a8,0x89a9,0x89ab,0x89ad,0x89b0,0x89b1,0x89b3,0x89b5,0x89b7,0x89b8,0x89c1,0x89c2,0x89c5,0x89c9,0x89cb,0x0000,// 곧골곪곬곯곰곱곳공곶과곽관괄괆
|
||||
// 0xb1a0 - 0xb1ff
|
||||
0x0000,0x89d1,0x89d3,0x89d5,0x89d7,0x89e1,0x89e5,0x89e9,0x89f3,0x89f6,0x89f7,0x8a41,0x8a42,0x8a45,0x8a49,0x8a51,// 괌괍괏광괘괜괠괩괬괭괴괵괸괼굄
|
||||
0x8a53,0x8a55,0x8a57,0x8a61,0x8a65,0x8a69,0x8a73,0x8a75,0x8a81,0x8a82,0x8a85,0x8a88,0x8a89,0x8a8a,0x8a8b,0x8a90,// 굅굇굉교굔굘굡굣구국군굳굴굵굶굻
|
||||
0x8a91,0x8a93,0x8a95,0x8a97,0x8a98,0x8aa1,0x8aa2,0x8aa5,0x8aa9,0x8ab6,0x8ab7,0x8ac1,0x8ad5,0x8ae1,0x8ae2,0x8ae5,// 굼굽굿궁궂궈궉권궐궜궝궤궷귀귁귄
|
||||
0x8ae9,0x8af1,0x8af3,0x8af5,0x8b41,0x8b45,0x8b49,0x8b61,0x8b62,0x8b65,0x8b68,0x8b69,0x8b6a,0x8b71,0x8b73,0x8b75,// 귈귐귑귓규균귤그극근귿글긁금급긋
|
||||
0x8b77,0x8b81,0x8ba1,0x8ba2,0x8ba5,0x8ba8,0x8ba9,0x8bab,0x8bb1,0x8bb3,0x8bb5,0x8bb7,0x8bb8,0x8bbc,0x8c61,0x8c62,// 긍긔기긱긴긷길긺김깁깃깅깆깊까깍
|
||||
0x8c63,0x8c65,0x8c69,0x8c6b,0x8c71,0x8c73,0x8c75,0x8c76,0x8c77,0x8c7b,0x8c81,0x8c82,0x8c85,0x8c89,0x8c91,0x0000,// 깎깐깔깖깜깝깟깠깡깥깨깩깬깰깸
|
||||
// 0xb2a0 - 0xb2ff
|
||||
0x0000,0x8c93,0x8c95,0x8c96,0x8c97,0x8ca1,0x8ca2,0x8ca9,0x8ce1,0x8ce2,0x8ce3,0x8ce5,0x8ce9,0x8cf1,0x8cf3,0x8cf5,// 깹깻깼깽꺄꺅꺌꺼꺽꺾껀껄껌껍껏
|
||||
0x8cf6,0x8cf7,0x8d41,0x8d42,0x8d45,0x8d51,0x8d55,0x8d57,0x8d61,0x8d65,0x8d69,0x8d75,0x8d76,0x8d7b,0x8d81,0x8da1,// 껐껑께껙껜껨껫껭껴껸껼꼇꼈꼍꼐꼬
|
||||
0x8da2,0x8da5,0x8da7,0x8da9,0x8db1,0x8db3,0x8db5,0x8db7,0x8db8,0x8db9,0x8dc1,0x8dc2,0x8dc9,0x8dd6,0x8dd7,0x8de1,// 꼭꼰꼲꼴꼼꼽꼿꽁꽂꽃꽈꽉꽐꽜꽝꽤
|
||||
0x8de2,0x8df7,0x8e41,0x8e45,0x8e49,0x8e51,0x8e53,0x8e57,0x8e61,0x8e81,0x8e82,0x8e85,0x8e89,0x8e90,0x8e91,0x8e93,// 꽥꽹꾀꾄꾈꾐꾑꾕꾜꾸꾹꾼꿀꿇꿈꿉
|
||||
0x8e95,0x8e97,0x8e98,0x8ea1,0x8ea9,0x8eb6,0x8eb7,0x8ec1,0x8ec2,0x8ec5,0x8ec9,0x8ed1,0x8ed3,0x8ed6,0x8ee1,0x8ee5,// 꿋꿍꿎꿔꿜꿨꿩꿰꿱꿴꿸뀀뀁뀄뀌뀐
|
||||
0x8ee9,0x8ef1,0x8ef3,0x8f41,0x8f61,0x8f62,0x8f65,0x8f67,0x8f69,0x8f6b,0x8f70,0x8f71,0x8f73,0x8f75,0x8f77,0x0000,// 뀔뀜뀝뀨끄끅끈끊끌끎끓끔끕끗끙
|
||||
// 0xb3a0 - 0xb3ff
|
||||
0x0000,0x8f7b,0x8fa1,0x8fa2,0x8fa5,0x8fa9,0x8fb1,0x8fb3,0x8fb5,0x8fb7,0x9061,0x9062,0x9063,0x9065,0x9068,0x9069,// 끝끼끽낀낄낌낍낏낑나낙낚난낟날
|
||||
0x906a,0x906b,0x9071,0x9073,0x9075,0x9076,0x9077,0x9078,0x9079,0x907b,0x907d,0x9081,0x9082,0x9085,0x9089,0x9091,// 낡낢남납낫났낭낮낯낱낳내낵낸낼냄
|
||||
0x9093,0x9095,0x9096,0x9097,0x90a1,0x90a2,0x90a5,0x90a9,0x90b1,0x90b7,0x90e1,0x90e2,0x90e4,0x90e5,0x90e9,0x90eb,// 냅냇냈냉냐냑냔냘냠냥너넉넋넌널넒
|
||||
0x90ec,0x90f1,0x90f3,0x90f5,0x90f6,0x90f7,0x90fd,0x9141,0x9142,0x9145,0x9149,0x9151,0x9153,0x9155,0x9156,0x9157,// 넓넘넙넛넜넝넣네넥넨넬넴넵넷넸넹
|
||||
0x9161,0x9162,0x9165,0x9169,0x9171,0x9173,0x9176,0x9177,0x917a,0x9181,0x9185,0x91a1,0x91a2,0x91a5,0x91a9,0x91ab,// 녀녁년녈념녑녔녕녘녜녠노녹논놀놂
|
||||
0x91b1,0x91b3,0x91b5,0x91b7,0x91bc,0x91bd,0x91c1,0x91c5,0x91c9,0x91d6,0x9241,0x9245,0x9249,0x9251,0x9253,0x0000,// 놈놉놋농높놓놔놘놜놨뇌뇐뇔뇜뇝
|
||||
// 0xb4a0 - 0xb4ff
|
||||
0x0000,0x9255,0x9261,0x9262,0x9265,0x9269,0x9273,0x9275,0x9277,0x9281,0x9282,0x9285,0x9288,0x9289,0x9291,0x9293,// 뇟뇨뇩뇬뇰뇹뇻뇽누눅눈눋눌눔눕
|
||||
0x9295,0x9297,0x92a1,0x92b6,0x92c1,0x92e1,0x92e5,0x92e9,0x92f1,0x92f3,0x9341,0x9342,0x9349,0x9351,0x9353,0x9357,// 눗눙눠눴눼뉘뉜뉠뉨뉩뉴뉵뉼늄늅늉
|
||||
0x9361,0x9362,0x9365,0x9369,0x936a,0x936b,0x9371,0x9373,0x9375,0x9377,0x9378,0x937c,0x9381,0x9385,0x9389,0x93a1,// 느늑는늘늙늚늠늡늣능늦늪늬늰늴니
|
||||
0x93a2,0x93a5,0x93a9,0x93ab,0x93b1,0x93b3,0x93b5,0x93b7,0x93bc,0x9461,0x9462,0x9463,0x9465,0x9468,0x9469,0x946a,// 닉닌닐닒님닙닛닝닢다닥닦단닫달닭
|
||||
0x946b,0x946c,0x9470,0x9471,0x9473,0x9475,0x9476,0x9477,0x9478,0x9479,0x947d,0x9481,0x9482,0x9485,0x9489,0x9491,// 닮닯닳담답닷닸당닺닻닿대댁댄댈댐
|
||||
0x9493,0x9495,0x9496,0x9497,0x94a1,0x94e1,0x94e2,0x94e3,0x94e5,0x94e8,0x94e9,0x94eb,0x94ec,0x94f1,0x94f3,0x0000,// 댑댓댔댕댜더덕덖던덛덜덞덟덤덥
|
||||
// 0xb5a0 - 0xb5ff
|
||||
0x0000,0x94f5,0x94f7,0x94f9,0x94fc,0x9541,0x9542,0x9545,0x9549,0x9551,0x9553,0x9555,0x9556,0x9557,0x9561,0x9565,// 덧덩덫덮데덱덴델뎀뎁뎃뎄뎅뎌뎐
|
||||
0x9569,0x9576,0x9577,0x9581,0x9585,0x95a1,0x95a2,0x95a5,0x95a8,0x95a9,0x95ab,0x95ad,0x95b1,0x95b3,0x95b5,0x95b7,// 뎔뎠뎡뎨뎬도독돈돋돌돎돐돔돕돗동
|
||||
0x95b9,0x95bb,0x95c1,0x95c5,0x95c9,0x95e1,0x95f6,0x9641,0x9645,0x9649,0x9651,0x9653,0x9655,0x9661,0x9681,0x9682,// 돛돝돠돤돨돼됐되된될됨됩됫됴두둑
|
||||
0x9685,0x9689,0x9691,0x9693,0x9695,0x9697,0x96a1,0x96b6,0x96c1,0x96d7,0x96e1,0x96e5,0x96e9,0x96f3,0x96f5,0x96f7,// 둔둘둠둡둣둥둬뒀뒈뒝뒤뒨뒬뒵뒷뒹
|
||||
0x9741,0x9745,0x9749,0x9751,0x9757,0x9761,0x9762,0x9765,0x9768,0x9769,0x976b,0x9771,0x9773,0x9775,0x9777,0x9781,// 듀듄듈듐듕드득든듣들듦듬듭듯등듸
|
||||
0x97a1,0x97a2,0x97a5,0x97a8,0x97a9,0x97b1,0x97b3,0x97b5,0x97b6,0x97b7,0x97b8,0x9861,0x9862,0x9865,0x9869,0x0000,// 디딕딘딛딜딤딥딧딨딩딪따딱딴딸
|
||||
// 0xb6a0 - 0xb6ff
|
||||
0x0000,0x9871,0x9873,0x9875,0x9876,0x9877,0x987d,0x9881,0x9882,0x9885,0x9889,0x9891,0x9893,0x9895,0x9896,0x9897,// 땀땁땃땄땅땋때땍땐땔땜땝땟땠땡
|
||||
0x98e1,0x98e2,0x98e5,0x98e9,0x98eb,0x98ec,0x98f1,0x98f3,0x98f5,0x98f6,0x98f7,0x98fd,0x9941,0x9942,0x9945,0x9949,// 떠떡떤떨떪떫떰떱떳떴떵떻떼떽뗀뗄
|
||||
0x9951,0x9953,0x9955,0x9956,0x9957,0x9961,0x9976,0x99a1,0x99a2,0x99a5,0x99a9,0x99b7,0x99c1,0x99c9,0x99e1,0x9a41,// 뗌뗍뗏뗐뗑뗘뗬또똑똔똘똥똬똴뙈뙤
|
||||
0x9a45,0x9a81,0x9a82,0x9a85,0x9a89,0x9a90,0x9a91,0x9a97,0x9ac1,0x9ae1,0x9ae5,0x9ae9,0x9af1,0x9af3,0x9af7,0x9b61,// 뙨뚜뚝뚠뚤뚫뚬뚱뛔뛰뛴뛸뜀뜁뜅뜨
|
||||
0x9b62,0x9b65,0x9b68,0x9b69,0x9b71,0x9b73,0x9b75,0x9b81,0x9b85,0x9b89,0x9b91,0x9b93,0x9ba1,0x9ba5,0x9ba9,0x9bb1,// 뜩뜬뜯뜰뜸뜹뜻띄띈띌띔띕띠띤띨띰
|
||||
0x9bb3,0x9bb5,0x9bb7,0x9c61,0x9c62,0x9c65,0x9c69,0x9c71,0x9c73,0x9c75,0x9c76,0x9c77,0x9c78,0x9c7c,0x9c7d,0x0000,// 띱띳띵라락란랄람랍랏랐랑랒랖랗
|
||||
// 0xb7a0 - 0xb7ff
|
||||
0x0000,0x9c81,0x9c82,0x9c85,0x9c89,0x9c91,0x9c93,0x9c95,0x9c96,0x9c97,0x9ca1,0x9ca2,0x9ca5,0x9cb5,0x9cb7,0x9ce1,// 래랙랜랠램랩랫랬랭랴략랸럇량러
|
||||
0x9ce2,0x9ce5,0x9ce9,0x9cf1,0x9cf3,0x9cf5,0x9cf6,0x9cf7,0x9cfd,0x9d41,0x9d42,0x9d45,0x9d49,0x9d51,0x9d53,0x9d55,// 럭런럴럼럽럿렀렁렇레렉렌렐렘렙렛
|
||||
0x9d57,0x9d61,0x9d62,0x9d65,0x9d69,0x9d71,0x9d73,0x9d75,0x9d76,0x9d77,0x9d81,0x9d85,0x9d93,0x9d95,0x9da1,0x9da2,// 렝려력련렬렴렵렷렸령례롄롑롓로록
|
||||
0x9da5,0x9da9,0x9db1,0x9db3,0x9db5,0x9db7,0x9dc1,0x9dc5,0x9dd7,0x9df6,0x9e41,0x9e45,0x9e49,0x9e51,0x9e53,0x9e55,// 론롤롬롭롯롱롸롼뢍뢨뢰뢴뢸룀룁룃
|
||||
0x9e57,0x9e61,0x9e65,0x9e69,0x9e73,0x9e75,0x9e77,0x9e81,0x9e82,0x9e85,0x9e89,0x9e91,0x9e93,0x9e95,0x9e97,0x9ea1,// 룅료룐룔룝룟룡루룩룬룰룸룹룻룽뤄
|
||||
0x9eb6,0x9ec1,0x9ee1,0x9ee2,0x9ee5,0x9ee9,0x9ef1,0x9ef5,0x9ef7,0x9f41,0x9f42,0x9f45,0x9f49,0x9f51,0x9f53,0x0000,// 뤘뤠뤼뤽륀륄륌륏륑류륙륜률륨륩
|
||||
// 0xb8a0 - 0xb8ff
|
||||
0x0000,0x9f55,0x9f57,0x9f61,0x9f62,0x9f65,0x9f69,0x9f71,0x9f73,0x9f75,0x9f77,0x9f78,0x9f7b,0x9f7c,0x9fa1,0x9fa2,// 륫륭르륵른를름릅릇릉릊릍릎리릭
|
||||
0x9fa5,0x9fa9,0x9fb1,0x9fb3,0x9fb5,0x9fb7,0xa061,0xa062,0xa065,0xa067,0xa068,0xa069,0xa06a,0xa06b,0xa071,0xa073,// 린릴림립릿링마막만많맏말맑맒맘맙
|
||||
0xa075,0xa077,0xa078,0xa07b,0xa07d,0xa081,0xa082,0xa085,0xa089,0xa091,0xa093,0xa095,0xa096,0xa097,0xa098,0xa0a1,// 맛망맞맡맣매맥맨맬맴맵맷맸맹맺먀
|
||||
0xa0a2,0xa0a9,0xa0b7,0xa0e1,0xa0e2,0xa0e5,0xa0e9,0xa0eb,0xa0f1,0xa0f3,0xa0f5,0xa0f7,0xa0f8,0xa0fd,0xa141,0xa142,// 먁먈먕머먹먼멀멂멈멉멋멍멎멓메멕
|
||||
0xa145,0xa149,0xa151,0xa153,0xa155,0xa156,0xa157,0xa161,0xa162,0xa165,0xa169,0xa175,0xa176,0xa177,0xa179,0xa181,// 멘멜멤멥멧멨멩며멱면멸몃몄명몇몌
|
||||
0xa1a1,0xa1a2,0xa1a4,0xa1a5,0xa1a9,0xa1ab,0xa1b1,0xa1b3,0xa1b5,0xa1b7,0xa1c1,0xa1c5,0xa1d6,0xa1d7,0xa241,0x0000,// 모목몫몬몰몲몸몹못몽뫄뫈뫘뫙뫼
|
||||
// 0xb9a0 - 0xb9ff
|
||||
0x0000,0xa245,0xa249,0xa253,0xa255,0xa257,0xa261,0xa265,0xa269,0xa273,0xa275,0xa281,0xa282,0xa283,0xa285,0xa288,// 묀묄묍묏묑묘묜묠묩묫무묵묶문묻
|
||||
0xa289,0xa28a,0xa28b,0xa291,0xa293,0xa295,0xa297,0xa29b,0xa29d,0xa2a1,0xa2a5,0xa2a9,0xa2b3,0xa2b5,0xa2c1,0xa2e1,// 물묽묾뭄뭅뭇뭉뭍뭏뭐뭔뭘뭡뭣뭬뮈
|
||||
0xa2e5,0xa2e9,0xa341,0xa345,0xa349,0xa351,0xa355,0xa361,0xa365,0xa369,0xa371,0xa375,0xa3a1,0xa3a2,0xa3a5,0xa3a8,// 뮌뮐뮤뮨뮬뮴뮷므믄믈믐믓미믹민믿
|
||||
0xa3a9,0xa3ab,0xa3b1,0xa3b3,0xa3b5,0xa3b6,0xa3b7,0xa3b9,0xa3bb,0xa461,0xa462,0xa463,0xa464,0xa465,0xa468,0xa469,// 밀밂밈밉밋밌밍및밑바박밖밗반받발
|
||||
0xa46a,0xa46b,0xa46c,0xa471,0xa473,0xa475,0xa477,0xa47b,0xa481,0xa482,0xa485,0xa489,0xa491,0xa493,0xa495,0xa496,// 밝밞밟밤밥밧방밭배백밴밸뱀뱁뱃뱄
|
||||
0xa497,0xa49b,0xa4a1,0xa4a2,0xa4a5,0xa4b3,0xa4e1,0xa4e2,0xa4e5,0xa4e8,0xa4e9,0xa4eb,0xa4f1,0xa4f3,0xa4f5,0x0000,// 뱅뱉뱌뱍뱐뱝버벅번벋벌벎범법벗
|
||||
// 0xbaa0 - 0xbaff
|
||||
0x0000,0xa4f7,0xa4f8,0xa541,0xa542,0xa545,0xa548,0xa549,0xa551,0xa553,0xa555,0xa556,0xa557,0xa561,0xa562,0xa565,// 벙벚베벡벤벧벨벰벱벳벴벵벼벽변
|
||||
0xa569,0xa573,0xa575,0xa576,0xa577,0xa57b,0xa581,0xa585,0xa5a1,0xa5a2,0xa5a3,0xa5a5,0xa5a9,0xa5b1,0xa5b3,0xa5b5,// 별볍볏볐병볕볘볜보복볶본볼봄봅봇
|
||||
0xa5b7,0xa5c1,0xa5c5,0xa5d6,0xa5e1,0xa5f6,0xa641,0xa642,0xa645,0xa649,0xa651,0xa653,0xa661,0xa665,0xa681,0xa682,// 봉봐봔봤봬뵀뵈뵉뵌뵐뵘뵙뵤뵨부북
|
||||
0xa685,0xa688,0xa689,0xa68a,0xa68b,0xa691,0xa693,0xa695,0xa697,0xa69b,0xa69c,0xa6a1,0xa6a9,0xa6b6,0xa6c1,0xa6e1,// 분붇불붉붊붐붑붓붕붙붚붜붤붰붸뷔
|
||||
0xa6e2,0xa6e5,0xa6e9,0xa6f7,0xa741,0xa745,0xa749,0xa751,0xa755,0xa757,0xa761,0xa762,0xa765,0xa769,0xa771,0xa773,// 뷕뷘뷜뷩뷰뷴뷸븀븃븅브븍븐블븜븝
|
||||
0xa775,0xa7a1,0xa7a2,0xa7a5,0xa7a9,0xa7ab,0xa7b1,0xa7b3,0xa7b5,0xa7b7,0xa7b8,0xa7b9,0xa861,0xa862,0xa865,0x0000,// 븟비빅빈빌빎빔빕빗빙빚빛빠빡빤
|
||||
// 0xbba0 - 0xbbff
|
||||
0x0000,0xa869,0xa86b,0xa871,0xa873,0xa875,0xa876,0xa877,0xa87d,0xa881,0xa882,0xa885,0xa889,0xa891,0xa893,0xa895,// 빨빪빰빱빳빴빵빻빼빽뺀뺄뺌뺍뺏
|
||||
0xa896,0xa897,0xa8a1,0xa8a2,0xa8b1,0xa8e1,0xa8e2,0xa8e5,0xa8e8,0xa8e9,0xa8f1,0xa8f5,0xa8f6,0xa8f7,0xa941,0xa957,// 뺐뺑뺘뺙뺨뻐뻑뻔뻗뻘뻠뻣뻤뻥뻬뼁
|
||||
0xa961,0xa962,0xa971,0xa973,0xa975,0xa976,0xa977,0xa9a1,0xa9a2,0xa9a5,0xa9a9,0xa9b1,0xa9b3,0xa9b7,0xaa41,0xaa61,// 뼈뼉뼘뼙뼛뼜뼝뽀뽁뽄뽈뽐뽑뽕뾔뾰
|
||||
0xaa77,0xaa81,0xaa82,0xaa85,0xaa89,0xaa91,0xaa95,0xaa97,0xab41,0xab57,0xab61,0xab65,0xab69,0xab71,0xab73,0xaba1,// 뿅뿌뿍뿐뿔뿜뿟뿡쀼쁑쁘쁜쁠쁨쁩삐
|
||||
0xaba2,0xaba5,0xaba9,0xabb1,0xabb3,0xabb5,0xabb7,0xac61,0xac62,0xac64,0xac65,0xac68,0xac69,0xac6a,0xac6b,0xac71,// 삑삔삘삠삡삣삥사삭삯산삳살삵삶삼
|
||||
0xac73,0xac75,0xac76,0xac77,0xac7b,0xac81,0xac82,0xac85,0xac89,0xac91,0xac93,0xac95,0xac96,0xac97,0xaca1,0x0000,// 삽삿샀상샅새색샌샐샘샙샛샜생샤
|
||||
// 0xbca0 - 0xbcff
|
||||
0x0000,0xaca2,0xaca5,0xaca9,0xacb1,0xacb3,0xacb5,0xacb7,0xacc1,0xacc5,0xacc9,0xacd1,0xacd7,0xace1,0xace2,0xace3,// 샥샨샬샴샵샷샹섀섄섈섐섕서석섞
|
||||
0xace4,0xace5,0xace8,0xace9,0xaceb,0xacec,0xacf1,0xacf3,0xacf5,0xacf6,0xacf7,0xacfc,0xad41,0xad42,0xad45,0xad49,// 섟선섣설섦섧섬섭섯섰성섶세섹센셀
|
||||
0xad51,0xad53,0xad55,0xad56,0xad57,0xad61,0xad62,0xad65,0xad69,0xad71,0xad73,0xad75,0xad76,0xad77,0xad81,0xad85,// 셈셉셋셌셍셔셕션셜셤셥셧셨셩셰셴
|
||||
0xad89,0xad97,0xada1,0xada2,0xada3,0xada5,0xada9,0xadab,0xadb1,0xadb3,0xadb5,0xadb7,0xadbb,0xadc1,0xadc2,0xadc5,// 셸솅소속솎손솔솖솜솝솟송솥솨솩솬
|
||||
0xadc9,0xadd7,0xade1,0xade5,0xade9,0xadf1,0xadf5,0xadf6,0xae41,0xae45,0xae49,0xae51,0xae53,0xae55,0xae61,0xae62,// 솰솽쇄쇈쇌쇔쇗쇘쇠쇤쇨쇰쇱쇳쇼쇽
|
||||
0xae65,0xae69,0xae71,0xae73,0xae75,0xae77,0xae81,0xae82,0xae85,0xae88,0xae89,0xae91,0xae93,0xae95,0xae97,0x0000,// 숀숄숌숍숏숑수숙순숟술숨숩숫숭
|
||||
// 0xbda0 - 0xbdff
|
||||
0x0000,0xae99,0xae9b,0xae9c,0xaea1,0xaeb6,0xaec1,0xaec2,0xaec5,0xaec9,0xaed1,0xaed7,0xaee1,0xaee2,0xaee5,0xaee9,// 숯숱숲숴쉈쉐쉑쉔쉘쉠쉥쉬쉭쉰쉴
|
||||
0xaef1,0xaef3,0xaef5,0xaef7,0xaf41,0xaf42,0xaf49,0xaf51,0xaf55,0xaf57,0xaf61,0xaf62,0xaf65,0xaf69,0xaf6a,0xaf71,// 쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴
|
||||
0xaf73,0xaf75,0xaf77,0xafa1,0xafa2,0xafa5,0xafa8,0xafa9,0xafb0,0xafb1,0xafb3,0xafb5,0xafb7,0xafbc,0xb061,0xb062,// 습슷승시식신싣실싫심십싯싱싶싸싹
|
||||
0xb064,0xb065,0xb069,0xb071,0xb073,0xb076,0xb077,0xb07d,0xb081,0xb082,0xb085,0xb089,0xb091,0xb093,0xb096,0xb097,// 싻싼쌀쌈쌉쌌쌍쌓쌔쌕쌘쌜쌤쌥쌨쌩
|
||||
0xb0b7,0xb0e1,0xb0e2,0xb0e5,0xb0e9,0xb0eb,0xb0f1,0xb0f3,0xb0f6,0xb0f7,0xb141,0xb145,0xb149,0xb185,0xb1a1,0xb1a2,// 썅써썩썬썰썲썸썹썼썽쎄쎈쎌쏀쏘쏙
|
||||
0xb1a5,0xb1a8,0xb1a9,0xb1ab,0xb1b1,0xb1b3,0xb1b7,0xb1c1,0xb1c2,0xb1c5,0xb1d6,0xb1e1,0xb1f6,0xb241,0xb245,0x0000,// 쏜쏟쏠쏢쏨쏩쏭쏴쏵쏸쐈쐐쐤쐬쐰
|
||||
// 0xbea0 - 0xbeff
|
||||
0x0000,0xb249,0xb251,0xb253,0xb261,0xb281,0xb282,0xb285,0xb289,0xb291,0xb293,0xb297,0xb2a1,0xb2b6,0xb2c1,0xb2e1,// 쐴쐼쐽쑈쑤쑥쑨쑬쑴쑵쑹쒀쒔쒜쒸
|
||||
0xb2e5,0xb357,0xb361,0xb362,0xb365,0xb369,0xb36b,0xb370,0xb371,0xb373,0xb381,0xb385,0xb389,0xb391,0xb3a1,0xb3a2,// 쒼쓩쓰쓱쓴쓸쓺쓿씀씁씌씐씔씜씨씩
|
||||
0xb3a5,0xb3a9,0xb3b1,0xb3b3,0xb3b5,0xb3b7,0xb461,0xb462,0xb465,0xb466,0xb467,0xb469,0xb46a,0xb46b,0xb470,0xb471,// 씬씰씸씹씻씽아악안앉않알앍앎앓암
|
||||
0xb473,0xb475,0xb476,0xb477,0xb47b,0xb47c,0xb481,0xb482,0xb485,0xb489,0xb491,0xb493,0xb495,0xb496,0xb497,0xb4a1,// 압앗았앙앝앞애액앤앨앰앱앳앴앵야
|
||||
0xb4a2,0xb4a5,0xb4a9,0xb4ac,0xb4b1,0xb4b3,0xb4b5,0xb4b7,0xb4bb,0xb4bd,0xb4c1,0xb4c5,0xb4c9,0xb4d3,0xb4e1,0xb4e2,// 약얀얄얇얌얍얏양얕얗얘얜얠얩어억
|
||||
0xb4e5,0xb4e6,0xb4e8,0xb4e9,0xb4ea,0xb4eb,0xb4f1,0xb4f3,0xb4f4,0xb4f5,0xb4f6,0xb4f7,0xb4f8,0xb4fa,0xb4fc,0x0000,// 언얹얻얼얽얾엄업없엇었엉엊엌엎
|
||||
// 0xbfa0 - 0xbfff
|
||||
0x0000,0xb541,0xb542,0xb545,0xb549,0xb551,0xb553,0xb555,0xb557,0xb561,0xb562,0xb563,0xb565,0xb569,0xb56b,0xb56c,// 에엑엔엘엠엡엣엥여역엮연열엶엷
|
||||
0xb571,0xb573,0xb574,0xb575,0xb576,0xb577,0xb57b,0xb57c,0xb57d,0xb581,0xb585,0xb589,0xb591,0xb593,0xb595,0xb596,// 염엽엾엿였영옅옆옇예옌옐옘옙옛옜
|
||||
0xb5a1,0xb5a2,0xb5a5,0xb5a9,0xb5aa,0xb5ab,0xb5ad,0xb5b0,0xb5b1,0xb5b3,0xb5b5,0xb5b7,0xb5b9,0xb5c1,0xb5c2,0xb5c5,// 오옥온올옭옮옰옳옴옵옷옹옻와왁완
|
||||
0xb5c9,0xb5d1,0xb5d3,0xb5d5,0xb5d6,0xb5d7,0xb5e1,0xb5e2,0xb5e5,0xb5f1,0xb5f5,0xb5f7,0xb641,0xb642,0xb645,0xb649,// 왈왐왑왓왔왕왜왝왠왬왯왱외왹왼욀
|
||||
0xb651,0xb653,0xb655,0xb657,0xb661,0xb662,0xb665,0xb669,0xb671,0xb673,0xb675,0xb677,0xb681,0xb682,0xb685,0xb689,// 욈욉욋욍요욕욘욜욤욥욧용우욱운울
|
||||
0xb68a,0xb68b,0xb691,0xb693,0xb695,0xb697,0xb6a1,0xb6a2,0xb6a5,0xb6a9,0xb6b1,0xb6b3,0xb6b6,0xb6b7,0xb6c1,0x0000,// 욹욺움웁웃웅워웍원월웜웝웠웡웨
|
||||
// 0xc0a0 - 0xc0ff
|
||||
0x0000,0xb6c2,0xb6c5,0xb6c9,0xb6d1,0xb6d3,0xb6d7,0xb6e1,0xb6e2,0xb6e5,0xb6e9,0xb6f1,0xb6f3,0xb6f5,0xb6f7,0xb741,// 웩웬웰웸웹웽위윅윈윌윔윕윗윙유
|
||||
0xb742,0xb745,0xb749,0xb751,0xb753,0xb755,0xb757,0xb759,0xb761,0xb762,0xb765,0xb769,0xb76f,0xb771,0xb773,0xb775,// 육윤율윰윱윳융윷으윽은을읊음읍읏
|
||||
0xb777,0xb778,0xb779,0xb77a,0xb77b,0xb77c,0xb77d,0xb781,0xb785,0xb789,0xb791,0xb795,0xb7a1,0xb7a2,0xb7a5,0xb7a9,// 응읒읓읔읕읖읗의읜읠읨읫이익인일
|
||||
0xb7aa,0xb7ab,0xb7b0,0xb7b1,0xb7b3,0xb7b5,0xb7b6,0xb7b7,0xb7b8,0xb7bc,0xb861,0xb862,0xb865,0xb867,0xb868,0xb869,// 읽읾잃임입잇있잉잊잎자작잔잖잗잘
|
||||
0xb86b,0xb871,0xb873,0xb875,0xb876,0xb877,0xb878,0xb881,0xb882,0xb885,0xb889,0xb891,0xb893,0xb895,0xb896,0xb897,// 잚잠잡잣잤장잦재잭잰잴잼잽잿쟀쟁
|
||||
0xb8a1,0xb8a2,0xb8a5,0xb8a7,0xb8a9,0xb8b1,0xb8b7,0xb8c1,0xb8c5,0xb8c9,0xb8e1,0xb8e2,0xb8e5,0xb8e9,0xb8eb,0x0000,// 쟈쟉쟌쟎쟐쟘쟝쟤쟨쟬저적전절젊
|
||||
// 0xc1a0 - 0xc1ff
|
||||
0x0000,0xb8f1,0xb8f3,0xb8f5,0xb8f7,0xb8f8,0xb941,0xb942,0xb945,0xb949,0xb951,0xb953,0xb955,0xb957,0xb961,0xb965,// 점접젓정젖제젝젠젤젬젭젯젱져젼
|
||||
0xb969,0xb971,0xb973,0xb976,0xb977,0xb981,0xb9a1,0xb9a2,0xb9a5,0xb9a9,0xb9ab,0xb9b1,0xb9b3,0xb9b5,0xb9b7,0xb9b8,// 졀졈졉졌졍졔조족존졸졺좀좁좃종좆
|
||||
0xb9b9,0xb9bd,0xb9c1,0xb9c2,0xb9c9,0xb9d3,0xb9d5,0xb9d7,0xb9e1,0xb9f6,0xb9f7,0xba41,0xba45,0xba49,0xba51,0xba53,// 좇좋좌좍좔좝좟좡좨좼좽죄죈죌죔죕
|
||||
0xba55,0xba57,0xba61,0xba62,0xba65,0xba77,0xba81,0xba82,0xba85,0xba89,0xba8a,0xba8b,0xba91,0xba93,0xba95,0xba97,// 죗죙죠죡죤죵주죽준줄줅줆줌줍줏중
|
||||
0xbaa1,0xbab6,0xbac1,0xbae1,0xbae2,0xbae5,0xbae9,0xbaf1,0xbaf3,0xbaf5,0xbb41,0xbb45,0xbb49,0xbb51,0xbb61,0xbb62,// 줘줬줴쥐쥑쥔쥘쥠쥡쥣쥬쥰쥴쥼즈즉
|
||||
0xbb65,0xbb69,0xbb71,0xbb73,0xbb75,0xbb77,0xbba1,0xbba2,0xbba5,0xbba8,0xbba9,0xbbab,0xbbb1,0xbbb3,0xbbb5,0x0000,// 즌즐즘즙즛증지직진짇질짊짐집짓
|
||||
// 0xc2a0 - 0xc2ff
|
||||
0x0000,0xbbb7,0xbbb8,0xbbbb,0xbbbc,0xbc61,0xbc62,0xbc65,0xbc67,0xbc69,0xbc6c,0xbc71,0xbc73,0xbc75,0xbc76,0xbc77,// 징짖짙짚짜짝짠짢짤짧짬짭짯짰짱
|
||||
0xbc81,0xbc82,0xbc85,0xbc89,0xbc91,0xbc93,0xbc95,0xbc96,0xbc97,0xbca1,0xbca5,0xbcb7,0xbce1,0xbce2,0xbce5,0xbce9,// 째짹짼쨀쨈쨉쨋쨌쨍쨔쨘쨩쩌쩍쩐쩔
|
||||
0xbcf1,0xbcf3,0xbcf5,0xbcf6,0xbcf7,0xbd41,0xbd57,0xbd61,0xbd76,0xbda1,0xbda2,0xbda5,0xbda9,0xbdb1,0xbdb3,0xbdb5,// 쩜쩝쩟쩠쩡쩨쩽쪄쪘쪼쪽쫀쫄쫌쫍쫏
|
||||
0xbdb7,0xbdb9,0xbdc1,0xbdc2,0xbdc9,0xbdd6,0xbde1,0xbdf6,0xbe41,0xbe45,0xbe49,0xbe51,0xbe53,0xbe77,0xbe81,0xbe82,// 쫑쫓쫘쫙쫠쫬쫴쬈쬐쬔쬘쬠쬡쭁쭈쭉
|
||||
0xbe85,0xbe89,0xbe91,0xbe93,0xbe97,0xbea1,0xbeb6,0xbeb7,0xbee1,0xbf41,0xbf61,0xbf71,0xbf75,0xbf77,0xbfa1,0xbfa2,// 쭌쭐쭘쭙쭝쭤쭸쭹쮜쮸쯔쯤쯧쯩찌찍
|
||||
0xbfa5,0xbfa9,0xbfb1,0xbfb3,0xbfb7,0xbfb8,0xbfbd,0xc061,0xc062,0xc065,0xc067,0xc069,0xc071,0xc073,0xc075,0x0000,// 찐찔찜찝찡찢찧차착찬찮찰참찹찻
|
||||
// 0xc3a0 - 0xc3ff
|
||||
0x0000,0xc076,0xc077,0xc078,0xc081,0xc082,0xc085,0xc089,0xc091,0xc093,0xc095,0xc096,0xc097,0xc0a1,0xc0a5,0xc0a7,// 찼창찾채책챈챌챔챕챗챘챙챠챤챦
|
||||
0xc0a9,0xc0b1,0xc0b7,0xc0e1,0xc0e2,0xc0e5,0xc0e9,0xc0f1,0xc0f3,0xc0f5,0xc0f6,0xc0f7,0xc141,0xc142,0xc145,0xc149,// 챨챰챵처척천철첨첩첫첬청체첵첸첼
|
||||
0xc151,0xc153,0xc155,0xc157,0xc161,0xc165,0xc176,0xc181,0xc185,0xc197,0xc1a1,0xc1a2,0xc1a5,0xc1a9,0xc1b1,0xc1b3,// 쳄쳅쳇쳉쳐쳔쳤쳬쳰촁초촉촌촐촘촙
|
||||
0xc1b5,0xc1b7,0xc1c1,0xc1c5,0xc1c9,0xc1d7,0xc241,0xc245,0xc249,0xc251,0xc253,0xc255,0xc257,0xc261,0xc271,0xc281,// 촛총촤촨촬촹최쵠쵤쵬쵭쵯쵱쵸춈추
|
||||
0xc282,0xc285,0xc289,0xc291,0xc293,0xc295,0xc297,0xc2a1,0xc2b6,0xc2c1,0xc2c5,0xc2e1,0xc2e5,0xc2e9,0xc2f1,0xc2f3,// 축춘출춤춥춧충춰췄췌췐취췬췰췸췹
|
||||
0xc2f5,0xc2f7,0xc341,0xc345,0xc349,0xc351,0xc357,0xc361,0xc362,0xc365,0xc369,0xc371,0xc373,0xc375,0xc377,0x0000,// 췻췽츄츈츌츔츙츠측츤츨츰츱츳층
|
||||
// 0xc4a0 - 0xc4ff
|
||||
0x0000,0xc3a1,0xc3a2,0xc3a5,0xc3a8,0xc3a9,0xc3aa,0xc3b1,0xc3b3,0xc3b5,0xc3b7,0xc461,0xc462,0xc465,0xc469,0xc471,// 치칙친칟칠칡침칩칫칭카칵칸칼캄
|
||||
0xc473,0xc475,0xc477,0xc481,0xc482,0xc485,0xc489,0xc491,0xc493,0xc495,0xc496,0xc497,0xc4a1,0xc4a2,0xc4b7,0xc4e1,// 캅캇캉캐캑캔캘캠캡캣캤캥캬캭컁커
|
||||
0xc4e2,0xc4e5,0xc4e8,0xc4e9,0xc4f1,0xc4f3,0xc4f5,0xc4f6,0xc4f7,0xc541,0xc542,0xc545,0xc549,0xc551,0xc553,0xc555,// 컥컨컫컬컴컵컷컸컹케켁켄켈켐켑켓
|
||||
0xc557,0xc561,0xc565,0xc569,0xc571,0xc573,0xc575,0xc576,0xc577,0xc581,0xc5a1,0xc5a2,0xc5a5,0xc5a9,0xc5b1,0xc5b3,// 켕켜켠켤켬켭켯켰켱켸코콕콘콜콤콥
|
||||
0xc5b5,0xc5b7,0xc5c1,0xc5c2,0xc5c5,0xc5c9,0xc5d1,0xc5d7,0xc5e1,0xc5f7,0xc641,0xc649,0xc661,0xc681,0xc682,0xc685,// 콧콩콰콱콴콸쾀쾅쾌쾡쾨쾰쿄쿠쿡쿤
|
||||
0xc689,0xc691,0xc693,0xc695,0xc697,0xc6a1,0xc6a5,0xc6a9,0xc6b7,0xc6c1,0xc6d7,0xc6e1,0xc6e2,0xc6e5,0xc6e9,0x0000,// 쿨쿰쿱쿳쿵쿼퀀퀄퀑퀘퀭퀴퀵퀸퀼
|
||||
// 0xc5a0 - 0xc5ff
|
||||
0x0000,0xc6f1,0xc6f3,0xc6f5,0xc6f7,0xc741,0xc745,0xc749,0xc751,0xc761,0xc762,0xc765,0xc769,0xc771,0xc773,0xc777,// 큄큅큇큉큐큔큘큠크큭큰클큼큽킁
|
||||
0xc7a1,0xc7a2,0xc7a5,0xc7a9,0xc7b1,0xc7b3,0xc7b5,0xc7b7,0xc861,0xc862,0xc865,0xc869,0xc86a,0xc871,0xc873,0xc875,// 키킥킨킬킴킵킷킹타탁탄탈탉탐탑탓
|
||||
0xc876,0xc877,0xc881,0xc882,0xc885,0xc889,0xc891,0xc893,0xc895,0xc896,0xc897,0xc8a1,0xc8b7,0xc8e1,0xc8e2,0xc8e5,// 탔탕태택탠탤탬탭탯탰탱탸턍터턱턴
|
||||
0xc8e9,0xc8eb,0xc8f1,0xc8f3,0xc8f5,0xc8f6,0xc8f7,0xc941,0xc942,0xc945,0xc949,0xc951,0xc953,0xc955,0xc957,0xc961,// 털턺텀텁텃텄텅테텍텐텔템텝텟텡텨
|
||||
0xc965,0xc976,0xc981,0xc985,0xc9a1,0xc9a2,0xc9a5,0xc9a9,0xc9b1,0xc9b3,0xc9b5,0xc9b7,0xc9bc,0xc9c1,0xc9c5,0xc9e1,// 텬텼톄톈토톡톤톨톰톱톳통톺톼퇀퇘
|
||||
0xca41,0xca45,0xca55,0xca57,0xca61,0xca81,0xca82,0xca85,0xca89,0xca91,0xca93,0xca95,0xca97,0xcaa1,0xcab6,0x0000,// 퇴퇸툇툉툐투툭툰툴툼툽툿퉁퉈퉜
|
||||
// 0xc6a0 - 0xc6ff
|
||||
0x0000,0xcac1,0xcae1,0xcae2,0xcae5,0xcae9,0xcaf1,0xcaf3,0xcaf7,0xcb41,0xcb45,0xcb49,0xcb51,0xcb57,0xcb61,0xcb62,// 퉤튀튁튄튈튐튑튕튜튠튤튬튱트특
|
||||
0xcb65,0xcb68,0xcb69,0xcb6b,0xcb71,0xcb73,0xcb75,0xcb81,0xcb85,0xcb89,0xcb91,0xcb93,0xcba1,0xcba2,0xcba5,0xcba9,// 튼튿틀틂틈틉틋틔틘틜틤틥티틱틴틸
|
||||
0xcbb1,0xcbb3,0xcbb5,0xcbb7,0xcc61,0xcc62,0xcc63,0xcc65,0xcc69,0xcc6b,0xcc71,0xcc73,0xcc75,0xcc76,0xcc77,0xcc7b,// 팀팁팃팅파팍팎판팔팖팜팝팟팠팡팥
|
||||
0xcc81,0xcc82,0xcc85,0xcc89,0xcc91,0xcc93,0xcc95,0xcc96,0xcc97,0xcca1,0xcca2,0xcce1,0xcce2,0xcce5,0xcce9,0xccf1,// 패팩팬팰팸팹팻팼팽퍄퍅퍼퍽펀펄펌
|
||||
0xccf3,0xccf5,0xccf6,0xccf7,0xcd41,0xcd42,0xcd45,0xcd49,0xcd51,0xcd53,0xcd55,0xcd57,0xcd61,0xcd65,0xcd69,0xcd71,// 펍펏펐펑페펙펜펠펨펩펫펭펴편펼폄
|
||||
0xcd73,0xcd76,0xcd77,0xcd81,0xcd89,0xcd93,0xcd95,0xcda1,0xcda2,0xcda5,0xcda9,0xcdb1,0xcdb3,0xcdb5,0xcdb7,0x0000,// 폅폈평폐폘폡폣포폭폰폴폼폽폿퐁
|
||||
// 0xc7a0 - 0xc7ff
|
||||
0x0000,0xcdc1,0xcdd7,0xce41,0xce45,0xce61,0xce65,0xce69,0xce73,0xce75,0xce81,0xce82,0xce85,0xce88,0xce89,0xce8b,// 퐈퐝푀푄표푠푤푭푯푸푹푼푿풀풂
|
||||
0xce91,0xce93,0xce95,0xce97,0xcea1,0xceb7,0xcee1,0xcee5,0xcee9,0xcef1,0xcef5,0xcf41,0xcf45,0xcf49,0xcf51,0xcf55,// 품풉풋풍풔풩퓌퓐퓔퓜퓟퓨퓬퓰퓸퓻
|
||||
0xcf57,0xcf61,0xcf65,0xcf69,0xcf71,0xcf73,0xcf75,0xcfa1,0xcfa2,0xcfa5,0xcfa9,0xcfb1,0xcfb3,0xcfb5,0xcfb7,0xd061,// 퓽프픈플픔픕픗피픽핀필핌핍핏핑하
|
||||
0xd062,0xd065,0xd069,0xd06e,0xd071,0xd073,0xd075,0xd077,0xd081,0xd082,0xd085,0xd089,0xd091,0xd093,0xd095,0xd096,// 학한할핥함합핫항해핵핸핼햄햅햇했
|
||||
0xd097,0xd0a1,0xd0b7,0xd0e1,0xd0e2,0xd0e5,0xd0e9,0xd0eb,0xd0f1,0xd0f3,0xd0f5,0xd0f7,0xd141,0xd142,0xd145,0xd149,// 행햐향허헉헌헐헒험헙헛헝헤헥헨헬
|
||||
0xd151,0xd153,0xd155,0xd157,0xd161,0xd162,0xd165,0xd169,0xd171,0xd173,0xd175,0xd176,0xd177,0xd181,0xd185,0x0000,// 헴헵헷헹혀혁현혈혐협혓혔형혜혠
|
||||
// 0xc8a0 - 0xc8ff
|
||||
0x0000,0xd189,0xd193,0xd1a1,0xd1a2,0xd1a5,0xd1a9,0xd1ae,0xd1b1,0xd1b3,0xd1b5,0xd1b7,0xd1bb,0xd1c1,0xd1c2,0xd1c5,// 혤혭호혹혼홀홅홈홉홋홍홑화확환
|
||||
0xd1c9,0xd1d5,0xd1d7,0xd1e1,0xd1e2,0xd1e5,0xd1f5,0xd1f7,0xd241,0xd242,0xd245,0xd249,0xd253,0xd255,0xd257,0xd261,// 활홧황홰홱홴횃횅회획횐횔횝횟횡효
|
||||
0xd265,0xd269,0xd273,0xd275,0xd281,0xd282,0xd285,0xd289,0xd28e,0xd291,0xd295,0xd297,0xd2a1,0xd2a5,0xd2a9,0xd2b1,// 횬횰횹횻후훅훈훌훑훔훗훙훠훤훨훰
|
||||
0xd2b7,0xd2c1,0xd2c2,0xd2c5,0xd2c9,0xd2d7,0xd2e1,0xd2e2,0xd2e5,0xd2e9,0xd2f1,0xd2f3,0xd2f5,0xd2f7,0xd341,0xd342,// 훵훼훽휀휄휑휘휙휜휠휨휩휫휭휴휵
|
||||
0xd345,0xd349,0xd351,0xd355,0xd357,0xd361,0xd362,0xd365,0xd367,0xd368,0xd369,0xd36a,0xd371,0xd373,0xd375,0xd377,// 휸휼흄흇흉흐흑흔흖흗흘흙흠흡흣흥
|
||||
0xd37b,0xd381,0xd385,0xd389,0xd391,0xd393,0xd397,0xd3a1,0xd3a2,0xd3a5,0xd3a9,0xd3b1,0xd3b3,0xd3b5,0xd3b7,0x0000,// 흩희흰흴흼흽힁히힉힌힐힘힙힛힝
|
||||
// 0xc9a0 - 0xc9ff
|
||||
0x0000,0xd441,0xd442,0xd443,0xd444,0xd445,0xd446,0xd447,0xd448,0xd449,0xd44a,0xd44b,0xd44c,0xd44d,0xd44e,0xd44f,//
|
||||
0xd450,0xd451,0xd452,0xd453,0xd454,0xd455,0xd456,0xd457,0xd458,0xd459,0xd45a,0xd45b,0xd45c,0xd45d,0xd45e,0xd45f,//
|
||||
0xd460,0xd461,0xd462,0xd463,0xd464,0xd465,0xd466,0xd467,0xd468,0xd469,0xd46a,0xd46b,0xd46c,0xd46d,0xd46e,0xd46f,//
|
||||
0xd470,0xd471,0xd472,0xd473,0xd474,0xd475,0xd476,0xd477,0xd478,0xd479,0xd47a,0xd47b,0xd47c,0xd47d,0xd47e,0xd47f,//
|
||||
0xd481,0xd482,0xd483,0xd484,0xd485,0xd486,0xd487,0xd488,0xd489,0xd48a,0xd48b,0xd48c,0xd48d,0xd48e,0xd48f,0xd490,//
|
||||
0xd491,0xd492,0xd493,0xd494,0xd495,0xd496,0xd497,0xd498,0xd499,0xd49a,0xd49b,0xd49c,0xd49d,0xd49e,0xd49f,0x0000,//
|
||||
// 0xcaa0 - 0xcaff
|
||||
0x0000,0x5041,0x5042,0x5043,0x5044,0x5045,0x5046,0x5047,0x5048,0x5049,0x504a,0x504b,0x504c,0x504e,0x6841,0x504d,// 伽佳假價加可呵哥嘉嫁家暇架枷柯
|
||||
0x504f,0x6842,0x6843,0x5050,0x5051,0x5052,0x5053,0x5054,0x5055,0x5056,0x5057,0x5058,0x5059,0x505a,0x505b,0x505c,// 歌珂痂稼苛茄街袈訶賈跏軻迦駕刻却
|
||||
0x505d,0x505f,0x6844,0x5061,0x5062,0x5063,0x5064,0x5065,0x5066,0x6845,0x5067,0x5068,0x5069,0x506a,0x506b,0x506c,// 各恪慤殼珏脚覺角閣侃刊墾奸姦干幹
|
||||
0x506d,0x506e,0x506f,0x6846,0x6847,0x5070,0x5071,0x5072,0x6848,0x5073,0x5074,0x5075,0x5078,0x5076,0x5077,0x5079,// 懇揀杆柬桿澗癎看磵稈竿簡肝艮艱諫
|
||||
0x507a,0x507b,0x507c,0x507d,0x507e,0x507f,0x5080,0x5083,0x5081,0x6849,0x5084,0x5085,0x5086,0x5087,0x5088,0x5089,// 間乫喝曷渴碣竭葛褐蝎鞨勘坎堪嵌感
|
||||
0x508a,0x684a,0x508b,0x508c,0x508d,0x508e,0x508f,0x5090,0x5091,0x684b,0x5092,0x684c,0x5094,0x684d,0x5095,0x0000,// 憾戡敢柑橄減甘疳監瞰紺邯鑑鑒龕
|
||||
// 0xcba0 - 0xcbff
|
||||
0x0000,0x5096,0x5097,0x5098,0x5099,0x509a,0x509b,0x509d,0x684e,0x509e,0x509c,0x509f,0x50a0,0x50a1,0x50a2,0x50a3,// 匣岬甲胛鉀閘剛堈姜岡崗康强彊慷
|
||||
0x50a4,0x684f,0x50a5,0x50a8,0x6850,0x50a6,0x6851,0x50a9,0x6852,0x50aa,0x50a7,0x50ab,0x50ac,0x50ad,0x6853,0x50ae,// 江畺疆糠絳綱羌腔舡薑襁講鋼降鱇介
|
||||
0x50af,0x50b0,0x50b1,0x6854,0x50b2,0x50b3,0x50b4,0x50b5,0x50b6,0x50b7,0x50b8,0x50b9,0x50ba,0x50bb,0x50bc,0x50bd,// 价個凱塏愷愾慨改槪漑疥皆盖箇芥蓋
|
||||
0x6855,0x6856,0x50be,0x6857,0x50bf,0x50c0,0x50c1,0x50c2,0x50c3,0x50c4,0x6858,0x50c5,0x50c6,0x50c7,0x50c8,0x50c9,// 豈鎧開喀客坑更粳羹醵倨去居巨拒据
|
||||
0x50ca,0x50cd,0x50cb,0x50cc,0x6859,0x50ce,0x685a,0x50d0,0x50cf,0x685b,0x50d2,0x50d3,0x50d4,0x50d5,0x50d6,0x50d7,// 據擧渠炬祛距踞車遽鉅鋸乾件健巾建
|
||||
0x50d8,0x685c,0x685d,0x50d9,0x50da,0x50db,0x50dc,0x50dd,0x50de,0x50df,0x685e,0x50e0,0x50e1,0x685f,0x50e2,0x0000,// 愆楗腱虔蹇鍵騫乞傑杰桀儉劍劒檢
|
||||
// 0xcca0 - 0xccff
|
||||
0x0000,0x50e3,0x6860,0x50e4,0x50e5,0x50e6,0x6861,0x50e7,0x50e8,0x50e9,0x50ea,0x50eb,0x50ec,0x50ed,0x6862,0x50ee,// 瞼鈐黔劫怯迲偈憩揭擊格檄激膈覡
|
||||
0x50ef,0x50f1,0x50f3,0x50f4,0x50f5,0x50f6,0x50f7,0x50f2,0x50f8,0x50f9,0x50fa,0x50fb,0x6863,0x50fd,0x50fc,0x50fe,// 隔堅牽犬甄絹繭肩見譴遣鵑抉決潔結
|
||||
0x5141,0x5142,0x5143,0x5144,0x5145,0x5147,0x6864,0x5148,0x5149,0x6865,0x6866,0x514a,0x6867,0x514b,0x514c,0x514d,// 缺訣兼慊箝謙鉗鎌京俓倞傾儆勁勍卿
|
||||
0x6868,0x514f,0x5150,0x5151,0x5152,0x6869,0x5155,0x5156,0x5157,0x5153,0x5158,0x5159,0x515b,0x515c,0x686a,0x515e,// 坰境庚徑慶憬擎敬景暻更梗涇炅烱璟
|
||||
0x686b,0x515f,0x5161,0x5162,0x5163,0x5164,0x5165,0x5166,0x5167,0x5168,0x5169,0x516a,0x516b,0x516c,0x516d,0x516e,// 璥瓊痙硬磬竟競絅經耕耿脛莖警輕逕
|
||||
0x516f,0x5170,0x5171,0x5172,0x5173,0x5174,0x5175,0x686c,0x5176,0x5177,0x5178,0x5179,0x517a,0x517b,0x517c,0x0000,// 鏡頃頸驚鯨係啓堺契季屆悸戒桂械
|
||||
// 0xcda0 - 0xcdff
|
||||
0x0000,0x686d,0x517d,0x517e,0x517f,0x5180,0x5182,0x5183,0x5184,0x5185,0x5186,0x5187,0x5189,0x5188,0x518b,0x518d,// 棨溪界癸磎稽系繫繼計誡谿階鷄古
|
||||
0x518c,0x518e,0x518f,0x5190,0x5191,0x5192,0x686e,0x5193,0x5194,0x5195,0x5196,0x5197,0x686f,0x5198,0x6870,0x519a,// 叩告呱固姑孤尻庫拷攷故敲暠枯槁沽
|
||||
0x519b,0x519c,0x51a0,0x519f,0x6871,0x51a1,0x51a2,0x51a3,0x51a4,0x6872,0x6873,0x51a5,0x519d,0x51a6,0x51a8,0x51a9,// 痼皐睾稿羔考股膏苦苽菰藁蠱袴誥賈
|
||||
0x51aa,0x51ab,0x51ac,0x51ad,0x51ae,0x51af,0x51b0,0x51b1,0x51b2,0x51b3,0x51b4,0x51b5,0x51b6,0x51b7,0x51b8,0x51b9,// 辜錮雇顧高鼓哭斛曲梏穀谷鵠困坤崑
|
||||
0x51ba,0x51bb,0x51bc,0x51bd,0x6874,0x51be,0x6875,0x51bf,0x51c0,0x51c1,0x51c2,0x51c3,0x51c4,0x51c5,0x51c6,0x51c7,// 昆梱棍滾琨袞鯤汨滑骨供公共功孔工
|
||||
0x51ca,0x51c9,0x51cb,0x51cc,0x51cd,0x6876,0x51d0,0x6877,0x51c8,0x6878,0x6879,0x51d2,0x51d3,0x51d4,0x51d5,0x0000,// 恐恭拱控攻珙空蚣貢鞏串寡戈果瓜
|
||||
// 0xcea0 - 0xceff
|
||||
0x0000,0x51d6,0x51d7,0x51d9,0x51da,0x687a,0x51db,0x687b,0x51dc,0x51dd,0x51de,0x51df,0x51e0,0x51e2,0x51e3,0x51e4,// 科菓誇課跨過鍋顆廓槨藿郭串冠官
|
||||
0x51e5,0x51e6,0x51e7,0x51e9,0x51ea,0x687c,0x51e8,0x51ec,0x51ed,0x51ee,0x51ef,0x51f0,0x51f1,0x51f2,0x51f4,0x51f5,// 寬慣棺款灌琯瓘管罐菅觀貫關館刮恝
|
||||
0x51f6,0x51f7,0x687d,0x51f8,0x51f9,0x51fa,0x51fb,0x51fc,0x51fd,0x687e,0x51fe,0x5241,0x5242,0x5243,0x5244,0x5245,// 括适侊光匡壙廣曠洸炚狂珖筐胱鑛卦
|
||||
0x5246,0x5247,0x5248,0x5249,0x524a,0x524b,0x524c,0x524d,0x524e,0x524f,0x5250,0x5251,0x5252,0x5253,0x5254,0x5255,// 掛罫乖傀塊壞怪愧拐槐魁宏紘肱轟交
|
||||
0x5256,0x5257,0x5258,0x5259,0x525a,0x525b,0x525d,0x525c,0x525e,0x525f,0x5260,0x5261,0x5262,0x5263,0x5264,0x5265,// 僑咬喬嬌嶠巧攪敎校橋狡皎矯絞翹膠
|
||||
0x5266,0x5267,0x5268,0x5269,0x526a,0x526c,0x526d,0x526e,0x526f,0x5270,0x5271,0x5272,0x5274,0x5276,0x5277,0x0000,// 蕎蛟較轎郊餃驕鮫丘久九仇俱具勾
|
||||
// 0xcfa0 - 0xcfff
|
||||
0x0000,0x5278,0x5279,0x527a,0x527b,0x527c,0x687f,0x527d,0x5280,0x5281,0x5282,0x5283,0x5284,0x5285,0x5287,0x5288,// 區口句咎嘔坵垢寇嶇廐懼拘救枸柩
|
||||
0x5289,0x528a,0x528b,0x528c,0x528d,0x528e,0x528f,0x5290,0x5291,0x5292,0x5294,0x5295,0x5296,0x5297,0x6880,0x5299,// 構歐毆毬求溝灸狗玖球瞿矩究絿耉臼
|
||||
0x529a,0x529b,0x529c,0x529d,0x529f,0x5298,0x52a0,0x52a1,0x52a2,0x52a3,0x6881,0x52a5,0x52a6,0x52a7,0x52a8,0x52a9,// 舅舊苟衢謳購軀逑邱鉤銶駒驅鳩鷗龜
|
||||
0x52aa,0x52ab,0x52ad,0x52ae,0x6882,0x52af,0x52b3,0x52b0,0x52b1,0x6883,0x52b2,0x52b4,0x52b5,0x52b6,0x52b7,0x52b8,// 國局菊鞠鞫麴君窘群裙軍郡堀屈掘窟
|
||||
0x52b9,0x52ba,0x52bb,0x52bc,0x6884,0x52bd,0x52be,0x52bf,0x52c0,0x52c1,0x52c2,0x52c3,0x6885,0x52c4,0x6886,0x52c5,// 宮弓穹窮芎躬倦券勸卷圈拳捲權淃眷
|
||||
0x52c6,0x6887,0x6888,0x52c7,0x52c8,0x52c9,0x52ca,0x52cb,0x52cc,0x52ce,0x52cf,0x6889,0x688a,0x52d0,0x52d1,0x0000,// 厥獗蕨蹶闕机櫃潰詭軌饋句晷歸貴
|
||||
// 0xd0a0 - 0xd0ff
|
||||
0x0000,0x52d2,0x52d3,0x52d4,0x52d5,0x52d6,0x52d7,0x688b,0x52d8,0x52d9,0x52da,0x688c,0x52dc,0x52db,0x52dd,0x52de,// 鬼龜叫圭奎揆槻珪硅窺竅糾葵規赳
|
||||
0x52df,0x52e0,0x688d,0x52e1,0x688e,0x52e2,0x52e3,0x52e4,0x52e5,0x52e6,0x52e7,0x52e8,0x52e9,0x52ea,0x52ec,0x52eb,// 逵閨勻均畇筠菌鈞龜橘克剋劇戟棘極
|
||||
0x52ed,0x52ee,0x688f,0x52ef,0x52f1,0x52f2,0x52f3,0x52f4,0x52f6,0x52f7,0x52f8,0x52f9,0x52fa,0x52fb,0x52fc,0x52fd,// 隙僅劤勤懃斤根槿瑾筋芹菫覲謹近饉
|
||||
0x52fe,0x5341,0x6890,0x5342,0x6891,0x5343,0x5344,0x5345,0x5346,0x6892,0x5348,0x5347,0x5349,0x534a,0x534b,0x6893,// 契今妗擒昑檎琴禁禽芩衾衿襟金錦伋
|
||||
0x534c,0x534e,0x534f,0x5350,0x5352,0x5353,0x5354,0x5355,0x5356,0x5357,0x5358,0x5359,0x535a,0x535b,0x535c,0x535d,// 及急扱汲級給亘兢矜肯企伎其冀嗜器
|
||||
0x535e,0x535f,0x6894,0x5360,0x5361,0x5362,0x5363,0x5364,0x5366,0x5368,0x5367,0x5369,0x536a,0x536b,0x536c,0x0000,// 圻基埼夔奇妓寄岐崎己幾忌技旗旣
|
||||
// 0xd1a0 - 0xd1ff
|
||||
0x0000,0x5388,0x536d,0x536e,0x536f,0x5370,0x5371,0x5372,0x5373,0x5374,0x5375,0x5376,0x6895,0x5377,0x5378,0x6896,// 朞期杞棋棄機欺氣汽沂淇玘琦琪璂
|
||||
0x5379,0x537a,0x537b,0x537c,0x537d,0x6897,0x537e,0x537f,0x5380,0x5381,0x5382,0x5383,0x6898,0x5385,0x5386,0x5387,// 璣畸畿碁磯祁祇祈祺箕紀綺羈耆耭肌
|
||||
0x5389,0x538a,0x5365,0x538b,0x538c,0x6899,0x538d,0x538e,0x538f,0x5390,0x5391,0x5393,0x5394,0x5395,0x5396,0x5397,// 記譏豈起錡錤飢饑騎騏驥麒緊佶吉拮
|
||||
0x5398,0x5399,0x539b,0x539c,0x689a,0x689b,0x689c,0x539d,0x689d,0x539e,0x539f,0x689e,0x689f,0x68a0,0x68a1,0x68a2,// 桔金喫儺喇奈娜懦懶拏拿癩羅蘿螺裸
|
||||
0x68a3,0x53a1,0x68a4,0x68a5,0x68a6,0x68a7,0x68a8,0x53a2,0x68a9,0x68aa,0x68ab,0x68ac,0x53a3,0x68ad,0x53a4,0x68ae,// 邏那樂洛烙珞落諾酪駱亂卵暖欄煖爛
|
||||
0x68af,0x53a5,0x68b0,0x53a7,0x53a6,0x53a8,0x68b1,0x68b2,0x68b3,0x68b4,0x68b5,0x53aa,0x68b6,0x68b7,0x68b8,0x0000,// 蘭難鸞捏捺南嵐枏楠湳濫男藍襤拉
|
||||
// 0xd2a0 - 0xd2ff
|
||||
0x0000,0x53ab,0x68b9,0x68ba,0x68bb,0x53ac,0x53ad,0x68bc,0x68bd,0x68be,0x68bf,0x68c0,0x53af,0x68c1,0x53b0,0x53b1,// 納臘蠟衲囊娘廊朗浪狼郎乃來內奈
|
||||
0x53b2,0x53b3,0x68c2,0x53b5,0x53b6,0x68c3,0x53b7,0x53b8,0x53b9,0x53ba,0x53bb,0x53bd,0x68c4,0x53bf,0x68c5,0x53c0,// 柰耐冷女年撚秊念恬拈捻寧寗努勞奴
|
||||
0x53c2,0x53c3,0x68c6,0x68c7,0x68c8,0x53c4,0x68c9,0x68ca,0x68cb,0x68cc,0x68cd,0x68ce,0x68cf,0x68d0,0x68d1,0x68d2,// 弩怒擄櫓爐瑙盧老蘆虜路露駑魯鷺碌
|
||||
0x68d3,0x68d4,0x68d5,0x68d6,0x68d7,0x68d8,0x68d9,0x68da,0x53c5,0x68db,0x68dc,0x53c6,0x53c7,0x53c8,0x68dd,0x68de,// 祿綠菉錄鹿論壟弄濃籠聾膿農惱牢磊
|
||||
0x53c9,0x68df,0x68e0,0x53ca,0x68e1,0x68e2,0x68e3,0x68e4,0x68e5,0x68e6,0x68e7,0x68e8,0x53cc,0x53cd,0x68e9,0x53ce,// 腦賂雷尿壘屢樓淚漏累縷陋嫩訥杻紐
|
||||
0x68ea,0x68eb,0x68ec,0x68ed,0x68ee,0x68ef,0x53cf,0x68f0,0x68f1,0x53d0,0x53d1,0x53d2,0x53d3,0x53d4,0x53d5,0x0000,// 勒肋凜凌稜綾能菱陵尼泥匿溺多茶
|
||||
};
|
||||
|
||||
public Ksc2Ebc1()
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,318 @@
|
||||
package com.eactive.eai.adapter.wca.util;
|
||||
|
||||
public class Ksc2Ebc2 {
|
||||
protected static char KSC2EBC[] = {
|
||||
// 0xd3a0 - 0xd3ff
|
||||
0x0000,0x53d6,0x68f2,0x53d7,0x53d8,0x53d9,0x53da,0x68f3,0x53db,0x53dc,0x53dd,0x53de,0x53df,0x53e0,0x53e1,0x53e2,// 丹亶但單團壇彖斷旦檀段湍短端簞
|
||||
0x53e3,0x53e4,0x53e5,0x53e6,0x53e7,0x53ea,0x68f4,0x53eb,0x53ec,0x53ed,0x53f0,0x68f5,0x68f6,0x53f1,0x53f2,0x53f3,// 緞蛋袒鄲鍛撻澾獺疸達啖坍憺擔曇淡
|
||||
0x68f7,0x53f4,0x53f5,0x53f6,0x53f7,0x53f8,0x68f8,0x53f9,0x53fa,0x53fb,0x68f9,0x53fc,0x68fa,0x53fd,0x53fe,0x5441,// 湛潭澹痰聃膽蕁覃談譚錟沓畓答踏遝
|
||||
0x5446,0x5443,0x5444,0x5445,0x68fb,0x5447,0x5448,0x5449,0x544a,0x68fc,0x544c,0x544d,0x544e,0x68fd,0x544f,0x5450,// 唐堂塘幢戇撞棠當糖螳黨代垈坮大對
|
||||
0x5451,0x5452,0x5453,0x5454,0x5455,0x5456,0x5458,0x5459,0x545a,0x545b,0x545c,0x545d,0x545e,0x545f,0x5460,0x5461,// 岱帶待戴擡玳臺袋貸隊黛宅德悳倒刀
|
||||
0x5462,0x5463,0x5464,0x5465,0x5466,0x5467,0x5468,0x68fe,0x5469,0x546a,0x546b,0x546c,0x6941,0x546d,0x546e,0x0000,// 到圖堵塗導屠島嶋度徒悼挑掉搗桃
|
||||
// 0xd4a0 - 0xd4ff
|
||||
0x0000,0x546f,0x6942,0x5470,0x5471,0x5472,0x5473,0x5474,0x5475,0x5476,0x5477,0x5478,0x5479,0x6943,0x547b,0x547c,// 棹櫂淘渡滔濤燾盜睹禱稻萄覩賭跳
|
||||
0x547d,0x547e,0x547f,0x5480,0x5481,0x5482,0x5483,0x5484,0x5485,0x5486,0x5487,0x5488,0x5489,0x548a,0x548b,0x548c,// 蹈逃途道都鍍陶韜毒瀆牘犢獨督禿篤
|
||||
0x548d,0x548e,0x548f,0x5490,0x5491,0x6944,0x5492,0x5493,0x6945,0x5494,0x5495,0x5496,0x5498,0x5499,0x549a,0x549b,// 纛讀墩惇敦旽暾沌焞燉豚頓乭突仝冬
|
||||
0x549c,0x549d,0x549e,0x54a0,0x54a1,0x54a2,0x54a3,0x54a4,0x54a5,0x54a7,0x54a8,0x54a6,0x54aa,0x54a9,0x54ab,0x54ac,// 凍動同憧東桐棟洞潼疼瞳童胴董銅兜
|
||||
0x54ad,0x54ae,0x54af,0x54b0,0x54b1,0x54b2,0x54b5,0x54b6,0x6946,0x54b7,0x54b8,0x54b9,0x6947,0x54ba,0x54bb,0x54bc,// 斗杜枓痘竇荳讀豆逗頭屯臀芚遁遯鈍
|
||||
0x54bd,0x6948,0x54be,0x54c1,0x54c2,0x54c3,0x54c4,0x54c5,0x54c6,0x54c8,0x54c9,0x54ca,0x6949,0x54cb,0x54cc,0x0000,// 得嶝橙燈登等藤謄鄧騰喇懶拏癩羅
|
||||
// 0xd5a0 - 0xd5ff
|
||||
0x0000,0x54cd,0x54ce,0x54cf,0x54d0,0x54d1,0x54d2,0x54d3,0x54d5,0x54d6,0x54d7,0x694a,0x54d8,0x54d9,0x694b,0x54da,// 蘿螺裸邏樂洛烙珞絡落諾酪駱丹亂
|
||||
0x54db,0x54dd,0x54de,0x54df,0x54e0,0x54e1,0x54e2,0x54e3,0x54e5,0x54e6,0x54e7,0x54e8,0x54e9,0x54ea,0x54eb,0x54ec,// 卵欄欒瀾爛蘭鸞剌辣嵐擥攬欖濫籃纜
|
||||
0x54ed,0x54ee,0x54ef,0x54f0,0x54f1,0x54f2,0x54f3,0x54f4,0x54f6,0x54f7,0x54f8,0x54f9,0x54fa,0x54fb,0x54fc,0x694c,// 藍襤覽拉臘蠟廊朗浪狼琅瑯螂郞來崍
|
||||
0x694d,0x54fd,0x54fe,0x5541,0x5542,0x5543,0x5545,0x5544,0x5546,0x5547,0x5549,0x554a,0x554b,0x554c,0x554d,0x554e,// 徠萊冷掠略亮倆兩凉梁樑粮粱糧良諒
|
||||
0x554f,0x5550,0x5552,0x694e,0x5553,0x5554,0x5555,0x555e,0x5556,0x5557,0x5558,0x5559,0x555b,0x555d,0x555f,0x5562,// 輛量侶儷勵呂廬慮戾旅櫚濾礪藜蠣閭
|
||||
0x5563,0x5564,0x5565,0x5566,0x5567,0x5569,0x5568,0x556b,0x556c,0x556d,0x556e,0x556f,0x5570,0x5571,0x5572,0x0000,// 驢驪麗黎力曆歷瀝礫轢靂憐戀攣漣
|
||||
// 0xd6a0 - 0xd6ff
|
||||
0x0000,0x5573,0x694f,0x5574,0x5575,0x5576,0x5577,0x5578,0x5579,0x557a,0x557c,0x557b,0x557d,0x557e,0x557f,0x5580,// 煉璉練聯蓮輦連鍊冽列劣洌烈裂廉
|
||||
0x5581,0x5582,0x5583,0x5584,0x5585,0x5587,0x5588,0x5589,0x6950,0x6951,0x558a,0x558b,0x558e,0x6952,0x558f,0x5590,// 斂殮濂簾獵令伶囹寧岺嶺怜玲笭羚翎
|
||||
0x6953,0x5593,0x5596,0x5594,0x5595,0x5597,0x5598,0x5599,0x6954,0x559a,0x559b,0x559c,0x559d,0x6955,0x559e,0x6956,// 聆逞鈴零靈領齡例澧禮醴隷勞怒撈擄
|
||||
0x559f,0x6957,0x55a2,0x55a1,0x55a3,0x55a4,0x55a6,0x55a7,0x55a8,0x55a9,0x55ab,0x55ac,0x55ad,0x55ae,0x55b0,0x6958,// 櫓潞瀘爐盧老蘆虜路輅露魯鷺鹵碌祿
|
||||
0x55b2,0x6959,0x55b4,0x55b6,0x55b5,0x55b7,0x55b8,0x55b9,0x55ba,0x55bb,0x55bc,0x55bd,0x55be,0x55bf,0x695a,0x55c0,// 綠菉錄鹿麓論壟弄朧瀧瓏籠聾儡瀨牢
|
||||
0x55c1,0x55c6,0x695b,0x55c5,0x55c7,0x55c8,0x55c9,0x55cb,0x55cc,0x55d0,0x55cd,0x55ce,0x55cf,0x55d1,0x55d2,0x0000,// 磊賂賚賴雷了僚寮廖料燎療瞭聊蓼
|
||||
// 0xd7a0 - 0xd7ff
|
||||
0x0000,0x55d3,0x695c,0x55d4,0x55d6,0x695d,0x55d7,0x55d8,0x55d9,0x55da,0x695e,0x55db,0x55dc,0x695f,0x55dd,0x6960,// 遼鬧龍壘婁屢樓淚漏瘻累縷蔞褸鏤
|
||||
0x55de,0x55e0,0x6961,0x55e1,0x55e2,0x55e3,0x55e4,0x6962,0x55e5,0x55e6,0x55e7,0x55e8,0x55e9,0x55ea,0x55eb,0x55ec,// 陋劉旒柳榴流溜瀏琉瑠留瘤硫謬類六
|
||||
0x55ed,0x55ee,0x6963,0x55ef,0x55f0,0x55f1,0x55f2,0x55f3,0x55f4,0x55f5,0x55f6,0x55f7,0x55f9,0x55fb,0x55fa,0x6964,// 戮陸侖倫崙淪綸輪律慄栗率隆勒肋凜
|
||||
0x55fe,0x5641,0x5642,0x5643,0x5644,0x5645,0x5646,0x5647,0x5648,0x5649,0x6965,0x564a,0x564b,0x564d,0x564e,0x6966,// 凌楞稜綾菱陵俚利厘吏唎履悧李梨浬
|
||||
0x5650,0x5651,0x5652,0x5653,0x6967,0x5654,0x5657,0x5656,0x6968,0x6969,0x5659,0x696a,0x565a,0x565b,0x565c,0x565e,// 犁狸理璃異痢籬罹羸莉裏裡里釐離鯉
|
||||
0x565f,0x696b,0x5660,0x5661,0x5662,0x5663,0x5664,0x5665,0x5666,0x5667,0x5668,0x5669,0x566b,0x566c,0x566e,0x0000,// 吝潾燐璘藺躪隣鱗麟林淋琳臨霖砬
|
||||
// 0xd8a0 - 0xd8ff
|
||||
0x0000,0x566f,0x5670,0x5671,0x5673,0x5674,0x5675,0x696c,0x5676,0x5678,0x5679,0x567a,0x567b,0x567c,0x567d,0x567e,// 立笠粒摩瑪痲碼磨馬魔麻寞幕漠膜
|
||||
0x567f,0x696d,0x696e,0x696f,0x5680,0x5681,0x5682,0x5683,0x5684,0x5685,0x5686,0x5687,0x5688,0x5689,0x568a,0x568b,// 莫邈万卍娩巒彎慢挽晩曼滿漫灣瞞萬
|
||||
0x568c,0x568d,0x568f,0x5691,0x5693,0x6970,0x5694,0x5695,0x5696,0x6971,0x5697,0x5698,0x5699,0x569a,0x569b,0x569c,// 蔓蠻輓饅鰻唜抹末沫茉襪靺亡妄忘忙
|
||||
0x569d,0x569e,0x569f,0x56a0,0x56a1,0x56a2,0x6972,0x56a3,0x56a5,0x56a6,0x56a7,0x56a8,0x56a9,0x56aa,0x56ab,0x56ac,// 望網罔芒茫莽輞邙埋妹媒寐昧枚梅每
|
||||
0x56ad,0x56af,0x56b1,0x56b2,0x56b3,0x56b4,0x56b5,0x56b7,0x56b8,0x56b9,0x56ba,0x56bb,0x56bc,0x56bd,0x56bf,0x56be,// 煤罵買賣邁魅脈貊陌驀麥孟氓猛盲盟
|
||||
0x56c0,0x56c1,0x56c2,0x56c4,0x56c6,0x56c5,0x56c7,0x6973,0x56c8,0x56c9,0x56ca,0x56cb,0x56cc,0x56cd,0x56ce,0x0000,// 萌冪覓免冕勉棉沔眄眠綿緬面麵滅
|
||||
// 0xd9a0 - 0xd9ff
|
||||
0x0000,0x56cf,0x56d1,0x56d2,0x56d0,0x56d4,0x56d5,0x6974,0x56d6,0x56d7,0x6975,0x56d8,0x6976,0x56d9,0x56da,0x56db,// 蔑冥名命明暝椧溟皿瞑茗蓂螟酩銘
|
||||
0x56d3,0x56dc,0x56dd,0x56e4,0x56de,0x56e0,0x56df,0x56e1,0x56e2,0x6977,0x56e3,0x56e5,0x56e6,0x56e7,0x56e8,0x56e9,// 鳴袂侮冒募姆帽慕摸摹暮某模母毛牟
|
||||
0x56ea,0x6978,0x56eb,0x56ec,0x56ee,0x6979,0x56ef,0x56f0,0x56f1,0x56f2,0x56f4,0x56f5,0x56f6,0x56f7,0x56f8,0x56f9,// 牡瑁眸矛耗芼茅謀謨貌木沐牧目睦穆
|
||||
0x697a,0x56fa,0x56fb,0x56fc,0x56fd,0x5742,0x5743,0x5744,0x5745,0x5746,0x5747,0x5748,0x5749,0x574a,0x574b,0x697b,// 鶩歿沒夢朦蒙卯墓妙廟描昴杳渺猫竗
|
||||
0x574c,0x574d,0x574e,0x574f,0x697c,0x5750,0x5751,0x5752,0x5753,0x5754,0x697d,0x5755,0x5756,0x5757,0x697e,0x5758,// 苗錨務巫憮懋戊拇撫无楙武毋無珷畝
|
||||
0x5759,0x575a,0x575b,0x575c,0x575d,0x575e,0x575f,0x5760,0x5761,0x5762,0x697f,0x5763,0x5764,0x576b,0x5765,0x0000,// 繆舞茂蕪誣貿霧鵡墨默們刎吻問文
|
||||
// 0xdaa0 - 0xdaff
|
||||
0x0000,0x5766,0x5768,0x5767,0x576c,0x5769,0x576a,0x6980,0x576d,0x6981,0x576e,0x576f,0x5770,0x5771,0x5772,0x5774,// 汶紊紋聞蚊門雯勿沕物味媚尾嵋彌
|
||||
0x5775,0x5776,0x6982,0x6983,0x5777,0x6984,0x5779,0x577a,0x577c,0x577d,0x577e,0x577f,0x5773,0x6985,0x6986,0x5780,// 微未梶楣渼湄眉米美薇謎迷靡黴岷悶
|
||||
0x5781,0x5782,0x5783,0x5785,0x5784,0x5786,0x5787,0x5788,0x5789,0x6987,0x578a,0x578c,0x578d,0x578e,0x5790,0x5791,// 愍憫敏旻旼民泯玟珉緡閔密蜜謐剝博
|
||||
0x5792,0x5793,0x5794,0x5795,0x5796,0x5798,0x579a,0x579b,0x579c,0x579e,0x579d,0x579f,0x57a0,0x57a1,0x57a2,0x57a3,// 拍搏撲朴樸泊珀璞箔粕縛膊舶薄迫雹
|
||||
0x57a4,0x57a5,0x57a6,0x57a7,0x57a8,0x57a9,0x57aa,0x57ab,0x57ac,0x57ad,0x57af,0x57ae,0x57b0,0x57b1,0x6988,0x57b2,// 駁伴半反叛拌搬攀斑槃泮潘班畔瘢盤
|
||||
0x6989,0x698a,0x57b3,0x57b4,0x57b5,0x57b8,0x57b7,0x57b9,0x57ba,0x57bb,0x57bc,0x57bd,0x57bf,0x698b,0x57be,0x0000,// 盼磐磻礬絆般蟠返頒飯勃拔撥渤潑
|
||||
// 0xdba0 - 0xdbff
|
||||
0x0000,0x57c0,0x57c1,0x57c2,0x57c3,0x57c4,0x57c5,0x57c6,0x57c7,0x57c8,0x57c9,0x57ca,0x57cb,0x57cc,0x57cd,0x57ce,// 發跋醱鉢髮魃倣傍坊妨尨幇彷房放
|
||||
0x57cf,0x57d0,0x57d1,0x698c,0x57d2,0x698d,0x698e,0x57d3,0x57d4,0x57d5,0x57d6,0x57d7,0x57d8,0x57d9,0x57da,0x57db,// 方旁昉枋榜滂磅紡肪膀舫芳蒡蚌訪謗
|
||||
0x57dc,0x57dd,0x57e0,0x57e2,0x57e1,0x57e3,0x57e4,0x57e5,0x57e6,0x57e7,0x57e8,0x57e9,0x698f,0x57ea,0x57ec,0x57eb,// 邦防龐倍俳北培徘拜排杯湃焙盃背胚
|
||||
0x57ee,0x57ed,0x57ef,0x57f0,0x57f1,0x57f2,0x57f3,0x57f4,0x57f5,0x57f6,0x57f7,0x57f8,0x57f9,0x57fa,0x57fb,0x6990,// 裴裵褙賠輩配陪伯佰帛柏栢白百魄幡
|
||||
0x57fc,0x57fe,0x6991,0x5841,0x5842,0x5843,0x5845,0x5846,0x5847,0x5848,0x5849,0x584a,0x584b,0x584c,0x584d,0x584e,// 樊煩燔番磻繁蕃藩飜伐筏罰閥凡帆梵
|
||||
0x584f,0x5850,0x5851,0x5852,0x5853,0x5854,0x5855,0x5856,0x5857,0x5858,0x5859,0x585a,0x6992,0x585b,0x585c,0x0000,// 氾汎泛犯範范法琺僻劈壁擘檗璧癖
|
||||
// 0xdca0 - 0xdcff
|
||||
0x0000,0x585d,0x6993,0x585f,0x5860,0x5861,0x5862,0x5863,0x5866,0x5867,0x5868,0x586a,0x586c,0x586e,0x586f,0x5870,// 碧蘗闢霹便卞弁變辨辯邊別瞥鱉鼈
|
||||
0x5871,0x5872,0x5873,0x5874,0x5875,0x5876,0x5877,0x5878,0x6994,0x5879,0x587a,0x587b,0x587d,0x587c,0x587e,0x5880,// 丙倂兵屛幷昞昺柄棅炳甁病秉竝輧餠
|
||||
0x6995,0x5881,0x5882,0x5883,0x5884,0x5885,0x5886,0x5888,0x5887,0x5889,0x6996,0x588a,0x6997,0x588b,0x588c,0x588d,// 騈保堡報寶普步洑湺潽珤甫菩補褓譜
|
||||
0x588e,0x5891,0x5892,0x5893,0x5894,0x5895,0x5896,0x5898,0x5897,0x5899,0x589a,0x589b,0x589e,0x589c,0x6998,0x589f,// 輔伏僕匐卜宓復服福腹茯蔔複覆輹輻
|
||||
0x58a0,0x58a1,0x58a2,0x58a3,0x58a5,0x58a6,0x58a7,0x58a9,0x58a8,0x58aa,0x58ac,0x58ad,0x6999,0x58ab,0x58ae,0x58b0,// 馥鰒本乶俸奉封峯峰捧棒烽熢琫縫蓬
|
||||
0x58b1,0x58b2,0x58b3,0x58b4,0x699a,0x58b6,0x699b,0x58b7,0x58b8,0x58b9,0x58ba,0x699c,0x58bb,0x58bc,0x58bd,0x0000,// 蜂逢鋒鳳不付俯傅剖副否咐埠夫婦
|
||||
// 0xdda0 - 0xddff
|
||||
0x0000,0x699d,0x58be,0x58bf,0x58c0,0x58c1,0x58c2,0x58c3,0x58c4,0x58c5,0x58c6,0x58c7,0x58ca,0x58c8,0x58c9,0x58cd,// 孚孵富府復扶敷斧浮溥父符簿缶腐
|
||||
0x58cc,0x58ce,0x699e,0x58cf,0x699f,0x58d2,0x58d3,0x58d4,0x58d5,0x58d6,0x58d7,0x58d8,0x58d9,0x58da,0x58db,0x58dd,// 腑膚艀芙莩訃負賦賻赴趺部釜阜附駙
|
||||
0x58df,0x58e0,0x58e1,0x69a0,0x58e2,0x58e4,0x58e5,0x58e6,0x58e7,0x58e8,0x58e9,0x69a1,0x58ea,0x58eb,0x58ec,0x58ed,// 鳧北分吩噴墳奔奮忿憤扮昐汾焚盆粉
|
||||
0x58ee,0x58ef,0x58f0,0x69a2,0x58f2,0x58f3,0x58f4,0x58f6,0x69a3,0x58f7,0x58fa,0x58fb,0x58fc,0x58fd,0x58fe,0x5941,// 糞紛芬賁雰不佛弗彿拂崩朋棚硼繃鵬
|
||||
0x5942,0x5943,0x5944,0x5945,0x5946,0x5947,0x5949,0x594a,0x594b,0x594c,0x594d,0x594e,0x594f,0x69a4,0x5951,0x5955,// 丕備匕匪卑妃婢庇悲憊扉批斐枇榧比
|
||||
0x69a5,0x69a6,0x5956,0x5954,0x5953,0x5957,0x5958,0x595a,0x595b,0x69a7,0x595c,0x69a8,0x595e,0x595f,0x5960,0x0000,// 毖毗毘沸泌琵痺砒碑秕秘粃緋翡肥
|
||||
// 0xdea0 - 0xdeff
|
||||
0x0000,0x5962,0x5963,0x5964,0x5965,0x5966,0x5967,0x5968,0x5969,0x596b,0x596c,0x596d,0x596f,0x69a9,0x5970,0x5972,// 脾臂菲蜚裨誹譬費鄙非飛鼻嚬嬪彬
|
||||
0x5974,0x5975,0x5976,0x69aa,0x5977,0x5978,0x5979,0x69ab,0x597b,0x5971,0x597d,0x5980,0x5981,0x5982,0x5983,0x5984,// 斌檳殯浜濱瀕牝玭貧賓頻憑氷聘騁乍
|
||||
0x5985,0x5986,0x5987,0x5989,0x5988,0x598b,0x69ac,0x598c,0x598d,0x598e,0x5990,0x5991,0x598f,0x5992,0x5993,0x5995,// 事些仕伺似使俟僿史司唆嗣四士奢娑
|
||||
0x5996,0x5997,0x59bd,0x5998,0x5999,0x599b,0x599c,0x599d,0x59a0,0x599f,0x69ad,0x59a1,0x59a2,0x59ae,0x59a5,0x59a6,// 寫寺射巳師徙思捨斜斯柶査梭死沙泗
|
||||
0x59a7,0x59a8,0x59aa,0x59af,0x59ac,0x59ab,0x59ad,0x59b0,0x59b2,0x59b4,0x59b5,0x59bf,0x598a,0x59b6,0x59b3,0x59b7,// 渣瀉獅砂社祀祠私篩紗絲肆舍莎蓑蛇
|
||||
0x59b8,0x59b9,0x59ba,0x59bb,0x59bc,0x599e,0x59be,0x59a9,0x59c0,0x59c1,0x69ae,0x59c2,0x59c3,0x59c5,0x59c6,0x0000,// 裟詐詞謝賜赦辭邪飼駟麝削數朔索
|
||||
// 0xdfa0 - 0xdfff
|
||||
0x0000,0x59c8,0x59c9,0x59ca,0x59cb,0x59cc,0x59cd,0x59ce,0x59cf,0x59d0,0x59d1,0x59d2,0x69af,0x59d5,0x59d3,0x59d4,// 傘刪山散汕珊産疝算蒜酸霰乷撒殺
|
||||
0x69b0,0x59d6,0x59d7,0x59d8,0x59d9,0x59da,0x59db,0x59dd,0x59de,0x59dc,0x59e0,0x59e1,0x69b1,0x59e2,0x59e5,0x59e6,// 煞薩三參杉森渗芟蔘衫揷澁鈒颯上傷
|
||||
0x59e7,0x59e8,0x59e9,0x59ea,0x59eb,0x59ed,0x59ee,0x69b2,0x59f2,0x59ef,0x59f0,0x59f1,0x59f3,0x59f5,0x59f6,0x59f8,// 像償商喪嘗孀尙峠常床庠廂想桑橡湘
|
||||
0x59ec,0x59fa,0x59f9,0x59f4,0x59fb,0x59fc,0x59fd,0x59fe,0x5a41,0x5a44,0x5a42,0x5a43,0x5a45,0x5a46,0x5a47,0x5a48,// 爽牀狀相祥箱翔裳觴詳象賞霜塞璽賽
|
||||
0x69b3,0x5a4a,0x5a4b,0x5a4c,0x5a4d,0x5a4e,0x5a4f,0x5a50,0x5a51,0x5a52,0x5a55,0x5a54,0x5a58,0x5a59,0x5a5a,0x5a5b,// 嗇塞穡索色牲生甥省笙墅壻嶼序庶徐
|
||||
0x5a5c,0x5a5d,0x69b4,0x5a5e,0x5a5f,0x5a60,0x5a61,0x5a62,0x5a63,0x5a57,0x5a64,0x69b5,0x5a65,0x5a66,0x5a67,0x0000,// 恕抒捿敍暑曙書栖棲犀瑞筮絮緖署
|
||||
// 0xe0a0 - 0xe0ff
|
||||
0x0000,0x5a68,0x5a69,0x5a6a,0x5a6b,0x5a6c,0x5a6e,0x5a6d,0x5a6f,0x5a71,0x5a72,0x5a73,0x5a75,0x5a76,0x5a77,0x5a78,// 胥舒薯西誓逝鋤黍鼠夕奭席惜昔晳
|
||||
0x5a79,0x5a7a,0x5a7b,0x5a7c,0x5a7d,0x5a7e,0x5a7f,0x5a80,0x5a81,0x5a83,0x5a84,0x5a82,0x5a86,0x69b6,0x5a87,0x5a8a,// 析汐淅潟石碩蓆釋錫仙僊先善嬋宣扇
|
||||
0x69b7,0x5a8b,0x69b8,0x5a8d,0x69b9,0x5a90,0x5a91,0x5a92,0x5a93,0x5a8f,0x5a94,0x5a95,0x5a96,0x5a97,0x5a98,0x5a99,// 敾旋渲煽琁瑄璇璿癬禪線繕羨腺膳船
|
||||
0x5a9a,0x5a9b,0x5a9c,0x5a9d,0x5a9e,0x5a9f,0x69ba,0x69bb,0x5aa1,0x5aa3,0x5aa6,0x5aa8,0x69bc,0x5aa9,0x5aaa,0x5aa4,// 蘚蟬詵跣選銑鐥饍鮮卨屑楔泄洩渫舌
|
||||
0x5aab,0x69bd,0x5aac,0x5aad,0x5aae,0x69be,0x69bf,0x5ab3,0x5aaf,0x5ab0,0x5ab1,0x5ab2,0x5ab4,0x69c0,0x5ab6,0x5ab7,// 薛褻設說雪齧剡暹殲纖蟾贍閃陝攝涉
|
||||
0x5ab5,0x5ab8,0x5ab9,0x5aba,0x69c1,0x5abb,0x5abc,0x5abd,0x5abe,0x5abf,0x5ac0,0x69c2,0x5ac1,0x5ac2,0x5ac3,0x0000,// 燮葉城姓宬性惺成星晟猩珹盛省筬
|
||||
// 0xe1a0 - 0xe1ff
|
||||
0x0000,0x5ac4,0x5ac5,0x5ac6,0x5ac7,0x5ac8,0x5ac9,0x5aca,0x5acb,0x5acc,0x5acd,0x5ace,0x5acf,0x5ad0,0x5ad1,0x5ad2,// 聖聲腥誠醒世勢歲洗稅笹細說貰召
|
||||
0x5ad3,0x5ad4,0x5ad7,0x5ad5,0x5ad6,0x5ad8,0x5adb,0x5ad9,0x5ada,0x5adc,0x5add,0x5ade,0x5adf,0x5ae0,0x5ae1,0x5ae2,// 嘯塑宵小少巢所掃搔昭梳沼消溯瀟炤
|
||||
0x5ae3,0x5ae4,0x5ae6,0x5ae5,0x69c3,0x5ae7,0x69c4,0x5ae8,0x5ae9,0x5aea,0x5aec,0x5aed,0x5aee,0x5aef,0x5af0,0x5af1,// 燒甦疏疎瘙笑篠簫素紹蔬蕭蘇訴逍遡
|
||||
0x5af2,0x5af3,0x5af5,0x5af6,0x5af7,0x5af8,0x5af9,0x69c5,0x5afa,0x5afb,0x69c6,0x69c7,0x5afc,0x5afd,0x69c8,0x5afe,// 邵銷韶騷俗屬束涑粟續謖贖速孫巽損
|
||||
0x69c9,0x5b41,0x69ca,0x5b42,0x5b44,0x69cb,0x5b45,0x69cc,0x5b46,0x5b47,0x5b48,0x5b49,0x5b4a,0x5b4b,0x5b4c,0x5b4e,// 蓀遜飡率宋悚松淞訟誦送頌刷殺灑碎
|
||||
0x5b4f,0x5b50,0x5b51,0x5b52,0x5b53,0x5b56,0x5b55,0x5b57,0x5b58,0x5b59,0x5b5a,0x5b5c,0x69cd,0x5b5d,0x5b5f,0x0000,// 鎖衰釗修受嗽囚垂壽嫂守岫峀帥愁
|
||||
// 0xe2a0 - 0xe2ff
|
||||
0x0000,0x5b5e,0x5b60,0x5b61,0x5b62,0x5b63,0x5b64,0x5b66,0x5b67,0x5b69,0x5b6a,0x5b6c,0x5b68,0x5b6d,0x5b6e,0x69ce,// 戍手授搜收數樹殊水洙漱燧狩獸琇
|
||||
0x69cf,0x5b70,0x5b71,0x5b73,0x5b74,0x5b75,0x5b76,0x5b77,0x5b78,0x5b79,0x5b7a,0x5b7b,0x5b7c,0x5b7d,0x5b7e,0x5b7f,// 璲瘦睡秀穗竪粹綏綬繡羞脩茱蒐蓚藪
|
||||
0x5b80,0x5b81,0x69d0,0x5b82,0x5b83,0x5b84,0x5b85,0x5b86,0x5b87,0x5b88,0x69d1,0x5b89,0x5b8a,0x5b8b,0x5b8c,0x5b8d,// 袖誰讐輸遂邃酬銖銹隋隧隨雖需須首
|
||||
0x5b8e,0x5b8f,0x5b90,0x5b91,0x5b92,0x5b93,0x5b94,0x5b95,0x69d2,0x5b96,0x69d3,0x69d4,0x5b97,0x5b98,0x5ba9,0x69d5,// 髓鬚叔塾夙孰宿淑潚熟琡璹肅菽巡徇
|
||||
0x5b99,0x5b9a,0x5b9b,0x69d6,0x5b9c,0x69d7,0x5b9d,0x5b9e,0x5b9f,0x5ba0,0x5ba1,0x5ba2,0x5ba3,0x5ba4,0x5ba5,0x5ba6,// 循恂旬栒楯橓殉洵淳珣盾瞬筍純脣舜
|
||||
0x5ba7,0x69d8,0x69d9,0x5ba8,0x69da,0x5baa,0x5bab,0x5bac,0x5bad,0x5baf,0x5bb0,0x5bb1,0x69db,0x5bb2,0x5bb3,0x0000,// 荀蓴蕣詢諄醇錞順馴戌術述鉥崇崧
|
||||
// 0xe3a0 - 0xe3ff
|
||||
0x0000,0x5bb4,0x5bb5,0x5bb6,0x5bb8,0x5bba,0x5bb9,0x5bbb,0x5bbc,0x5bbd,0x5bbe,0x5bbf,0x5bc0,0x5bc4,0x5bc1,0x5bc2,// 嵩瑟膝蝨濕拾習褶襲丞乘僧勝升承
|
||||
0x5bc3,0x5bc5,0x5bc6,0x5bc7,0x5bc8,0x5bc9,0x5bcb,0x5bcc,0x5bcd,0x5bcf,0x69dc,0x5bd0,0x5bd1,0x5bd2,0x5bd3,0x5bd4,// 昇繩蠅陞侍匙嘶始媤尸屎屍市弑恃施
|
||||
0x5bd5,0x5bd6,0x5bd7,0x5bd8,0x5bd9,0x5bda,0x5bdb,0x5bde,0x5bdf,0x5be0,0x5bdc,0x5be2,0x5be1,0x5be3,0x69dd,0x5be4,// 是時枾柴猜矢示翅蒔蓍視試詩諡豕豺
|
||||
0x5be5,0x5be6,0x5be7,0x5be8,0x5be9,0x5bea,0x5beb,0x5bec,0x5bed,0x69de,0x69df,0x5bee,0x5bef,0x5bf0,0x5bf1,0x5bf2,// 埴寔式息拭植殖湜熄篒蝕識軾食飾伸
|
||||
0x69e0,0x5bf3,0x5bf4,0x5bf5,0x5bf6,0x5bf7,0x5bf8,0x5bf9,0x5bfa,0x5bfb,0x5bfd,0x5bfe,0x5c41,0x5c42,0x5c43,0x5c44,// 侁信呻娠宸愼新晨燼申神紳腎臣莘薪
|
||||
0x69e1,0x5c45,0x5c46,0x5c47,0x5c48,0x5c49,0x5c4a,0x5c4b,0x5c4c,0x5c4d,0x5c4e,0x5c50,0x5c51,0x5c52,0x5c54,0x0000,// 藎蜃訊身辛辰迅失室實悉審尋心沁
|
||||
// 0xe4a0 - 0xe4ff
|
||||
0x0000,0x5c53,0x5c55,0x5c56,0x5c57,0x5c58,0x69e2,0x5c59,0x5c5a,0x5c5b,0x5c5c,0x5c5d,0x5c5e,0x5c5f,0x5c60,0x69e3,// 沈深瀋甚芯諶什十拾雙氏亞俄兒啞
|
||||
0x5c61,0x5c62,0x5c63,0x5c64,0x5c65,0x69e4,0x5c66,0x5c67,0x5c68,0x5c69,0x5c6a,0x5c6b,0x5c6c,0x5c6d,0x5c6e,0x5c6f,// 娥峨我牙芽莪蛾衙訝阿雅餓鴉鵝堊岳
|
||||
0x5c70,0x69e5,0x5c72,0x5c71,0x5c73,0x5c74,0x5c75,0x69e6,0x69e7,0x5c77,0x69e8,0x5c78,0x5c79,0x5c7a,0x5c7b,0x5c7c,// 嶽幄惡愕握樂渥鄂鍔顎鰐齷安岸按晏
|
||||
0x5c7d,0x5c7e,0x5c7f,0x5c81,0x5c82,0x69e9,0x5c85,0x5c86,0x5c87,0x5c89,0x69ea,0x69eb,0x5c8b,0x5c8c,0x5c8d,0x5c8e,// 案眼雁鞍顔鮟斡謁軋閼唵岩巖庵暗癌
|
||||
0x5c8f,0x5c91,0x5c93,0x5c94,0x5c95,0x5c96,0x5c97,0x5c98,0x5c99,0x5c9a,0x5c9b,0x5c9c,0x5c9e,0x5c9f,0x5caa,0x5ca0,// 菴闇壓押狎鴨仰央怏昻殃秧鴦厓哀埃
|
||||
0x5ca1,0x5ca2,0x5ca6,0x5ca4,0x5ca7,0x5ca9,0x5cab,0x5cac,0x5cae,0x69ec,0x5caf,0x5cb0,0x69ed,0x5cb1,0x5cb3,0x0000,// 崖愛曖涯碍艾隘靄厄扼掖液縊腋額
|
||||
// 0xe5a0 - 0xe5ff
|
||||
0x0000,0x5cb4,0x5cb5,0x5cb6,0x5cb7,0x5cb8,0x5cb9,0x5cba,0x5cbb,0x5cc2,0x5cbd,0x5cbe,0x5cbf,0x5cc0,0x5cc1,0x5cc3,// 櫻罌鶯鸚也倻冶夜惹揶椰爺耶若野
|
||||
0x5cc4,0x69ee,0x69ef,0x5cc7,0x5cc8,0x5cc9,0x69f0,0x5cca,0x5ccb,0x69f1,0x5ccc,0x69f2,0x69f3,0x5ccd,0x5cce,0x5ccf,// 弱掠略約若葯蒻藥躍亮佯兩凉壤孃恙
|
||||
0x5cd0,0x5cd1,0x5cd2,0x5cd3,0x69f4,0x5cd4,0x5cd5,0x5cd6,0x5cd7,0x5cd8,0x5cda,0x5cdb,0x69f5,0x5cd9,0x69f6,0x5cdc,// 揚攘敭暘梁楊樣洋瀁煬痒瘍禳穰糧羊
|
||||
0x69f7,0x5cde,0x69f8,0x5cdf,0x5ce0,0x5ce1,0x69f9,0x5ce2,0x5ce3,0x5ce4,0x5ce6,0x5ce7,0x69fa,0x5ce8,0x5ce9,0x5cea,// 良襄諒讓釀陽量養圄御於漁瘀禦語馭
|
||||
0x5ceb,0x5cec,0x5ced,0x5cee,0x5cef,0x5cf0,0x5cf1,0x5cf2,0x5cf3,0x5cf4,0x5cf5,0x5cf6,0x5cf7,0x5cf8,0x69fb,0x69fc,// 魚齬億憶抑檍臆偃堰彦焉言諺孼蘖俺
|
||||
0x5cf9,0x5cfa,0x5cfb,0x5cfc,0x5cfd,0x5cfe,0x5d41,0x69fd,0x5d43,0x5d44,0x69fe,0x6a41,0x6a42,0x5d45,0x6a43,0x0000,// 儼嚴奄掩淹嶪業円予余勵呂女如廬
|
||||
// 0xe6a0 - 0xe6ff
|
||||
0x0000,0x6a44,0x5d46,0x5d47,0x6a45,0x6a46,0x6a47,0x6a48,0x5d48,0x6a49,0x6a4a,0x6a4b,0x6a4c,0x6a4d,0x5d49,0x6a4e,// 旅歟汝濾璵礖礪與艅茹輿轝閭餘驪
|
||||
0x6a4f,0x6a50,0x5d4a,0x6a51,0x5d4b,0x5d4d,0x5d4e,0x6a52,0x6a53,0x5d4f,0x5d50,0x5d51,0x6a54,0x5d52,0x5d53,0x5d54,// 麗黎亦力域役易曆歷疫繹譯轢逆驛嚥
|
||||
0x5d55,0x5d56,0x5d57,0x5d58,0x6a55,0x5d59,0x6a56,0x6a57,0x5d5a,0x6a58,0x5d5b,0x5d5c,0x6a59,0x5d5d,0x5d5f,0x5d5e,// 堧姸娟宴年延憐戀捐挻撚椽沇沿涎涓
|
||||
0x5d60,0x5d61,0x6a5a,0x5d62,0x5d63,0x5d64,0x6a5b,0x5d65,0x5d66,0x6a5c,0x5d67,0x5d68,0x6a5d,0x5d69,0x5d6a,0x6a5e,// 淵演漣烟然煙煉燃燕璉硏硯秊筵緣練
|
||||
0x6a5f,0x6a60,0x5d6e,0x5d70,0x6a61,0x6a62,0x6a63,0x5d71,0x6a64,0x5d72,0x6a65,0x6a66,0x5d73,0x5d74,0x5d75,0x6a67,// 縯聯衍軟輦蓮連鉛鍊鳶列劣咽悅涅烈
|
||||
0x5d76,0x6a68,0x5d77,0x5d78,0x5d79,0x6a69,0x6a6a,0x6a6b,0x5d7b,0x6a6c,0x5d7c,0x5d7d,0x6a6d,0x5d80,0x5d7f,0x0000,// 熱裂說閱厭廉念捻染殮炎焰琰艶苒
|
||||
// 0xe7a0 - 0xe7ff
|
||||
0x0000,0x6a6e,0x5d81,0x5d83,0x5d7e,0x5d84,0x6a6f,0x5d85,0x5d86,0x6a70,0x6a71,0x5d87,0x6a72,0x6a73,0x6a74,0x5d89,// 簾閻髥鹽曄獵燁葉令囹塋寧嶺嶸影
|
||||
0x6a75,0x5d8a,0x5d8b,0x5d8c,0x5d8d,0x5d8e,0x5d8f,0x6a76,0x5d90,0x6a77,0x5d91,0x6a78,0x6a79,0x5d92,0x6a7a,0x6a7b,// 怜映暎楹榮永泳渶潁濚瀛瀯煐營獰玲
|
||||
0x5d93,0x5d94,0x5d95,0x5d96,0x6a7c,0x5d97,0x6a7d,0x6a7e,0x5d98,0x5d99,0x5d9a,0x6a7f,0x6a80,0x6a81,0x6a82,0x6a83,// 瑛瑩瓔盈穎纓羚聆英詠迎鈴鍈零霙靈
|
||||
0x6a84,0x6a85,0x5d9b,0x6a86,0x5d9c,0x5d9d,0x5d9e,0x6a87,0x5d9f,0x5da0,0x5da2,0x6a88,0x5da4,0x5da6,0x5da7,0x6a89,// 領乂倪例刈叡曳汭濊猊睿穢芮藝蘂禮
|
||||
0x5da8,0x5da9,0x5daa,0x5dab,0x6a8a,0x5dac,0x6a8b,0x5dad,0x5dae,0x5daf,0x5db0,0x6a8c,0x5db1,0x5db2,0x5dc4,0x5db3,// 裔詣譽豫醴銳隸霓預五伍俉傲午吾吳
|
||||
0x5db4,0x6a8d,0x5db5,0x5db6,0x5db7,0x5db8,0x5db9,0x5dba,0x6a8e,0x6a8f,0x5dbb,0x5dbc,0x5dbd,0x5dbe,0x6a90,0x0000,// 嗚塢墺奧娛寤悟惡懊敖旿晤梧汚澳
|
||||
// 0xe8a0 - 0xe8ff
|
||||
0x0000,0x5dbf,0x6a91,0x5dc0,0x6a92,0x5dc1,0x5dc2,0x6a93,0x6a94,0x5dc5,0x5dc6,0x5dc7,0x5dc8,0x5dc9,0x5dcb,0x5dcc,// 烏熬獒筽蜈誤鰲鼇屋沃獄玉鈺溫瑥
|
||||
0x5dcd,0x5dce,0x6a95,0x5dd0,0x5dd2,0x5dd3,0x5dd6,0x5dd4,0x5dd7,0x5dd5,0x5dd8,0x5dd9,0x5dda,0x6a96,0x5ddb,0x5ddc,// 瘟穩縕蘊兀壅擁瓮甕癰翁邕雍饔渦瓦
|
||||
0x5ddd,0x6a97,0x5de1,0x5dde,0x5ddf,0x5de0,0x5de2,0x5de3,0x5de4,0x6a98,0x6a99,0x5de5,0x5de6,0x6a9a,0x5de7,0x5de8,// 窩窪臥蛙蝸訛婉完宛梡椀浣玩琓琬碗
|
||||
0x5de9,0x5dea,0x6a9b,0x5deb,0x5dec,0x5ded,0x5dee,0x5def,0x5df0,0x5df1,0x5df2,0x5df3,0x5df4,0x5df5,0x5df6,0x6a9c,// 緩翫脘腕莞豌阮頑曰往旺枉汪王倭娃
|
||||
0x5df7,0x5df8,0x5df9,0x6a9d,0x5dfa,0x5dfb,0x5dfc,0x6a9e,0x6a9f,0x5dfd,0x5dfe,0x5e41,0x5e42,0x5e43,0x5e44,0x6aa0,// 歪矮外嵬巍猥畏了僚僥凹堯夭妖姚寥
|
||||
0x6aa1,0x6aa2,0x5e45,0x5e46,0x5e47,0x6aa3,0x5e48,0x6aa4,0x5e49,0x5e4b,0x5e4c,0x6aa5,0x6aa6,0x5e4d,0x6aa7,0x0000,// 寮尿嶢拗搖撓擾料曜樂橈燎燿瑤療
|
||||
// 0xe9a0 - 0xe9ff
|
||||
0x0000,0x5e4e,0x5e4f,0x5e50,0x5e51,0x5e52,0x5e4a,0x6aa8,0x5e54,0x5e55,0x5e56,0x5e57,0x6aa9,0x5e58,0x5e59,0x5e5b,// 窈窯繇繞耀腰蓼蟯要謠遙遼邀饒慾
|
||||
0x5e5c,0x5e5d,0x6aaa,0x5e5e,0x5e5a,0x6aab,0x5e5f,0x5e63,0x5e60,0x6aac,0x6aad,0x5e61,0x5e62,0x6aae,0x5e64,0x6aaf,// 欲浴縟褥辱俑傭冗勇埇墉容庸慂榕涌
|
||||
0x5e65,0x5e66,0x5e67,0x5e68,0x5e69,0x6ab0,0x5e6a,0x5e6c,0x5e6d,0x5e6f,0x5e70,0x5e71,0x6ab1,0x5e7c,0x5e72,0x5e73,// 湧溶熔瑢用甬聳茸蓉踊鎔鏞龍于佑偶
|
||||
0x5e74,0x5e75,0x5e76,0x5e77,0x5e79,0x5e7a,0x5e7b,0x5e7d,0x5e7e,0x6ab2,0x5e7f,0x6ab3,0x6ab4,0x5e80,0x5e81,0x5e82,// 優又友右宇寓尤愚憂旴牛玗瑀盂祐禑
|
||||
0x5e83,0x6ab5,0x5e84,0x5e85,0x6ab6,0x5e86,0x5e87,0x5e88,0x5e89,0x6ab7,0x5e8a,0x5e8b,0x5e8c,0x6ab8,0x6ab9,0x5e8d,// 禹紆羽芋藕虞迂遇郵釪隅雨雩勖彧旭
|
||||
0x5e8e,0x6aba,0x5e8f,0x5e90,0x5e91,0x5e92,0x5e93,0x5e94,0x6abb,0x5e95,0x6abc,0x6abd,0x5e96,0x5e97,0x6abe,0x0000,// 昱栯煜稶郁頊云暈橒殞澐熉耘芸蕓
|
||||
// 0xeaa0 - 0xeaff
|
||||
0x0000,0x5e98,0x5e99,0x5e9a,0x5e9b,0x5e9d,0x5e9e,0x6abf,0x5e9f,0x5ea0,0x5ea1,0x5ea2,0x5ea3,0x5ea5,0x5ea4,0x5ea7,// 運隕雲韻蔚鬱亐熊雄元原員圓園垣
|
||||
0x5ea8,0x6ac0,0x5ea9,0x5eaa,0x5eab,0x5eac,0x6ac1,0x6ac2,0x6ac3,0x5ead,0x5ea6,0x5eae,0x5eaf,0x5eb0,0x5eb2,0x5eb3,// 媛嫄寃怨愿援沅洹湲源爰猿瑗苑袁轅
|
||||
0x5eb4,0x6ac4,0x5eb5,0x5eb6,0x5eb7,0x5eb8,0x5eb9,0x5eba,0x5ebb,0x5ebc,0x5ebd,0x5ebe,0x5ebf,0x5ec0,0x5ec4,0x5ec1,// 遠阮院願鴛月越鉞位偉僞危圍委威尉
|
||||
0x5ec3,0x6ac5,0x5ec5,0x5ec6,0x5ec7,0x5ec8,0x5ec9,0x5eca,0x5ecb,0x6ac6,0x5ecc,0x5ecd,0x6ac7,0x5ecf,0x5ed0,0x5ed1,// 慰暐渭爲瑋緯胃萎葦蔿蝟衛褘謂違韋
|
||||
0x5ed2,0x5ed3,0x5ed5,0x5ed6,0x5ed7,0x6ac8,0x5ed9,0x5eda,0x5edc,0x5edd,0x5ed8,0x5edf,0x5ee0,0x5ee1,0x5ee2,0x5ee4,// 魏乳侑儒兪劉唯喩孺宥幼幽庾悠惟愈
|
||||
0x5ee3,0x5ee5,0x5ed4,0x5ee6,0x6ac9,0x5ee7,0x5ee8,0x6aca,0x5ee9,0x6acb,0x5eea,0x6acc,0x6acd,0x5eeb,0x6ace,0x0000,// 愉揄攸有杻柔柚柳楡楢油洧流游溜
|
||||
// 0xeba0 - 0xebff
|
||||
0x0000,0x5eec,0x5eed,0x6acf,0x6ad0,0x5eee,0x5eef,0x6ad1,0x5ef0,0x6ad2,0x6ad3,0x5ef1,0x5ef2,0x5ef3,0x5ef5,0x5ef6,// 濡猶猷琉瑜由留癒硫紐維臾萸裕誘
|
||||
0x5ef7,0x5ef8,0x5efa,0x5ef9,0x5efb,0x5efc,0x5efd,0x5efe,0x5f41,0x5f42,0x6ad4,0x6ad5,0x6ad6,0x6ad7,0x5f44,0x5f45,// 諛諭踰蹂遊逾遺酉釉鍮類六堉戮毓肉
|
||||
0x5f46,0x6ad8,0x6ad9,0x5f48,0x5f49,0x5f4a,0x6ada,0x6adb,0x5f4b,0x5f4c,0x5f4d,0x6adc,0x6add,0x6ade,0x5f4e,0x6adf,// 育陸倫允奫尹崙淪潤玧胤贇輪鈗閏律
|
||||
0x6ae0,0x6ae1,0x6ae2,0x5f4f,0x5f50,0x6ae3,0x5f51,0x5f52,0x6ae4,0x5f53,0x5f54,0x5f55,0x5f57,0x5f5a,0x5f59,0x5f5b,// 慄栗率聿戎瀜絨融隆垠恩慇殷誾銀隱
|
||||
0x5f5d,0x5f5e,0x5f5f,0x5f60,0x5f61,0x5f63,0x5f62,0x5f65,0x5f66,0x5f67,0x5f68,0x5f69,0x5f6a,0x5f6b,0x5f6c,0x5f6d,// 乙吟淫蔭陰音飮揖泣邑凝應膺鷹依倚
|
||||
0x5f6e,0x5f71,0x5f72,0x5f73,0x5f74,0x6ae5,0x5f75,0x5f6f,0x5f70,0x5f76,0x5f77,0x6ae6,0x5f78,0x5f79,0x5f7a,0x0000,// 儀宜意懿擬椅毅疑矣義艤薏蟻衣誼
|
||||
// 0xeca0 - 0xecff
|
||||
0x0000,0x5f7b,0x5f7c,0x5f7d,0x5f7e,0x5f7f,0x6ae7,0x6ae8,0x5f80,0x5f81,0x6ae9,0x5f82,0x5f84,0x5f85,0x5f86,0x5f87,// 議醫二以伊利吏夷姨履已弛彛怡易
|
||||
0x6aea,0x6aeb,0x6aec,0x5f89,0x5f8a,0x6aed,0x5f8b,0x5f8c,0x6aee,0x5f8d,0x6aef,0x5f8e,0x5f8f,0x6af0,0x6af1,0x5f90,// 李梨泥爾珥理異痍痢移罹而耳肄苡荑
|
||||
0x6af2,0x6af3,0x6af4,0x5f83,0x6af5,0x6af6,0x6af7,0x5f91,0x5f92,0x6af8,0x6af9,0x5f94,0x5f96,0x5f97,0x5f98,0x5f95,// 裏裡貽貳邇里離飴餌匿溺瀷益翊翌翼
|
||||
0x6afa,0x5f99,0x5f9a,0x5f9c,0x5f9d,0x6afb,0x5f9e,0x5f9f,0x5fa0,0x5fa1,0x5fa2,0x5fa3,0x5fa4,0x6afc,0x6afd,0x6afe,// 謚人仁刃印吝咽因姻寅引忍湮燐璘絪
|
||||
0x6b41,0x6b42,0x6b43,0x5fa5,0x6b44,0x5fa6,0x5fa7,0x6b45,0x6b46,0x5fa8,0x6b47,0x5fa9,0x5faa,0x5fab,0x5fac,0x5fad,// 茵藺蚓認隣靭靷鱗麟一佚佾壹日溢逸
|
||||
0x5fae,0x5faf,0x5fb0,0x5fb1,0x5fb2,0x5fb3,0x6b48,0x6b49,0x6b4a,0x5fb4,0x6b4b,0x5fb5,0x5fb6,0x5fb7,0x6b4c,0x0000,// 鎰馹任壬妊姙恁林淋稔臨荏賃入卄
|
||||
// 0xeda0 - 0xedff
|
||||
0x0000,0x6b4d,0x6b4e,0x6b4f,0x5fb8,0x5fba,0x5fb9,0x6b50,0x5fbb,0x5fbc,0x5fbd,0x5fbe,0x5fbf,0x5fc0,0x5fc2,0x5fc1,// 立笠粒仍剩孕芿仔刺咨姉姿子字孜
|
||||
0x5fc3,0x5fc4,0x5fc5,0x5fc6,0x5fc7,0x5fc8,0x5fc9,0x5fca,0x5fcc,0x5fce,0x5fcf,0x5fd1,0x6b51,0x5fd2,0x5fd3,0x5fd5,// 恣慈滋炙煮玆瓷疵磁紫者自茨蔗藉諮
|
||||
0x5fd6,0x5fd8,0x5fd9,0x5fda,0x5fdb,0x5fdc,0x5fdd,0x5fdf,0x5fe0,0x5fe1,0x5fe2,0x5fe3,0x5fe4,0x5fe5,0x5fe6,0x6b52,// 資雌作勺嚼斫昨灼炸爵綽芍酌雀鵲孱
|
||||
0x5fe7,0x5fe8,0x5fe9,0x5fea,0x5feb,0x5fec,0x5fed,0x5fef,0x5ff0,0x5ff2,0x5ff3,0x5ff4,0x5ff5,0x5ff6,0x5ff7,0x5ff8,// 棧殘潺盞岑暫潛箴簪蠶雜丈仗匠場墻
|
||||
0x6047,0x5ff9,0x6048,0x5ffb,0x5ffc,0x5ffd,0x5ffe,0x6041,0x6042,0x6043,0x6044,0x6045,0x6046,0x6049,0x604a,0x604b,// 壯奬將帳庄張掌暲杖樟檣欌漿牆狀獐
|
||||
0x604c,0x604e,0x604f,0x6050,0x6051,0x6b53,0x6052,0x6053,0x6054,0x6055,0x6056,0x6058,0x6059,0x605a,0x605b,0x0000,// 璋章粧腸臟臧莊葬蔣薔藏裝贓醬長
|
||||
// 0xeea0 - 0xeeff
|
||||
0x0000,0x605c,0x605d,0x605e,0x605f,0x6060,0x6061,0x6062,0x6063,0x6064,0x6b54,0x6065,0x6066,0x6b55,0x6068,0x6069,// 障再哉在宰才材栽梓渽滓災縡裁財
|
||||
0x606a,0x606b,0x606c,0x606d,0x606e,0x606f,0x6070,0x6072,0x6071,0x6073,0x6074,0x6075,0x6076,0x6077,0x6078,0x607a,// 載齋齎爭箏諍錚佇低儲咀姐底抵杵楮
|
||||
0x607b,0x607c,0x607d,0x607e,0x607f,0x6080,0x6081,0x6b56,0x6082,0x6b57,0x6083,0x6084,0x6086,0x6088,0x6089,0x608a,// 樗沮渚狙猪疽箸紵苧菹著藷詛貯躇這
|
||||
0x608b,0x6b58,0x6b59,0x608c,0x6b5a,0x608d,0x608e,0x608f,0x6090,0x6091,0x6092,0x6b5b,0x6093,0x6094,0x6095,0x6096,// 邸雎齟勣吊嫡寂摘敵滴狄炙的積笛籍
|
||||
0x6098,0x6b5c,0x6099,0x609a,0x609b,0x609c,0x609d,0x609e,0x609f,0x60a0,0x60a1,0x6b5d,0x6b5e,0x6b5f,0x60a2,0x60a3,// 績翟荻謫賊赤跡蹟迪迹適鏑佃佺傳全
|
||||
0x60a4,0x60a5,0x60a6,0x60a8,0x6b60,0x60a9,0x60aa,0x60ab,0x60ad,0x60ae,0x60af,0x60b0,0x60b1,0x60b2,0x60b3,0x0000,// 典前剪塡塼奠專展廛悛戰栓殿氈澱
|
||||
// 0xefa0 - 0xefff
|
||||
0x0000,0x60b4,0x6b61,0x60b5,0x60b6,0x6b62,0x60b7,0x6b63,0x60b9,0x60ba,0x60bb,0x60bc,0x60be,0x60bf,0x60c0,0x60c1,// 煎琠田甸畑癲筌箋箭篆纏詮輾轉鈿
|
||||
0x60c2,0x60c3,0x6b64,0x60c4,0x60c5,0x60c6,0x60c7,0x60c8,0x60c9,0x60ca,0x60cb,0x6b65,0x60cd,0x60ce,0x60cf,0x60d0,// 銓錢鐫電顚顫餞切截折浙癤竊節絶占
|
||||
0x60d1,0x60d2,0x60d3,0x60d4,0x60d6,0x60d7,0x6b66,0x60d5,0x60d8,0x60d9,0x60db,0x60dc,0x60dd,0x60de,0x60df,0x60e0,// 岾店漸点粘霑鮎點接摺蝶丁井亭停偵
|
||||
0x60e1,0x60e2,0x60e6,0x60e3,0x60e7,0x60e4,0x60e5,0x60e8,0x60e9,0x60ea,0x60eb,0x60ec,0x60ed,0x60ee,0x6b67,0x60f0,// 呈姃定幀庭廷征情挺政整旌晶晸柾楨
|
||||
0x6b68,0x60f1,0x60f2,0x6b69,0x60f3,0x60f4,0x6b6a,0x6b6b,0x6b6c,0x6b6d,0x6b6e,0x60f5,0x60f6,0x60f7,0x60f8,0x60f9,// 檉正汀淀淨渟湞瀞炡玎珽町睛碇禎程
|
||||
0x60fa,0x60fc,0x6b6f,0x60fd,0x60fe,0x6141,0x6142,0x6143,0x6144,0x6145,0x6146,0x6b70,0x6147,0x6148,0x60fb,0x0000,// 穽精綎艇訂諪貞鄭酊釘鉦鋌錠霆靖
|
||||
// 0xf0a0 - 0xf0ff
|
||||
0x0000,0x6149,0x614a,0x614b,0x614c,0x614d,0x614e,0x614f,0x6150,0x6151,0x6152,0x6153,0x6155,0x6156,0x6159,0x615a,// 靜頂鼎制劑啼堤帝弟悌提梯濟祭第
|
||||
0x6158,0x615b,0x615c,0x615d,0x615f,0x6160,0x6161,0x6162,0x6163,0x6164,0x6165,0x6166,0x6168,0x6167,0x6169,0x616b,// 臍薺製諸蹄醍除際霽題齊俎兆凋助嘲
|
||||
0x616d,0x616e,0x616f,0x6170,0x6171,0x6172,0x6173,0x6174,0x6175,0x6176,0x6177,0x6178,0x6179,0x617a,0x617b,0x617c,// 弔彫措操早晁曺曹朝條棗槽漕潮照燥
|
||||
0x617d,0x6b71,0x617f,0x6180,0x6181,0x6182,0x6183,0x6184,0x6187,0x6188,0x618a,0x618c,0x618d,0x618e,0x618f,0x6190,// 爪璪眺祖祚租稠窕粗糟組繰肇藻蚤詔
|
||||
0x6191,0x6192,0x6193,0x6194,0x6195,0x6196,0x6197,0x6b72,0x6199,0x619a,0x619b,0x619c,0x619d,0x619e,0x619f,0x61a0,// 調趙躁造遭釣阻雕鳥族簇足鏃存尊卒
|
||||
0x61a1,0x61a2,0x61a3,0x61a4,0x61a5,0x6b73,0x61a6,0x61a7,0x61a9,0x61aa,0x61ab,0x61ac,0x61ad,0x61ae,0x61af,0x0000,// 拙猝倧宗從悰慫棕淙琮種終綜縱腫
|
||||
// 0xf1a0 - 0xf1ff
|
||||
0x0000,0x6b74,0x61b0,0x61b2,0x61b3,0x61b4,0x61b5,0x61b6,0x61b7,0x61b8,0x61b9,0x61ba,0x61bb,0x61bc,0x61bd,0x6b75,// 踪踵鍾鐘佐坐左座挫罪主住侏做姝
|
||||
0x61d5,0x61bf,0x61c0,0x61c1,0x61c2,0x61c3,0x61c4,0x61be,0x61c5,0x61c6,0x61c7,0x61c8,0x61ca,0x61cb,0x6b76,0x6b77,// 胄呪周嗾奏宙州廚晝朱柱株注洲湊澍
|
||||
0x61c9,0x61cd,0x61ce,0x61d0,0x61d1,0x61d2,0x61d3,0x61d6,0x61d7,0x61d8,0x61d9,0x61da,0x61db,0x61dc,0x61de,0x61dd,// 炷珠疇籌紂紬綢舟蛛註誅走躊輳週酎
|
||||
0x61cc,0x61df,0x61e0,0x61e1,0x61e2,0x61e3,0x61e4,0x61e5,0x61e6,0x6b78,0x61e7,0x61e8,0x61e9,0x61ea,0x61eb,0x61ec,// 酒鑄駐竹粥俊儁准埈寯峻晙樽浚準濬
|
||||
0x6b79,0x61ed,0x61ee,0x61ef,0x61f0,0x61f1,0x6b7a,0x61f3,0x61f4,0x61f5,0x61f6,0x61f7,0x61f8,0x61fa,0x61fb,0x61fc,// 焌畯竣蠢逡遵雋駿茁中仲衆重卽櫛楫
|
||||
0x61fd,0x61fe,0x6241,0x6242,0x6245,0x6243,0x6244,0x6246,0x6247,0x6b7b,0x6248,0x624a,0x624b,0x624c,0x624d,0x0000,// 汁葺增憎曾拯烝甑症繒蒸證贈之只
|
||||
// 0xf2a0 - 0xf2ff
|
||||
0x0000,0x624e,0x624f,0x6250,0x6251,0x6252,0x6253,0x6254,0x6255,0x6256,0x6257,0x6258,0x6259,0x625a,0x625b,0x6b7c,// 咫地址志持指摯支旨智枝枳止池沚
|
||||
0x625c,0x625e,0x625f,0x6261,0x6260,0x6262,0x6263,0x6264,0x6265,0x6266,0x6b7d,0x6267,0x6268,0x6269,0x626a,0x626b,// 漬知砥祉祗紙肢脂至芝芷蜘誌識贄趾
|
||||
0x626c,0x626d,0x626e,0x626f,0x6270,0x6271,0x6b7e,0x6273,0x6274,0x6275,0x6b7f,0x6276,0x6b80,0x6b81,0x6277,0x6b82,// 遲直稙稷織職唇嗔塵振搢晉晋桭榛殄
|
||||
0x6278,0x6279,0x627a,0x627b,0x627c,0x6b83,0x627d,0x627e,0x627f,0x6280,0x6281,0x6282,0x6b84,0x6b85,0x6b86,0x6b87,// 津溱珍瑨璡畛疹盡眞瞋秦縉縝臻蔯袗
|
||||
0x6283,0x6284,0x6285,0x6272,0x6286,0x6287,0x6288,0x6289,0x628a,0x6b88,0x628b,0x628d,0x628e,0x628f,0x6290,0x6b89,// 診賑軫辰進鎭陣陳震侄叱姪嫉帙桎瓆
|
||||
0x6291,0x6292,0x628c,0x6293,0x6294,0x6295,0x6296,0x6297,0x6298,0x6299,0x6b8a,0x629a,0x6b8b,0x629c,0x629d,0x0000,// 疾秩窒膣蛭質跌迭斟朕什執潗緝輯
|
||||
// 0xf3a0 - 0xf3ff
|
||||
0x0000,0x6b8c,0x629b,0x629e,0x629f,0x62a0,0x62a1,0x6b8d,0x62a2,0x62a4,0x62a5,0x62a7,0x62a6,0x62a8,0x62a9,0x62aa,// 鏶集徵懲澄且侘借叉嗟嵯差次此磋
|
||||
0x62a3,0x62ab,0x62ac,0x62ae,0x62ad,0x62af,0x62b0,0x62b1,0x62b2,0x62b3,0x62b4,0x62b5,0x62b6,0x62b7,0x62b8,0x62b9,// 箚茶蹉車遮捉搾着窄錯鑿齪撰澯燦璨
|
||||
0x62ba,0x62bb,0x6b8e,0x62bc,0x62bd,0x62be,0x62bf,0x62c0,0x62c1,0x62c3,0x62c4,0x62c5,0x62c6,0x62c7,0x62c8,0x6b8f,// 瓚竄簒纂粲纘讚贊鑽餐饌刹察擦札紮
|
||||
0x62c9,0x62ca,0x62cb,0x62cc,0x62cd,0x62cf,0x62d0,0x62d1,0x62d2,0x6b90,0x62d4,0x62d3,0x62d6,0x62d7,0x62d8,0x62d9,// 僭參塹慘慙懺斬站讒讖倉倡創唱娼廠
|
||||
0x62da,0x6b91,0x62dc,0x62dd,0x62de,0x62df,0x62e0,0x62e2,0x62e3,0x6b92,0x62e4,0x62e5,0x62e6,0x62e7,0x62e8,0x62e9,// 彰愴敞昌昶暢槍滄漲猖瘡窓脹艙菖蒼
|
||||
0x62ea,0x62eb,0x6b93,0x6b94,0x62ec,0x62ed,0x62ee,0x62ef,0x62f0,0x62f1,0x62f2,0x62f3,0x62f4,0x62f5,0x62f6,0x0000,// 債埰寀寨彩採砦綵菜蔡采釵冊柵策
|
||||
// 0xf4a0 - 0xf4ff
|
||||
0x0000,0x62f8,0x62f9,0x62fa,0x62fb,0x62fc,0x6b95,0x62fd,0x62fe,0x6341,0x6342,0x6343,0x6344,0x6345,0x6346,0x6347,// 責凄妻悽處倜刺剔尺慽戚拓擲斥滌
|
||||
0x6348,0x6349,0x6b96,0x634c,0x634d,0x634e,0x634f,0x6350,0x6351,0x6352,0x6353,0x6354,0x6355,0x6b97,0x6357,0x6358,// 瘠脊蹠陟隻仟千喘天川擅泉淺玔穿舛
|
||||
0x6359,0x635a,0x635b,0x635c,0x635d,0x635e,0x635f,0x6360,0x6361,0x6363,0x6364,0x6362,0x6365,0x6366,0x6367,0x6b98,// 薦賤踐遷釧闡阡韆凸哲喆徹撤澈綴輟
|
||||
0x6368,0x6369,0x636a,0x636b,0x636c,0x636d,0x636e,0x636f,0x6b99,0x6371,0x6b9a,0x6372,0x6b9b,0x6373,0x6374,0x6375,// 轍鐵僉尖沾添甛瞻簽籤詹諂堞妾帖捷
|
||||
0x6376,0x6377,0x6378,0x6379,0x637a,0x637b,0x637c,0x637d,0x637e,0x637f,0x6380,0x6382,0x6383,0x6384,0x6385,0x6386,// 牒疊睫諜貼輒廳晴淸聽菁請靑鯖切剃
|
||||
0x6387,0x6388,0x6389,0x638b,0x638c,0x638d,0x638e,0x6390,0x6391,0x6b9c,0x6392,0x6394,0x6395,0x6396,0x6397,0x0000,// 替涕滯締諦逮遞體初剿哨憔抄招梢
|
||||
// 0xf5a0 - 0xf5ff
|
||||
0x0000,0x6398,0x6399,0x639a,0x639b,0x639c,0x639d,0x639e,0x639f,0x63a0,0x63a1,0x63a3,0x6b9d,0x6b9e,0x63a4,0x63a5,// 椒楚樵炒焦硝礁礎秒稍肖艸苕草蕉
|
||||
0x63a6,0x63a7,0x63a8,0x63a9,0x63aa,0x63ad,0x63ae,0x63b0,0x63b1,0x63b2,0x63b3,0x63b6,0x63b7,0x63b8,0x6b9f,0x63b9,// 貂超酢醋醮促囑燭矗蜀觸寸忖村邨叢
|
||||
0x63ba,0x63bb,0x6ba0,0x6ba1,0x63bd,0x63be,0x63bf,0x6ba2,0x63c1,0x63c2,0x63c3,0x63c4,0x63c6,0x63c7,0x63c8,0x63c9,// 塚寵悤憁摠總聰蔥銃撮催崔最墜抽推
|
||||
0x63ca,0x63cb,0x63cd,0x63ce,0x63d0,0x63d1,0x63d3,0x63d4,0x6ba3,0x63d5,0x63d6,0x63d7,0x63d8,0x63d9,0x63db,0x63da,// 椎楸樞湫皺秋芻萩諏趨追鄒酋醜錐錘
|
||||
0x6ba4,0x63dc,0x6ba5,0x63de,0x63e1,0x63e4,0x63e3,0x63e5,0x63e6,0x63e7,0x63e8,0x63ea,0x6ba6,0x63eb,0x63ec,0x63ed,// 鎚雛騶鰍丑畜祝竺筑築縮蓄蹙蹴軸逐
|
||||
0x63ee,0x63ef,0x6ba7,0x63f0,0x6ba8,0x63f1,0x63f2,0x63f4,0x63f5,0x63f6,0x63f7,0x63f8,0x63f9,0x63fa,0x63fb,0x0000,// 春椿瑃出朮黜充忠沖蟲衝衷悴膵萃
|
||||
// 0xf6a0 - 0xf6ff
|
||||
0x0000,0x6ba9,0x63fc,0x63fd,0x63fe,0x6441,0x6442,0x6444,0x6445,0x6446,0x6447,0x6448,0x644a,0x644b,0x644c,0x644d,// 贅取吹嘴娶就炊翠聚脆臭趣醉驟鷲
|
||||
0x644f,0x644e,0x6baa,0x6450,0x6451,0x6452,0x6453,0x6454,0x6455,0x6456,0x6458,0x6466,0x645a,0x645b,0x645c,0x645d,// 側仄厠惻測層侈値嗤峙幟恥梔治淄熾
|
||||
0x645e,0x645f,0x6460,0x6462,0x6bab,0x6463,0x6464,0x6465,0x6467,0x6bac,0x6468,0x6461,0x6469,0x646b,0x646c,0x646d,// 痔痴癡稚穉緇緻置致蚩輜雉馳齒則勅
|
||||
0x646e,0x646f,0x6470,0x6471,0x6472,0x6473,0x6474,0x6476,0x6477,0x6478,0x6bad,0x6479,0x647a,0x647b,0x647c,0x647d,// 飭親七柒漆侵寢枕沈浸琛砧針鍼蟄秤
|
||||
0x647e,0x647f,0x6480,0x6bae,0x6481,0x6482,0x6483,0x6484,0x6485,0x6baf,0x6486,0x6487,0x6488,0x6489,0x6bb0,0x648a,// 稱快他咤唾墮妥惰打拖朶楕舵陀馱駝
|
||||
0x648b,0x648c,0x648d,0x6bb1,0x648e,0x648f,0x6491,0x6492,0x6bb2,0x6493,0x6495,0x6496,0x6497,0x6bb3,0x6498,0x0000,// 倬卓啄坼度托拓擢晫柝濁濯琢琸託
|
||||
// 0xf7a0 - 0xf7ff
|
||||
0x0000,0x6499,0x649a,0x649b,0x649c,0x649d,0x649e,0x649f,0x64a0,0x64a1,0x64a2,0x64a3,0x64a4,0x64a5,0x64a6,0x6bb4,// 鐸呑嘆坦彈憚歎灘炭綻誕奪脫探眈
|
||||
0x64a7,0x64a8,0x64a9,0x64aa,0x64ab,0x64ac,0x64ad,0x64ae,0x6bb5,0x64af,0x64b0,0x64b1,0x64b2,0x64b3,0x64b4,0x64b5,// 耽貪塔搭榻宕帑湯糖蕩兌台太怠態殆
|
||||
0x64b6,0x64b7,0x64b8,0x64b9,0x64ba,0x64bb,0x64bc,0x64bd,0x64bf,0x64c0,0x64c1,0x64c3,0x64c4,0x64c5,0x64c6,0x64c7,// 汰泰笞胎苔跆邰颱宅擇澤撑攄兎吐土
|
||||
0x64c8,0x64c9,0x64ca,0x64cb,0x64cc,0x64cd,0x64ce,0x64cf,0x64d0,0x6bb6,0x64d1,0x64d2,0x64d3,0x64d4,0x64d5,0x64d6,// 討慟桶洞痛筒統通堆槌腿褪退頹偸套
|
||||
0x64d7,0x64d8,0x64d9,0x64da,0x64db,0x64dc,0x6bb7,0x64de,0x64dd,0x64df,0x64e0,0x64e1,0x6bb8,0x64e2,0x64e3,0x64e4,// 妬投透鬪慝特闖坡婆巴把播擺杷波派
|
||||
0x64e5,0x64e6,0x64e7,0x64e8,0x64e9,0x64ea,0x64eb,0x64ed,0x64ec,0x64ee,0x64ef,0x64f2,0x64f0,0x64f1,0x6bb9,0x0000,// 爬琶破罷芭跛頗判坂板版瓣販辦鈑
|
||||
// 0xf8a0 - 0xf8ff
|
||||
0x0000,0x64f3,0x64f4,0x64f5,0x64f6,0x64f7,0x64f8,0x64f9,0x6542,0x64fa,0x64fb,0x64fc,0x64fd,0x64fe,0x6543,0x6541,// 阪八叭捌佩唄悖敗沛浿牌狽稗覇貝
|
||||
0x6544,0x6545,0x6546,0x6547,0x6548,0x6549,0x654a,0x654b,0x654c,0x654d,0x654e,0x654f,0x6551,0x6552,0x6bba,0x6553,// 彭澎烹膨愎便偏扁片篇編翩遍鞭騙貶
|
||||
0x6554,0x6555,0x6bbb,0x6556,0x6557,0x6558,0x6559,0x655a,0x655b,0x655c,0x655d,0x655e,0x655f,0x6560,0x6561,0x6562,// 坪平枰萍評吠嬖幣廢弊斃肺蔽閉陛佈
|
||||
0x6563,0x6564,0x6565,0x6566,0x6567,0x6568,0x656a,0x656b,0x656d,0x656c,0x656e,0x6bbc,0x656f,0x6570,0x6572,0x6573,// 包匍匏咆哺圃布怖抛抱捕暴泡浦疱砲
|
||||
0x6574,0x6575,0x6bbd,0x6577,0x6578,0x6579,0x657a,0x6bbe,0x657c,0x657e,0x657f,0x6580,0x6581,0x6bbf,0x6582,0x6583,// 胞脯苞葡蒲袍褒逋鋪飽鮑幅暴曝瀑爆
|
||||
0x6bc0,0x6584,0x6585,0x6586,0x6587,0x6588,0x6589,0x658a,0x658b,0x658c,0x658d,0x658e,0x6bc1,0x658f,0x6bc2,0x0000,// 輻俵剽彪慓杓標漂瓢票表豹飇飄驃
|
||||
// 0xf9a0 - 0xf9ff
|
||||
0x0000,0x6591,0x6592,0x6594,0x6595,0x6596,0x6597,0x6593,0x6598,0x6599,0x659a,0x659b,0x659d,0x659e,0x6bc3,0x659f,// 品稟楓諷豊風馮彼披疲皮被避陂匹
|
||||
0x65a0,0x65a1,0x65a2,0x6bc4,0x65a3,0x65a4,0x65a5,0x6bc5,0x6bc6,0x65a7,0x65a8,0x65a9,0x65aa,0x6bc7,0x65ab,0x65ac,// 弼必泌珌畢疋筆苾馝乏逼下何厦夏廈
|
||||
0x65ad,0x65ae,0x65af,0x65b1,0x65b0,0x65b2,0x65b3,0x65b4,0x65b5,0x65b6,0x65b7,0x65b9,0x65ba,0x65bb,0x65bc,0x65bd,// 昰河瑕荷蝦賀遐霞鰕壑學虐謔鶴寒恨
|
||||
0x65be,0x65bf,0x65c0,0x65c1,0x65c2,0x6bc8,0x65c3,0x65c4,0x65c7,0x65c6,0x65c8,0x65c9,0x65cb,0x65cc,0x65cd,0x65ce,// 悍旱汗漢澣瀚罕翰閑閒限韓割轄函含
|
||||
0x65cf,0x65d0,0x65d1,0x65d2,0x65d3,0x65d4,0x65d5,0x6bc9,0x65d6,0x6bca,0x65d7,0x65d8,0x65d9,0x65da,0x65db,0x6bcb,// 咸啣喊檻涵緘艦銜陷鹹合哈盒蛤閤闔
|
||||
0x65dc,0x65dd,0x65de,0x65df,0x6bcc,0x65e0,0x65e1,0x65e2,0x65e3,0x65e4,0x65e5,0x65e6,0x65e8,0x65e9,0x65ea,0x0000,// 陜亢伉姮嫦巷恒抗杭桁沆港缸肛航
|
||||
// 0xfaa0 - 0xfaff
|
||||
0x0000,0x6bcd,0x65eb,0x65ec,0x65ed,0x65ee,0x65ef,0x65f1,0x65f0,0x65f2,0x65f3,0x65f5,0x65f6,0x65f7,0x6bce,0x65f8,// 行降項亥偕咳垓奚孩害懈楷海瀣蟹
|
||||
0x65f9,0x65fa,0x65fb,0x65fc,0x65fd,0x65fe,0x6641,0x6642,0x6643,0x6644,0x6645,0x6bcf,0x6646,0x6647,0x6648,0x6649,// 解該諧邂駭骸劾核倖幸杏荇行享向嚮
|
||||
0x664b,0x664a,0x664c,0x664d,0x664e,0x664f,0x6650,0x6651,0x6652,0x6653,0x6654,0x6bd0,0x6656,0x6655,0x6657,0x6658,// 珦鄕響餉饗香噓墟虛許憲櫶獻軒歇險
|
||||
0x6659,0x665a,0x665b,0x665c,0x665d,0x6bd1,0x665e,0x665f,0x6660,0x6bd5,0x6bd3,0x6661,0x6663,0x6bd4,0x6662,0x6664,// 驗奕爀赫革俔峴弦懸晛泫炫玄玹現眩
|
||||
0x6bd2,0x6665,0x6666,0x6667,0x6668,0x6669,0x666a,0x666b,0x666c,0x666d,0x666e,0x666f,0x6670,0x6671,0x6672,0x6674,// 睍絃絢縣舷衒見賢鉉顯孑穴血頁嫌俠
|
||||
0x6675,0x6676,0x6677,0x6678,0x6679,0x667a,0x667d,0x667c,0x667e,0x6680,0x6681,0x6682,0x6686,0x6683,0x6684,0x0000,// 協夾峽挾浹狹脅脇莢鋏頰亨兄刑型
|
||||
// 0xfba0 - 0xfbff
|
||||
0x0000,0x6685,0x6bd6,0x6bd7,0x6687,0x6bd8,0x6688,0x6bd9,0x6689,0x6bda,0x668a,0x668b,0x668c,0x6bdb,0x668d,0x668e,// 形泂滎瀅灐炯熒珩瑩荊螢衡逈邢鎣
|
||||
0x668f,0x6690,0x6691,0x6692,0x6693,0x6bdc,0x6694,0x6bdd,0x6695,0x6696,0x6697,0x6698,0x669a,0x669c,0x669b,0x669d,// 馨兮彗惠慧暳蕙蹊醯鞋乎互呼壕壺好
|
||||
0x6bde,0x669e,0x66a0,0x66b8,0x669f,0x6bdf,0x66a1,0x66a2,0x66a3,0x66a4,0x66a5,0x66a6,0x66a8,0x66a7,0x66a9,0x66aa,// 岵弧戶扈昊晧毫浩淏湖滸澔濠濩灝狐
|
||||
0x6be0,0x66ab,0x66ac,0x66ad,0x66af,0x66b0,0x66b1,0x66b2,0x6be1,0x66b3,0x6be2,0x66b4,0x66b5,0x66b6,0x66b7,0x6699,// 琥瑚瓠皓祜糊縞胡芦葫蒿虎號蝴護豪
|
||||
0x66ba,0x66bb,0x66bc,0x66bd,0x66be,0x66bf,0x66c0,0x66c1,0x66c2,0x66c3,0x66c4,0x66c5,0x66c6,0x66c7,0x66c8,0x66cb,// 鎬頀顥惑或酷婚昏混渾琿魂忽惚笏哄
|
||||
0x66ca,0x66cc,0x66cd,0x66ce,0x6be3,0x66d0,0x66d1,0x66d2,0x66cf,0x66d3,0x66da,0x66d4,0x66d5,0x66d6,0x66d8,0x0000,// 弘汞泓洪烘紅虹訌鴻化和嬅樺火畵
|
||||
// 0xfca0 - 0xfcff
|
||||
0x0000,0x66d7,0x66d9,0x66db,0x66dc,0x66dd,0x6be4,0x66df,0x66de,0x66e0,0x66e1,0x66e2,0x66e3,0x66e4,0x66e5,0x66e7,// 禍禾花華話譁貨靴廓擴攫確碻穫丸
|
||||
0x66e8,0x6be5,0x66ea,0x66eb,0x66ec,0x66ee,0x66f0,0x6be6,0x66ef,0x66f1,0x66f2,0x66f3,0x66f4,0x66f5,0x66f6,0x66f7,// 喚奐宦幻患換歡晥桓渙煥環紈還驩鰥
|
||||
0x66f9,0x66fa,0x66fb,0x66fc,0x66fd,0x66fe,0x6be7,0x6742,0x6744,0x6746,0x6be8,0x6745,0x6747,0x6be9,0x6bea,0x6748,// 活滑猾豁闊凰幌徨恍惶愰慌晃晄榥況
|
||||
0x6beb,0x6749,0x6bec,0x674a,0x6bed,0x674b,0x674c,0x6bee,0x674d,0x674e,0x674f,0x6750,0x6751,0x6bef,0x6752,0x6753,// 湟滉潢煌璜皇篁簧荒蝗遑隍黃匯回廻
|
||||
0x6754,0x6755,0x6756,0x6757,0x6758,0x6759,0x675a,0x675b,0x675c,0x675d,0x675e,0x675f,0x6760,0x6bf0,0x6761,0x6762,// 徊恢悔懷晦會檜淮澮灰獪繪膾茴蛔誨
|
||||
0x6763,0x6764,0x6765,0x6bf1,0x6766,0x6bf2,0x6767,0x6768,0x676a,0x676b,0x6bf3,0x676c,0x676d,0x6bf4,0x6bf5,0x0000,// 賄劃獲宖橫鐄哮嚆孝效斅曉梟涍淆
|
||||
// 0xfda0 - 0xfdff
|
||||
0x0000,0x676e,0x676f,0x6770,0x6bf6,0x6771,0x6772,0x6773,0x6774,0x6775,0x6776,0x6777,0x6bf7,0x6778,0x6779,0x6bf8,// 爻肴酵驍侯候厚后吼喉嗅帿後朽煦
|
||||
0x6bf9,0x677b,0x6bfa,0x677d,0x677e,0x677f,0x6781,0x6782,0x6783,0x6784,0x6785,0x6780,0x6786,0x6787,0x6bfb,0x6bfc,// 珝逅勛勳塤壎焄熏燻薰訓暈薨喧暄煊
|
||||
0x6788,0x6789,0x678a,0x678b,0x678c,0x678d,0x678e,0x678f,0x6790,0x6791,0x6792,0x6793,0x6794,0x6795,0x6796,0x6797,// 萱卉喙毁彙徽揮暉煇諱輝麾休携烋畦
|
||||
0x6798,0x6799,0x679a,0x679b,0x679e,0x679c,0x679d,0x679f,0x67a0,0x67a1,0x67a3,0x67a4,0x6bfd,0x67a5,0x67a6,0x67a7,// 虧恤譎鷸兇凶匈洶胸黑昕欣炘痕吃屹
|
||||
0x67a8,0x6bfe,0x67aa,0x67ac,0x67ab,0x67ad,0x67ae,0x67af,0x6c41,0x67b0,0x67b1,0x67bc,0x67b2,0x67b3,0x6c42,0x67b4,// 紇訖欠欽歆吸恰洽翕興僖凞喜噫囍姬
|
||||
0x67b5,0x67b6,0x67b8,0x6c43,0x67b9,0x6c44,0x67b7,0x67bb,0x67bd,0x6c45,0x67ba,0x67be,0x67bf,0x67c0,0x67c1,0x0000,// 嬉希憙憘戱晞曦熙熹熺犧禧稀羲詰
|
||||
// 0xfea0 - 0xfeff
|
||||
0x0000,0xd4a0,0xd4a1,0xd4a2,0xd4a3,0xd4a4,0xd4a5,0xd4a6,0xd4a7,0xd4a8,0xd4a9,0xd4aa,0xd4ab,0xd4ac,0xd4ad,0xd4ae,//
|
||||
0xd4af,0xd4b0,0xd4b1,0xd4b2,0xd4b3,0xd4b4,0xd4b5,0xd4b6,0xd4b7,0xd4b8,0xd4b9,0xd4ba,0xd4bb,0xd4bc,0xd4bd,0xd4be,//
|
||||
0xd4bf,0xd4c0,0xd4c1,0xd4c2,0xd4c3,0xd4c4,0xd4c5,0xd4c6,0xd4c7,0xd4c8,0xd4c9,0xd4ca,0xd4cb,0xd4cc,0xd4cd,0xd4ce,//
|
||||
0xd4cf,0xd4d0,0xd4d1,0xd4d2,0xd4d3,0xd4d4,0xd4d5,0xd4d6,0xd4d7,0xd4d8,0xd4d9,0xd4da,0xd4db,0xd4dc,0xd4dd,0xd4de,//
|
||||
0xd4df,0xd4e0,0xd4e1,0xd4e2,0xd4e3,0xd4e4,0xd4e5,0xd4e6,0xd4e7,0xd4e8,0xd4e9,0xd4ea,0xd4eb,0xd4ec,0xd4ed,0xd4ee,//
|
||||
0xd4ef,0xd4f0,0xd4f1,0xd4f2,0xd4f3,0xd4f4,0xd4f5,0xd4f6,0xd4f7,0xd4f8,0xd4f9,0xd4fa,0xd4fb,0xd4fc,0xd4fd,0x0000,//
|
||||
};
|
||||
|
||||
public Ksc2Ebc2()
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,583 @@
|
||||
package com.eactive.eai.adapter.wca.util;
|
||||
|
||||
|
||||
import com.eactive.eai.adapter.wca.global.WCADefine;
|
||||
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.File;
|
||||
import java.io.FileWriter;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
|
||||
/**
|
||||
* 1. 기능 :
|
||||
* 2. 처리 개요 :
|
||||
* -
|
||||
* 3. 주의사항
|
||||
* -
|
||||
*
|
||||
* @author : Administrator
|
||||
* @version : 2005. 6. 16.
|
||||
* @see :
|
||||
* @since : 2005. 6. 16. 오후 4:04:20
|
||||
*/
|
||||
public class MyLog {
|
||||
private String[] saLogLevelMsg = null;
|
||||
DateUtil dateUtil = new DateUtil();
|
||||
|
||||
private void setLogLevelMsg() {
|
||||
saLogLevelMsg = new String[7];
|
||||
saLogLevelMsg[0] = "DE";
|
||||
saLogLevelMsg[1] = "IN";
|
||||
saLogLevelMsg[2] = "NO";
|
||||
saLogLevelMsg[3] = "WA";
|
||||
saLogLevelMsg[4] = "ER";
|
||||
saLogLevelMsg[5] = "CR";
|
||||
saLogLevelMsg[6] = "EM";
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/* Log Level 정의 */
|
||||
public static final int DEBUG = 1;
|
||||
public static final int INFO = 2;
|
||||
public static final int NOTICE = 3;
|
||||
public static final int WARN = 4;
|
||||
public static final int ERROR = 5;
|
||||
public static final int ALERT = 6;
|
||||
public static final int EMERGENCY = 7;
|
||||
|
||||
/* Trace On/Off 정의 */
|
||||
public static final boolean TRC_ON = true;
|
||||
public static final boolean TRC_ONFF = false;
|
||||
|
||||
/* 현재 설정 정보 */
|
||||
private boolean bTrcFlag = true;
|
||||
private int nLogLevel = 1;
|
||||
|
||||
|
||||
public static final int CHECK_LOG_CNT = 1000;
|
||||
|
||||
// Maximum log file size(MB)
|
||||
private int MAX_LOG_FILE_SIZE = 4;
|
||||
|
||||
// Default log directory name
|
||||
private String DEFAULT_LOG_DIR = "C:\\app\\Log";
|
||||
|
||||
// Default log file name
|
||||
private String DEFAULT_LOG_FILE = "mylog.log";
|
||||
|
||||
// If logfile is opened, true
|
||||
boolean isLogFileOpen = false;
|
||||
|
||||
// private String logFilePath = null; // 로그 파일의 Path를 저장할 String Object
|
||||
// private File logFile = null; // 로그 파일의 Name를 저장할 File Class Object
|
||||
private File logDir = null; // 로그 파일의 Directory를 저장할 File Class Object
|
||||
private File logPath = null; // 로그 파일의 Path를 저장할 File Class Object
|
||||
|
||||
private boolean isOK = false; // 각종 함수의 리턴값을 저장할 변수
|
||||
|
||||
// 로그 파일에 데이터를 저장할 때 사용하는 BufferedWriter Class Object
|
||||
public BufferedWriter myWriter = null;
|
||||
|
||||
int nLogCnt = 0;
|
||||
|
||||
/**
|
||||
* 메세지 및 바이너리 데이터를 파일에 로깅하기 위해 LogWrite 클래스를 생성한다.<BR>
|
||||
* 최대 로그 파일 크기와 로그 파일 패스는 디폴트 값으로 설정된다.<BR>
|
||||
* 메세지나 데이터를 로그 파일에 로깅하다가 로그 파일 크기가 최대 로그 파일 크기를 넘어서면
|
||||
* 현재 로그 파일을 백업하고 새로운 파일을 만들어서 계속 로깅한다.
|
||||
* <P>
|
||||
* 디폴트 최대 로그 파일 크기 : 4M<BR>
|
||||
* 디폴트 로그 파일 패스 : "C:\LogWrite.log"
|
||||
*/
|
||||
public MyLog() {
|
||||
try {
|
||||
nLogCnt = 0;
|
||||
setLogLevelMsg();
|
||||
logDir = new File(DEFAULT_LOG_DIR);
|
||||
logPath = new File(logDir, DEFAULT_LOG_FILE);
|
||||
|
||||
isOK = initLogDir(logDir);
|
||||
|
||||
isOK = initLogFile(logPath);
|
||||
}
|
||||
catch (Exception e) {
|
||||
nLogCnt = 0;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* 메세지 및 바이너리 데이터를 파일에 로깅하기 위해 LogWrite 클래스를 생성한다.<BR>
|
||||
* logFilePath에 포함되는 디렉토리가 없을 경우에는 새로 생성된다.<BR>
|
||||
* 메세지나 데이터를 로그 파일에 로깅하다가 로그 파일 크기가 최대 로그 파일 크기를 넘어서면
|
||||
* 현재 로그 파일을 백업하고 새로운 파일을 만들어서 계속 로깅한다.
|
||||
* 로그 파일 패스 파라미터는 절대 패스나 상대 패스를 모두 지원한다.
|
||||
* @param nMaxLogFileSize 로그 파일 최대 크기
|
||||
* @param logFilePath 로그 파일 패스(예 : "C:\kab@iTeller\Log\LogWrite.log" or "Log\LogWrite.log" or "LogWrite.Log")
|
||||
*/
|
||||
public MyLog(boolean bLogYN, int nLogLevel, int nMaxLogFileSize, String logFilePath) {
|
||||
try {
|
||||
nLogCnt = 0;
|
||||
setLogLevelMsg();
|
||||
this.setTraceOnOff(bLogYN);
|
||||
this.setLogLevel(nLogLevel);
|
||||
|
||||
MAX_LOG_FILE_SIZE = nMaxLogFileSize;
|
||||
File tempLogPath = new File(logFilePath);
|
||||
|
||||
logPath = new File(tempLogPath.getAbsolutePath());
|
||||
logDir = new File(logPath.getParent());
|
||||
|
||||
isOK = initLogDir(logDir);
|
||||
|
||||
isOK = initLogFile(logPath);
|
||||
}
|
||||
catch (Exception e) {
|
||||
nLogCnt = 0;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
// 현재 사용되는 로그 파일의 크기가 로그 파일 최대 크기를 넘었는지
|
||||
// 검사하고, 넘었을 경우에 기존의 로그 파일을 백업하고, 새로운
|
||||
// 로그 파일을 생성한다.
|
||||
private void checkLogFileSize() {
|
||||
File backupLogPath = null;
|
||||
|
||||
try {
|
||||
isOK = isOverMaxFileSize(logPath);
|
||||
if (!isOK) {
|
||||
return;
|
||||
}
|
||||
|
||||
backupLogPath = new File(logPath.toString() + "-");
|
||||
if (backupLogPath.exists()) {
|
||||
backupLogPath.delete();
|
||||
}
|
||||
|
||||
myWriter.close();
|
||||
myWriter = null;
|
||||
|
||||
isLogFileOpen = false;
|
||||
|
||||
// 기존에 파일이 이미 있으면 Fail
|
||||
logPath.renameTo(backupLogPath);
|
||||
|
||||
logPath.createNewFile();
|
||||
|
||||
openLogStream(logPath);
|
||||
}
|
||||
catch (Exception e) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 버퍼에 들어있는 내용을 로그파일에 기록하고 로그 파일을 닫는다.
|
||||
*/
|
||||
protected void finalize() {
|
||||
try {
|
||||
if (isLogFileOpen) {
|
||||
if (myWriter != null) {
|
||||
myWriter.close();
|
||||
myWriter = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch(Exception e) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 현재 사둉되는 로그 파일의 절대 패스를 리턴
|
||||
* @return 로그 파일의 절대 패스
|
||||
*/
|
||||
public String getLogFilePath() {
|
||||
return logPath.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* 현재 사용되는 로그 파일의 최대 크기를 리턴(단위 : MB)
|
||||
* @return 로그 파일 최대 크기
|
||||
*/
|
||||
public int getMaxLogFileSize() {
|
||||
return MAX_LOG_FILE_SIZE;
|
||||
}
|
||||
|
||||
public void setMaxLogFileSize(int nMaxLogFileSize) {
|
||||
MAX_LOG_FILE_SIZE = nMaxLogFileSize;
|
||||
}
|
||||
|
||||
// 로그 파일이 저장될 디렉토리를 초기화
|
||||
private boolean initLogDir(File logDir) {
|
||||
try {
|
||||
return logDir.mkdirs();
|
||||
}
|
||||
catch (Exception e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 바이너리 데이터및 메세리를 로깅하기 위해서 사용되는
|
||||
// 로그 파일 및 관련 클래스 초기화
|
||||
private boolean initLogFile(File logPath) {
|
||||
File backupLogPath = null;
|
||||
|
||||
try {
|
||||
if (logPath.exists()) {
|
||||
/*
|
||||
isOK = isOverMaxFileSize(logPath);
|
||||
if (isOK) {
|
||||
backupLogPath = new File(logPath.toString() + "-");
|
||||
if (backupLogPath.exists()) {
|
||||
backupLogPath.delete();
|
||||
}
|
||||
|
||||
// 기존에 파일이 이미 있으면 Fail
|
||||
logPath.renameTo(backupLogPath);
|
||||
}
|
||||
*/
|
||||
backupLogPath = new File(logPath.toString() + "-");
|
||||
if (backupLogPath.exists()) {
|
||||
backupLogPath.delete();
|
||||
}
|
||||
|
||||
// 기존에 파일이 이미 있으면 Fail
|
||||
logPath.renameTo(backupLogPath);
|
||||
logPath.createNewFile();
|
||||
}
|
||||
else {
|
||||
logPath.createNewFile();
|
||||
}
|
||||
|
||||
openLogStream(logPath);
|
||||
}
|
||||
catch(Exception e) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// 현재 사용되는 로그 파일의 크기가 로그 파일 최대 크기를 넘는지 검사
|
||||
private boolean isOverMaxFileSize(File logPath) {
|
||||
try {
|
||||
// Throw SecurityException
|
||||
if (logPath.length() > (1024 * 1024 * MAX_LOG_FILE_SIZE)) {
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
catch (Exception e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 바이너리 데이터를 로그 파일에 로깅
|
||||
* @param cFlag bDataBuff 파라미터에 들어있는 데이터의 문자 코드
|
||||
* @param nDataLen bDataBuff 파라미터에 들어있는 데이터 길이
|
||||
* @param bDataBuff 로깅할 바이너리 데이터가 들어있는 바이트 어레이
|
||||
*/
|
||||
// 20030804 hslee 화면번호 Parameter 추가
|
||||
public void logData(char cFlag, int nDataLen, byte[] bDataBuff) {
|
||||
|
||||
int i, j;
|
||||
int end_flag; // 출력할 라인 수
|
||||
int rem_flag; // 맨 마지막줄의 출력할 데이터 길이
|
||||
int nRemainDataLen = 0;
|
||||
byte[] tempData = null;
|
||||
int tempLen = 0;
|
||||
|
||||
if (bTrcFlag == false) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!isLogFileOpen) {
|
||||
return;
|
||||
}
|
||||
|
||||
tempData = new byte[16];
|
||||
|
||||
try {
|
||||
checkLogFileSize();
|
||||
|
||||
// 파일이 존재하지 않으면 생성
|
||||
createNewFile();
|
||||
|
||||
if (myWriter == null) { return; }
|
||||
|
||||
myWriter.write("\r\n====================================================================\r\n");
|
||||
|
||||
// Format the current time.
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd=HH:mm:ss.SSS");
|
||||
String dateString = formatter.format(ZonedDateTime.now());
|
||||
|
||||
myWriter.write(dateString + " : " + "Data Length = " + nDataLen + "\r\n");
|
||||
|
||||
// 출력할 라인 수 계산
|
||||
end_flag = nDataLen / 16;
|
||||
if ((nDataLen % 16) != 0) {
|
||||
end_flag++;
|
||||
}
|
||||
|
||||
// 맨 마지막줄의 출력할 데이터 길이 계산
|
||||
rem_flag = nDataLen - (16 * (end_flag - 1));
|
||||
|
||||
nRemainDataLen = nDataLen;
|
||||
|
||||
// 매 라인마다 인쇄루틴 For 루프
|
||||
for (i = 0; i < end_flag; i++) {
|
||||
int nTempLen = i * 16;
|
||||
|
||||
// 데이터 수를 문자열로 변환
|
||||
String strLength = Integer.toString(nTempLen);
|
||||
int strLen = strLength.length();
|
||||
|
||||
strLen = 6 - strLen;
|
||||
|
||||
for (int x = 0; x < strLen; x++) {
|
||||
myWriter.write("0");
|
||||
}
|
||||
|
||||
myWriter.write(strLength);
|
||||
|
||||
// 넘겨받은 데이터에서 16바이씩 잘라서 복사
|
||||
// Bug!!!
|
||||
if (nRemainDataLen > 16) {
|
||||
MyUtil.memcpy(tempData, bDataBuff, 0, i * 16, 16);
|
||||
tempLen = 16;
|
||||
nRemainDataLen -= 16;
|
||||
}
|
||||
else {
|
||||
MyUtil.memcpy(tempData, bDataBuff, 0, i * 16, nRemainDataLen);
|
||||
tempLen = nRemainDataLen;
|
||||
}
|
||||
|
||||
for (j = 0; j < 16; j++) {
|
||||
if ((j % 4) == 0) {
|
||||
myWriter.write(" ");
|
||||
}
|
||||
|
||||
// 인쇄할 라인이 마지막 라인이 아니거나
|
||||
// 인쇄할 데이터 위치가 마지막 바이트가 아닐 경우
|
||||
if ((i != (end_flag - 1)) || (j < rem_flag)) {
|
||||
myWriter.write(MyUtil.toHex3(tempData[j]));
|
||||
}
|
||||
else {
|
||||
myWriter.write(" ");
|
||||
}
|
||||
}
|
||||
|
||||
myWriter.write(" |");
|
||||
|
||||
// 라인별로 데이터에 해당하는 문자열 인쇄
|
||||
for (j = 0; j < 16; j++) {
|
||||
// 인쇄할 라인이 마지막 라인이 아니거나
|
||||
// 인쇄할 데이터 위치가 마지막 바이트가 아닐 경우
|
||||
if ((i != end_flag - 1) || (j < rem_flag)) {
|
||||
// cFlag값은 'a'값(ASCII)일 경우, ASCII 문자로 인쇄
|
||||
if (cFlag == WCADefine.ASCII_CODE) {
|
||||
// 데이터가 인쇄할 수 있는 범위안에 있으면,
|
||||
// Character형으로 인쇄하고, 아니면 "." 문자로 대체하여 인쇄
|
||||
if ((tempData[j] > 0x1f) && (tempData[j] < 0x7e)) {
|
||||
myWriter.write(tempData[j]);
|
||||
}
|
||||
else {
|
||||
myWriter.write(".");
|
||||
}
|
||||
}
|
||||
// cFlag값은 'e'값(EBCDIC)일 경우, EBCDIC 문자를 변환하여 인쇄
|
||||
else if (cFlag == WCADefine.EBCDIC_CODE) {
|
||||
byte xx = CodeCvrt.cvrtEbc2Ksc2(tempData[j]);
|
||||
if ((xx <= 0x1f) || (xx >= 0x7e)) {
|
||||
myWriter.write(".");
|
||||
}
|
||||
else {
|
||||
myWriter.write(xx);
|
||||
}
|
||||
}
|
||||
}
|
||||
// 인쇄할 마지막 라인의 마지막 데이터를 넘겼을 경우,공백으로 인쇄
|
||||
else {
|
||||
myWriter.write(" ");
|
||||
}
|
||||
}
|
||||
|
||||
// 구분선 인쇄
|
||||
myWriter.write("|\r\n");
|
||||
}
|
||||
|
||||
myWriter.write("====================================================================\r\n\r\n");
|
||||
myWriter.flush();
|
||||
|
||||
return;
|
||||
}
|
||||
catch (Exception e) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
private void createNewFile()
|
||||
{
|
||||
/*
|
||||
try {
|
||||
if (!logPath.exists()) {
|
||||
logPath.createNewFile();
|
||||
openLogStream(logPath);
|
||||
}
|
||||
}
|
||||
catch(Exception e) { }
|
||||
*/
|
||||
}
|
||||
|
||||
/**
|
||||
* 메세지를 로그 파일에 기록(시간 정보가 포함됨)
|
||||
* @param logMsg 로그 파일에 기록할 메세지
|
||||
*/
|
||||
public void logMsg(String logMsg) {
|
||||
if (!isLogFileOpen) {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
// 파일이 존재하지 않으면 생성
|
||||
createNewFile();
|
||||
|
||||
if (myWriter == null) { return; }
|
||||
|
||||
// Format the current time.
|
||||
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd=HH:mm:ss.SSS");
|
||||
String dateString = formatter.format(ZonedDateTime.now());
|
||||
|
||||
myWriter.write(dateString + " : " + logMsg + "\r\n");
|
||||
myWriter.flush();
|
||||
}
|
||||
catch (Exception e) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 메세지를 로그 파일에 기록(시간 정보가 포함됨)
|
||||
* @param logMsg 로그 파일에 기록할 메세지
|
||||
*/
|
||||
public void logMsg(int nLogLevel, String logMsg) {
|
||||
if ((nLogLevel < this.nLogLevel) || (nLogLevel > EMERGENCY)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!isLogFileOpen) {
|
||||
return;
|
||||
}
|
||||
|
||||
nLogCnt++;
|
||||
if (nLogCnt > CHECK_LOG_CNT) {
|
||||
nLogCnt = 0;
|
||||
checkLogFileSize();
|
||||
}
|
||||
|
||||
try {
|
||||
// 파일이 존재하지 않으면 생성
|
||||
createNewFile();
|
||||
|
||||
if (myWriter == null) { return; }
|
||||
|
||||
// Format the current time
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd=HH:mm:ss.SSS");
|
||||
String dateString = formatter.format(ZonedDateTime.now());
|
||||
|
||||
myWriter.write("[" + saLogLevelMsg[nLogLevel - 1] + "] " + dateString + " : " + logMsg + "\r\n");
|
||||
myWriter.flush();
|
||||
}
|
||||
catch (Exception e) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 메세지를 로그 파일에 기록(시간 정보가 포함되지 않음)
|
||||
* @param logMsg 로그 파일에 기록할 메세지
|
||||
*/
|
||||
public void logMsg2(String logMsg) {
|
||||
if (!isLogFileOpen) {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
// 파일이 존재하지 않으면 생성
|
||||
createNewFile();
|
||||
|
||||
if (myWriter == null) { return; }
|
||||
|
||||
myWriter.write(logMsg + "\r\n");
|
||||
myWriter.flush();
|
||||
}
|
||||
catch (Exception e) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// 로그 파일과 연결된 BufferedWriter 클래스 오브젝트 생성
|
||||
private void openLogStream(File logPath) {
|
||||
try {
|
||||
if (isLogFileOpen) {
|
||||
if (myWriter != null) {
|
||||
myWriter.close();
|
||||
myWriter = null;
|
||||
}
|
||||
|
||||
isLogFileOpen = false;
|
||||
}
|
||||
|
||||
myWriter = new BufferedWriter(new FileWriter(logPath.toString(), true));
|
||||
isLogFileOpen = true;
|
||||
|
||||
logMsg("TRACE ON/OFF = " + bTrcFlag);
|
||||
logMsg("LOG LEVLE = " + nLogLevel + ", LOG SIZE = " + MAX_LOG_FILE_SIZE + "M");
|
||||
}
|
||||
catch (Exception e) {
|
||||
System.out.println("openLogStream error -"+e.toString());
|
||||
}
|
||||
}
|
||||
|
||||
public void closeLogStream() {
|
||||
try {
|
||||
if (isLogFileOpen) {
|
||||
isLogFileOpen = false;
|
||||
if (myWriter != null) {
|
||||
myWriter.close();
|
||||
myWriter = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception e) {
|
||||
System.out.println("closeLogStream error -"+e.toString());
|
||||
}
|
||||
}
|
||||
|
||||
public void setTraceOnOff(boolean bOnOff) {
|
||||
bTrcFlag = bOnOff;
|
||||
return;
|
||||
}
|
||||
|
||||
public boolean getTraceOnOff() {
|
||||
return bTrcFlag;
|
||||
}
|
||||
|
||||
public void setLogLevel(int nLogLevel) {
|
||||
this.nLogLevel = nLogLevel;
|
||||
return;
|
||||
}
|
||||
|
||||
public int getLogLevel() {
|
||||
return nLogLevel;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,444 @@
|
||||
package com.eactive.eai.adapter.wca.util;
|
||||
|
||||
import com.eactive.eai.adapter.wca.global.WCADefine;
|
||||
import com.eactive.eai.common.server.EAIServerManager;
|
||||
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* 1. 기능 :
|
||||
* 2. 처리 개요 :
|
||||
* -
|
||||
* 3. 주의사항
|
||||
* -
|
||||
*
|
||||
* @author : Administrator
|
||||
* @version : 2005. 6. 20.
|
||||
* @see :
|
||||
* @since : 2005. 6. 20. 오후 1:40:39
|
||||
*/
|
||||
public class MyUtil {
|
||||
|
||||
public synchronized static String rightPadString(String inputStr, int nDataLen, String pasStr) {
|
||||
StringBuffer returnStrBuff = new StringBuffer();
|
||||
// int nInputStrLen = inputStr.length();
|
||||
|
||||
returnStrBuff.append(inputStr);
|
||||
for(int i = 0; i < (nDataLen - inputStr.length()); i++)
|
||||
{
|
||||
returnStrBuff.append(pasStr);
|
||||
}
|
||||
|
||||
return returnStrBuff.toString();
|
||||
}
|
||||
|
||||
public static String leftPadString(String src, int cnt, String padStr) {
|
||||
String tmpValue = "";
|
||||
|
||||
src = src.trim();
|
||||
|
||||
for (int i = 0; i < (cnt - src.length()); i++) {
|
||||
tmpValue += padStr;
|
||||
|
||||
}
|
||||
return tmpValue + src;
|
||||
}
|
||||
// dataLen에 해당하는 길이 필드 byte 어레이를 조립하여 리턴
|
||||
public synchronized static byte[] getLenBuff(int nDataLen, int nBuffLen)
|
||||
{
|
||||
StringBuffer lenBuff = new StringBuffer();
|
||||
String tempDataLenStr = String.valueOf(nDataLen);
|
||||
|
||||
for(int i = 0; i < (nBuffLen - tempDataLenStr.length()); i++)
|
||||
{
|
||||
lenBuff.append("0");
|
||||
}
|
||||
|
||||
lenBuff.append(String.valueOf(nDataLen));
|
||||
|
||||
return lenBuff.toString().getBytes();
|
||||
}
|
||||
|
||||
/**
|
||||
* str에서 rep에 해당하는 String을 tok로 replace한다.
|
||||
*
|
||||
* @param str 문자열
|
||||
* @param rep 찾는 문자열
|
||||
* @param tok 변환할 문자열
|
||||
* @return String 변환된 문자열
|
||||
*/
|
||||
public static String replaceString(String str, String rep, String tok) {
|
||||
String retStr = "";
|
||||
|
||||
if (str == null || "".equals(str)) {
|
||||
return "";
|
||||
}
|
||||
|
||||
for (int i = 0, j = 0; (j = str.indexOf(rep, i)) > -1; i = j + rep.length()) {
|
||||
retStr += (str.substring(i, j) + tok);
|
||||
}
|
||||
return (str.indexOf(rep) == -1) ? str :
|
||||
retStr + str.substring(str.lastIndexOf(rep) + rep.length(), str.length());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 년월일 변환(yyyy/MM/dd)
|
||||
*
|
||||
* @param s_chkValue 변환할 문자열
|
||||
* @return 변환된 문자열
|
||||
*/
|
||||
public static String formatDate(String s_chkValue)
|
||||
{
|
||||
String s_rtnValue = "";
|
||||
String s_tmpValue = "";
|
||||
|
||||
if (s_chkValue == null) {
|
||||
return "";
|
||||
}
|
||||
|
||||
s_tmpValue = s_chkValue.trim();
|
||||
|
||||
if (s_tmpValue.equals("")) {
|
||||
return "";
|
||||
}
|
||||
|
||||
if (s_tmpValue.length() == 8 || s_tmpValue.length() == 12 ||
|
||||
s_tmpValue.length() == 14) {
|
||||
s_rtnValue = s_tmpValue.substring(0, 4) + "/" + s_tmpValue.substring(4, 6) +
|
||||
"/"
|
||||
+ s_tmpValue.substring(6, 8);
|
||||
return s_rtnValue.trim();
|
||||
}
|
||||
|
||||
return s_tmpValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* 년월일 변환(yyyy.MM.dd)
|
||||
*
|
||||
* @param s_chkValue 변환할 문자열
|
||||
* @return 변환된 문자열
|
||||
*/
|
||||
public String formatDateD(String s_chkValue)
|
||||
{
|
||||
String s_rtnValue = "";
|
||||
String s_tmpValue = "";
|
||||
|
||||
if (s_chkValue == null) {
|
||||
return "";
|
||||
}
|
||||
|
||||
s_tmpValue = s_chkValue.trim();
|
||||
|
||||
if (s_tmpValue.equals("")) {
|
||||
return "";
|
||||
}
|
||||
|
||||
if (s_tmpValue.length() == 8 || s_tmpValue.length() == 12 ||
|
||||
s_tmpValue.length() == 14) {
|
||||
s_rtnValue = s_tmpValue.substring(0, 4) + "." + s_tmpValue.substring(4, 6) +
|
||||
"."
|
||||
+ s_tmpValue.substring(6, 8);
|
||||
return s_rtnValue.trim();
|
||||
}
|
||||
|
||||
return s_tmpValue;
|
||||
}
|
||||
|
||||
public static String formatTime(String s_chkValue)
|
||||
{
|
||||
String s_rtnValue = "";
|
||||
String s_tmpValue = "";
|
||||
|
||||
if (s_chkValue == null) {
|
||||
return "";
|
||||
}
|
||||
|
||||
s_tmpValue = s_chkValue.trim();
|
||||
|
||||
if (s_tmpValue.equals("")) {
|
||||
return "";
|
||||
}
|
||||
|
||||
if (s_tmpValue.length() == 6) {
|
||||
s_rtnValue = s_tmpValue.substring(0, 2) + ":" + s_tmpValue.substring(2, 4) +
|
||||
":" + s_tmpValue.substring(4, 6);
|
||||
return s_rtnValue.trim();
|
||||
}
|
||||
|
||||
return s_tmpValue;
|
||||
}
|
||||
|
||||
public static String formatMilliTime(String s_chkValue)
|
||||
{
|
||||
String s_rtnValue = "";
|
||||
String s_tmpValue = "";
|
||||
|
||||
if (s_chkValue == null) {
|
||||
return "";
|
||||
}
|
||||
|
||||
s_tmpValue = s_chkValue.trim();
|
||||
|
||||
if (s_tmpValue.equals("")) {
|
||||
return "";
|
||||
}
|
||||
|
||||
if (s_tmpValue.length() == 8) {
|
||||
s_rtnValue = s_tmpValue.substring(0, 2) + ":" + s_tmpValue.substring(2, 4) +
|
||||
":" + s_tmpValue.substring(4, 6) + "." + s_tmpValue.substring(6, 8);
|
||||
return s_rtnValue.trim();
|
||||
}
|
||||
|
||||
return s_tmpValue;
|
||||
}
|
||||
|
||||
// 바이트값을 헥사 스트링으로 변환할때 자리수를 맞추기 위해 "0"을 패딩
|
||||
public static String pad0(String str, int size)
|
||||
{
|
||||
char[] zeros = new char[size - str.length()];
|
||||
|
||||
for(int i = 0; i < zeros.length; i++ )
|
||||
{
|
||||
zeros[i] = '0';
|
||||
}
|
||||
|
||||
return new String(zeros) + str;
|
||||
}
|
||||
|
||||
// 바이트값을 헥사 스트링으로 변환
|
||||
public static String toHex(byte[] codes)
|
||||
{
|
||||
if(codes.length == 0)
|
||||
return "";
|
||||
|
||||
String hex = pad0(Integer.toHexString(codes[0] & 0xff), 2);
|
||||
|
||||
for( int i = 1; i < codes.length; i++ )
|
||||
hex += " " + pad0( Integer.toHexString(codes[i] & 0xff), 2);
|
||||
return hex;
|
||||
}
|
||||
|
||||
// 바이트값을 헥사 스트링으로 변환
|
||||
public static String toHex3(byte codes)
|
||||
{
|
||||
String hex = pad0(Integer.toHexString(codes & 0xff), 2);
|
||||
return hex;
|
||||
}
|
||||
|
||||
// 바이트 어레이를 복사
|
||||
public static void memcpy(byte[] dst, byte[] src, int a, int b, int len)
|
||||
{
|
||||
for(int i = 0; i < len; i++)
|
||||
{
|
||||
dst[i + a] = src[i + b];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : 호스트 이름이 같은지 판단
|
||||
* 2. 처리 개요 :
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sHostName 호스트 이름
|
||||
* @return 로컬 호스트 여부 (true/false)
|
||||
**/
|
||||
public static boolean isLocalHostName(String sHostName)
|
||||
{
|
||||
try{
|
||||
String sLocalHostName = EAIServerManager.getInstance().getLocalServerHostName();
|
||||
if (sHostName.equals(sLocalHostName))
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}catch (Exception e){
|
||||
// System.out.println("isLocalHostName error - " + sHostName);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static String printBytes(char cFlag, int nDataLen, byte[] bDataBuff)
|
||||
{
|
||||
int i, j;
|
||||
int end_flag; // 출력할 라인 수
|
||||
int rem_flag; // 맨 마지막줄의 출력할 데이터 길이
|
||||
int nRemainDataLen = 0;
|
||||
byte[] tempData = null;
|
||||
int tempLen = 0;
|
||||
|
||||
StringBuffer sb_print = new StringBuffer();
|
||||
|
||||
tempData = new byte[16];
|
||||
|
||||
try {
|
||||
|
||||
|
||||
sb_print.append("\r\n====================================================================\r\n");
|
||||
|
||||
// Format the current time.
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd=hh:mm:ss");
|
||||
String dateString = formatter.format(ZonedDateTime.now());
|
||||
|
||||
|
||||
sb_print.append(dateString + " : " + "Data Length = " + nDataLen + "\r\n");
|
||||
|
||||
// 출력할 라인 수 계산
|
||||
end_flag = nDataLen / 16;
|
||||
if((nDataLen % 16) != 0)
|
||||
{
|
||||
end_flag++;
|
||||
}
|
||||
|
||||
// 맨 마지막줄의 출력할 데이터 길이 계산
|
||||
rem_flag = nDataLen - (16 * (end_flag - 1));
|
||||
|
||||
nRemainDataLen = nDataLen;
|
||||
|
||||
// 매 라인마다 인쇄루틴 For 루프
|
||||
for(i = 0; i < end_flag; i++)
|
||||
{
|
||||
int nTempLen = i * 16;
|
||||
|
||||
// 데이터 수를 문자열로 변환
|
||||
String strLength = Integer.toString(nTempLen);
|
||||
int strLen = strLength.length();
|
||||
|
||||
strLen = 6 - strLen;
|
||||
|
||||
for(int x = 0; x < strLen; x++)
|
||||
sb_print.append("0");
|
||||
|
||||
sb_print.append(strLength);
|
||||
|
||||
// 넘겨받은 데이터에서 16바이씩 잘라서 복사
|
||||
// Bug!!!
|
||||
if(nRemainDataLen > 16)
|
||||
{
|
||||
memcpy(tempData, bDataBuff, 0, i * 16, 16);
|
||||
tempLen = 16;
|
||||
nRemainDataLen -= 16;
|
||||
}
|
||||
else
|
||||
{
|
||||
memcpy(tempData, bDataBuff, 0, i * 16, nRemainDataLen);
|
||||
tempLen = nRemainDataLen;
|
||||
}
|
||||
|
||||
for(j = 0; j < 16; j++)
|
||||
{
|
||||
if((j % 4) == 0)
|
||||
{
|
||||
sb_print.append(" ");
|
||||
}
|
||||
|
||||
// 인쇄할 라인이 마지막 라인이 아니거나
|
||||
// 인쇄할 데이터 위치가 마지막 바이트가 아닐 경우
|
||||
if((i != (end_flag - 1)) || (j < rem_flag))
|
||||
{
|
||||
sb_print.append(toHex3(tempData[j]));
|
||||
}
|
||||
else
|
||||
{
|
||||
sb_print.append(" ");
|
||||
}
|
||||
}
|
||||
|
||||
sb_print.append(" |");
|
||||
|
||||
// 라인별로 데이터에 해당하는 문자열 인쇄
|
||||
for(j = 0; j < 16; j++)
|
||||
{
|
||||
// 인쇄할 라인이 마지막 라인이 아니거나
|
||||
// 인쇄할 데이터 위치가 마지막 바이트가 아닐 경우
|
||||
if((i != end_flag - 1) || (j < rem_flag))
|
||||
{
|
||||
// cFlag값은 'a'값(ASCII)일 경우, ASCII 문자로 인쇄
|
||||
if(cFlag == WCADefine.ASCII_CODE)
|
||||
{
|
||||
// 데이터가 인쇄할 수 있는 범위안에 있으면,
|
||||
// Character형으로 인쇄하고, 아니면 "." 문자로 대체하여 인쇄
|
||||
if((tempData[j] > 0x1f) && (tempData[j] < 0x7e))
|
||||
{
|
||||
sb_print.append(tempData[j]);
|
||||
}
|
||||
else
|
||||
{
|
||||
sb_print.append(".");
|
||||
}
|
||||
}
|
||||
// cFlag값은 'e'값(EBCDIC)일 경우, EBCDIC 문자를 변환하여 인쇄
|
||||
else if(cFlag == WCADefine.EBCDIC_CODE)
|
||||
{
|
||||
byte xx = CodeCvrt.cvrtEbc2Ksc2(tempData[j]);
|
||||
if((xx <= 0x1f) || (xx >= 0x7e))
|
||||
sb_print.append(".");
|
||||
else
|
||||
sb_print.append(xx);
|
||||
}
|
||||
}
|
||||
// 인쇄할 마지막 라인의 마지막 데이터를 넘겼을 경우,공백으로 인쇄
|
||||
else
|
||||
{
|
||||
sb_print.append(" ");
|
||||
}
|
||||
}
|
||||
|
||||
// 구분선 인쇄
|
||||
sb_print.append("|\r\n");
|
||||
}
|
||||
|
||||
sb_print.append("====================================================================\r\n\r\n");
|
||||
|
||||
return sb_print.toString();
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
// 20090810 Start
|
||||
/**
|
||||
* s_data를 s_delim 으로 파싱하여 ArrayList에 저장
|
||||
*/
|
||||
public static ArrayList stringTokenizer(String s_data, String s_delim)
|
||||
{
|
||||
int i_pos = 0;
|
||||
int i_strt = 0;
|
||||
ArrayList al_token = new ArrayList();
|
||||
String s_temp_str = null;
|
||||
|
||||
if(s_data.equals(""))
|
||||
return null;
|
||||
|
||||
for(i_strt = 0; i_strt < s_data.length(); )
|
||||
{
|
||||
if ( (i_pos += s_data.substring(i_strt).indexOf(s_delim)) > 0 ) //s_delim 위치 값 구하기
|
||||
{
|
||||
if (i_strt > i_pos) break;// overflow
|
||||
|
||||
|
||||
s_temp_str = s_data.substring(i_strt, i_pos);
|
||||
if (s_temp_str == null) s_temp_str = "";
|
||||
|
||||
al_token.add(s_temp_str);
|
||||
|
||||
i_pos += s_delim.length();
|
||||
i_strt = i_pos ;
|
||||
}
|
||||
else
|
||||
break;
|
||||
}
|
||||
|
||||
// 구분자가 끝에 없을 경우
|
||||
s_temp_str = s_data.substring(i_strt);
|
||||
if(s_temp_str != null && !s_temp_str.equals(""))
|
||||
al_token.add(s_temp_str);
|
||||
|
||||
return al_token;
|
||||
}
|
||||
// 20090810 End
|
||||
}
|
||||
@@ -0,0 +1,387 @@
|
||||
package com.eactive.eai.adapter.wca.util;
|
||||
|
||||
import com.eactive.eai.adapter.wca.exception.WCAException;
|
||||
import com.eactive.eai.adapter.wca.global.WCADefine;
|
||||
import com.eactive.eai.adapter.wca.servlet.TableInfoEx;
|
||||
import com.eactive.eai.common.property.PropManager;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* 1. 기능 : 프로세스를 생성하여 명령어 실행
|
||||
* 2. 처리 개요 :
|
||||
* - 독립적인 프로세스로 명령어를 실행한다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @author :
|
||||
* @version :
|
||||
* @see :
|
||||
* @since :
|
||||
*/
|
||||
public class RuntimeUtil
|
||||
{
|
||||
/**
|
||||
* RuntimeUtil Single Instance
|
||||
*/
|
||||
static RuntimeUtil instance = new RuntimeUtil();
|
||||
|
||||
Logger trc_logger = Logger.getLogger(Logger.LOGGER_ADAPTER);
|
||||
|
||||
/**
|
||||
* 1. 기능 : RuntimeUtil Singleton Object 반환
|
||||
* 2. 처리 개요 : RuntimeUtil Singleton Object 반환한다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @return RuntimeUtil Singleton object
|
||||
**/
|
||||
public static RuntimeUtil getInstance(){
|
||||
return instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Softman과 command 전송을 위해 프로세스를 생성하여 command를 실행
|
||||
* 2. 처리 개요 :
|
||||
* - 파라미터로 받은 명령어를 실행한다.
|
||||
* - 실행결과가 "정상"이 아닐경우만 결과를 반환한다.
|
||||
* --> 호출하고 실행결과는 받지 않도록 수정.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param shell 명령어
|
||||
* @return 실행 결과
|
||||
**/
|
||||
public String runTimeProcEx(String shell) throws IOException
|
||||
{
|
||||
StringBuffer sbResult = new StringBuffer();
|
||||
BufferedReader br = null;
|
||||
BufferedReader errBr = null;
|
||||
// String sResultData;
|
||||
|
||||
Runtime rt = Runtime.getRuntime();
|
||||
Process o_process = null;
|
||||
|
||||
try {
|
||||
o_process = rt.exec(shell);
|
||||
rt.runFinalization();
|
||||
return sbResult.toString();
|
||||
}
|
||||
catch(IOException e)
|
||||
{
|
||||
// System.out.println("runTimeProcEx> Exception Msg = " + e.toString());
|
||||
// e.printStackTrace();
|
||||
throw e;
|
||||
}
|
||||
/*
|
||||
catch(java.lang.InterruptedException i)
|
||||
{
|
||||
throw new WCAException(WCAException.E_PROCESS_CALL, i.toString());
|
||||
}
|
||||
*/
|
||||
finally {
|
||||
try {
|
||||
if (br != null) br.close();
|
||||
if (errBr != null) errBr.close();
|
||||
//if (o_process != null) o_process.destroy();
|
||||
} catch(Exception e) {}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Softman과 command 전송을 위해 프로세스를 생성하여 command를 실행
|
||||
* 2. 처리 개요 :
|
||||
* - 파라미터로 받은 명령어를 실행한다.
|
||||
* - 실행결과가 "정상"이 아닐경우만 결과를 반환한다.
|
||||
* --> 호출하고 실행결과는 받지 않도록 수정.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param shell 명령어
|
||||
* @return 실행 결과
|
||||
**/
|
||||
public String runTimeProc(String shell) throws WCAException
|
||||
{
|
||||
StringBuffer sbResult = new StringBuffer();
|
||||
BufferedReader br = null;
|
||||
BufferedReader errBr = null;
|
||||
// String sResultData;
|
||||
|
||||
Runtime rt = Runtime.getRuntime();
|
||||
Process o_process = null;
|
||||
|
||||
try {
|
||||
o_process = rt.exec(shell);
|
||||
/* (2005/12/01)
|
||||
* 호출만하고 실행결과는 받지 않도록 수정
|
||||
* (softman에서 다른 프로세스를 fork 시키므로 결과 return 안함)
|
||||
*/
|
||||
/*
|
||||
errBr = new BufferedReader(new InputStreamReader(o_process.getErrorStream()));
|
||||
while (errBr.ready())
|
||||
{
|
||||
sResultData = errBr.readLine();
|
||||
if(trc_logger.isDebug()) trc_logger.debug("error recv data : " + sResultData);
|
||||
sbResult.append(sResultData + "\n");
|
||||
}
|
||||
int exitVal = o_process.waitFor();
|
||||
if(trc_logger.isDebug()) trc_logger.debug("Process Exit Value : " + exitVal);
|
||||
if (exitVal == 0)
|
||||
{
|
||||
br = new BufferedReader(new InputStreamReader(o_process.getInputStream()));
|
||||
while((sResultData = br.readLine()) != null)
|
||||
{
|
||||
if (!sResultData.trim().equals(""))
|
||||
{
|
||||
if(trc_logger.isDebug()) trc_logger.debug("recv data : " + sResultData);
|
||||
if(sResultData.indexOf("정상") == -1) // 정상처리가 아닌경우
|
||||
sbResult.append(sResultData + "\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
rt.runFinalization();
|
||||
return sbResult.toString();
|
||||
}
|
||||
catch(IOException e)
|
||||
{
|
||||
throw new WCAException(WCAException.E_PROCESS_CALL, e.toString());
|
||||
}
|
||||
/*
|
||||
catch(java.lang.InterruptedException i)
|
||||
{
|
||||
throw new WCAException(WCAException.E_PROCESS_CALL, i.toString());
|
||||
}
|
||||
*/
|
||||
finally {
|
||||
try {
|
||||
if (br != null) br.close();
|
||||
if (errBr != null) errBr.close();
|
||||
//if (o_process != null) o_process.destroy();
|
||||
} catch(Exception e) {}
|
||||
}
|
||||
}
|
||||
|
||||
// 20080612 Start
|
||||
/**
|
||||
* 1. 기능 : 특정 노드의 Softlink 전체 설정 정보 디시 로드
|
||||
* 2. 처리 개요 :
|
||||
* - 프로퍼티 정보에서 softlink 홈디렉토리 get하여 명령어 수행 (SnaUpdateCfg -a)
|
||||
* - 에러 발생시 그 메세지를 exception으로 발생시킨다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @exception WCAException
|
||||
**/
|
||||
public void notifyAllSoftlink(String sSoftlinkHome, String sIP) throws IOException
|
||||
{
|
||||
try {
|
||||
StringBuffer sbCommand = new StringBuffer();
|
||||
|
||||
// String sSoftlinkHome = PropManager.getInstance().getProperty(TableInfo.T_SNAADPTER_PROP_GROUP_NAME, "softlink.home");
|
||||
|
||||
sbCommand.append(sSoftlinkHome + "/bin" + WCADefine.SOFTLINK_CFG_UPDATE_COMMAND + " -a -host " + sIP);
|
||||
|
||||
// if(trc_logger.isInfo()) trc_logger.info(sbCommand.toString() + " is excuting");
|
||||
// System.out.println("notifyAllSoftlink> Command = " + sbCommand.toString());
|
||||
runTimeProcEx(sbCommand.toString());
|
||||
}
|
||||
catch(IOException e) {
|
||||
// System.out.println("notifyAllSoftlink> Exception Msg = " + e.toString());
|
||||
// e.printStackTrace();
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
// 20080612 End
|
||||
|
||||
// 20080827 Start
|
||||
/**
|
||||
* 1. 기능 : 특정 노드의 Softlink 전체 설정 정보 디시 로드
|
||||
* 2. 처리 개요 :
|
||||
* - 프로퍼티 정보에서 softlink 홈디렉토리 get하여 명령어 수행 (SnaUpdateCfg -a)
|
||||
* - 에러 발생시 그 메세지를 exception으로 발생시킨다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @exception WCAException
|
||||
**/
|
||||
public void notifyAllSoftlink(String sSoftlinkHome, String sIP, String sAdapterGroupName, String sLuGroupName) throws IOException
|
||||
{
|
||||
try {
|
||||
StringBuffer sbCommand = new StringBuffer();
|
||||
|
||||
// String sSoftlinkHome = PropManager.getInstance().getProperty(TableInfo.T_SNAADPTER_PROP_GROUP_NAME, "softlink.home");
|
||||
|
||||
sbCommand.append(sSoftlinkHome + "/bin" + WCADefine.SOFTLINK_CFG_UPDATE_COMMAND + " -t " + sAdapterGroupName + " -g " + sLuGroupName + " -host " + sIP);
|
||||
|
||||
// if(trc_logger.isInfo()) trc_logger.info(sbCommand.toString() + " is excuting");
|
||||
// System.out.println("notifyAllSoftlink> Command = " + sbCommand.toString());
|
||||
runTimeProcEx(sbCommand.toString());
|
||||
}
|
||||
catch(IOException e) {
|
||||
// System.out.println("notifyAllSoftlink> Exception Msg = " + e.toString());
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
// 20080827 End
|
||||
|
||||
|
||||
/**
|
||||
* 1. 기능 : Softlink 전체 설정 정보 디시 로드
|
||||
* 2. 처리 개요 :
|
||||
* - 프로퍼티 정보에서 softlink 홈디렉토리 get하여 명령어 수행 (SnaUpdateCfg -a)
|
||||
* - 에러 발생시 그 메세지를 exception으로 발생시킨다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @exception WCAException
|
||||
**/
|
||||
public void notifyAllSoftlink() throws WCAException
|
||||
{
|
||||
String sResult;
|
||||
|
||||
try
|
||||
{
|
||||
StringBuffer sbCommand = new StringBuffer();
|
||||
String sSoftlinkHome = PropManager.getInstance().getProperty(TableInfoEx.T_SNAADPTER_PROP_GROUP_NAME, "softlink.home");
|
||||
|
||||
sbCommand.append(sSoftlinkHome + "/bin" + WCADefine.SOFTLINK_CFG_UPDATE_COMMAND + " -a");
|
||||
|
||||
if(trc_logger.isInfo()) trc_logger.info(sbCommand.toString() + " is excuting");
|
||||
sResult = runTimeProc(sbCommand.toString());
|
||||
if(trc_logger.isDebug()) trc_logger.debug(sResult);
|
||||
}
|
||||
catch(WCAException e)
|
||||
{
|
||||
//e.printStackTrace();
|
||||
WCAException exception = new WCAException();
|
||||
exception.setMessage(e.toString());
|
||||
throw exception;
|
||||
}
|
||||
|
||||
if (sResult.length()>0) // 정상이 아닐경우
|
||||
{
|
||||
WCAException exception = new WCAException();
|
||||
exception.setMessage(sResult);
|
||||
throw exception;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Softlink 해당 그룹에 설정 정보 디시 로드
|
||||
* 2. 처리 개요 :
|
||||
* - 프로퍼티 정보에서 softlink 홈디렉토리 get하여 명령어 수행
|
||||
* (SnaUpdateCfg -a -t 어댑터 그룹 이름 -g LU 그룹 이름)
|
||||
* - 에러 발생시 그 메세지를 exception으로 발생시킨다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @param sAdapterGrpName 어댑터 그룹 이름
|
||||
* @param sGroupCode LU 그룹 이름
|
||||
* @exception WCAException
|
||||
**/
|
||||
public void notifySoftlink(String sAdapterGrpName, String sGroupCode) throws WCAException
|
||||
{
|
||||
String sResult;
|
||||
|
||||
try
|
||||
{
|
||||
StringBuffer sbCommand = new StringBuffer();
|
||||
String sSoftlinkHome = PropManager.getInstance().getProperty(TableInfoEx.T_SNAADPTER_PROP_GROUP_NAME, "softlink.home");
|
||||
|
||||
sbCommand.append(sSoftlinkHome + "/bin" + WCADefine.SOFTLINK_CFG_UPDATE_COMMAND)
|
||||
.append(" -t " + sAdapterGrpName + " -g " + sGroupCode);
|
||||
if(trc_logger.isInfo()) trc_logger.info(sbCommand.toString() + " is excuting");
|
||||
sResult = runTimeProc(sbCommand.toString());
|
||||
if(trc_logger.isDebug()) trc_logger.debug(sResult);
|
||||
}
|
||||
catch(WCAException e)
|
||||
{
|
||||
//e.printStackTrace();
|
||||
WCAException exception = new WCAException();
|
||||
exception.setMessage(e.toString());
|
||||
throw exception;
|
||||
}
|
||||
|
||||
if (sResult.length()>0) // 정상이 아닐경우
|
||||
{
|
||||
WCAException exception = new WCAException();
|
||||
exception.setMessage(sResult);
|
||||
throw exception;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Softlink 시작
|
||||
* 2. 처리 개요 :
|
||||
* - 프로퍼티 정보에서 softlink 홈디렉토리 get하여 명령어 수행
|
||||
* (SnaStart -a)
|
||||
* - 에러 발생시 그 메세지를 exception으로 발생시킨다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @exception WCAException
|
||||
**/
|
||||
public void startSoftlink() throws WCAException
|
||||
{
|
||||
String sResult;
|
||||
|
||||
try
|
||||
{
|
||||
StringBuffer sbCommand = new StringBuffer();
|
||||
String sSoftlinkHome = PropManager.getInstance().getProperty(TableInfoEx.T_SNAADPTER_PROP_GROUP_NAME, "softlink.home");
|
||||
|
||||
sbCommand.append(sSoftlinkHome + "/bin" + WCADefine.SOFTLINK_START_COMMAND);
|
||||
if(trc_logger.isInfo()) trc_logger.info(sbCommand.toString() + " is excuting");
|
||||
sResult = runTimeProc(sbCommand.toString());
|
||||
if(trc_logger.isDebug()) trc_logger.debug(sResult);
|
||||
}
|
||||
catch(WCAException e)
|
||||
{
|
||||
WCAException exception = new WCAException();
|
||||
exception.setMessage(e.toString());
|
||||
throw exception;
|
||||
}
|
||||
|
||||
if (sResult.length()>0) // 정상이 아닐경우
|
||||
{
|
||||
WCAException exception = new WCAException();
|
||||
exception.setMessage(sResult);
|
||||
throw exception;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Softlink 종료
|
||||
* 2. 처리 개요 :
|
||||
* - 프로퍼티 정보에서 softlink 홈디렉토리 get하여 명령어 수행
|
||||
* (SnaStop -a)
|
||||
* - 에러 발생시 그 메세지를 exception으로 발생시킨다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @exception WCAException
|
||||
**/
|
||||
public void stopSoftlink() throws WCAException
|
||||
{
|
||||
String sResult;
|
||||
|
||||
try
|
||||
{
|
||||
StringBuffer sbCommand = new StringBuffer();
|
||||
String sSoftlinkHome = PropManager.getInstance().getProperty(TableInfoEx.T_SNAADPTER_PROP_GROUP_NAME, "softlink.home");
|
||||
|
||||
sbCommand.append(sSoftlinkHome + "/bin" + WCADefine.SOFTLINK_STOP_COMMAND + " -a ");
|
||||
if(trc_logger.isInfo()) trc_logger.info(sbCommand.toString() + " is excuting");
|
||||
sResult = runTimeProc(sbCommand.toString());
|
||||
if(trc_logger.isDebug()) trc_logger.debug(sResult);
|
||||
}
|
||||
catch(WCAException e)
|
||||
{
|
||||
//e.printStackTrace();
|
||||
WCAException exception = new WCAException();
|
||||
exception.setMessage(e.toString());
|
||||
throw exception;
|
||||
}
|
||||
|
||||
if (sResult.length()>0) // 정상이 아닐경우
|
||||
{
|
||||
WCAException exception = new WCAException();
|
||||
exception.setMessage(sResult);
|
||||
throw exception;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,431 @@
|
||||
package com.eactive.eai.adapter.wca.util;
|
||||
|
||||
import com.eactive.eai.adapter.wca.exception.WCAException;
|
||||
import com.eactive.eai.adapter.wca.global.WCADefine;
|
||||
import com.eactive.eai.adapter.wca.jdbc.CommonJDBC;
|
||||
import com.eactive.eai.adapter.wca.jdbc.JDBCFactory;
|
||||
import com.eactive.eai.adapter.wca.jdbc.SQLData;
|
||||
import com.eactive.eai.adapter.wca.servlet.TableInfoEx;
|
||||
import com.eactive.eai.common.util.Logger;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
|
||||
public class SNAAgentUtil {
|
||||
static Logger logger = Logger.getLogger(Logger.LOGGER_DEFAULT);
|
||||
static Logger trc_logger = Logger.getLogger(Logger.LOGGER_ADAPTER);
|
||||
/**
|
||||
* SNAAdapter critical한 정보 로깅을 위한 logger
|
||||
*/
|
||||
static Logger adapter_logger = Logger.getLogger(WCADefine.ADAPTER_LOGGER_NAME);
|
||||
|
||||
/**
|
||||
* 1. 기능 : Softlink 전체 설정 정보 디시 로드
|
||||
* 2. 처리 개요 :
|
||||
* - 프로퍼티 정보에서 softlink 홈디렉토리 get하여 명령어 수행 (SnaUpdateCfg -a)
|
||||
* - 에러 발생시 그 메세지를 exception으로 발생시킨다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @exception WCAException
|
||||
**/
|
||||
public static void notifyAllSoftlinkNode() throws WCAException
|
||||
{
|
||||
// String sResult;
|
||||
HashMap nodes = null;
|
||||
String sSoftLinkHome = null;
|
||||
try
|
||||
{
|
||||
nodes = getAllSoftlinkNodeInfo();
|
||||
if(nodes == null) {
|
||||
logger.info("notifyAllSoftlinkNode> getAllSoftlinkNodeInfo Return NULL, So Return");
|
||||
return;
|
||||
}
|
||||
|
||||
sSoftLinkHome = getSoftLinkHome();
|
||||
logger.info("notifyAllSoftlinkNode> SoftLink Home = " + sSoftLinkHome);
|
||||
|
||||
if(nodes.isEmpty() == true) {
|
||||
logger.info("notifyAllSoftlinkNode> SoftLink Node Info HashMap is Empty, So Return");
|
||||
return;
|
||||
}
|
||||
|
||||
Iterator it = nodes.keySet().iterator();
|
||||
|
||||
String svrName = "";
|
||||
String svrIP = "";
|
||||
|
||||
while(it.hasNext()){
|
||||
svrName = (String)it.next();
|
||||
svrIP = (String) nodes.get(svrName);
|
||||
|
||||
try {
|
||||
/*
|
||||
if(adapter_logger.isWarn())
|
||||
adapter_logger.warn("notifyAllSoftlinkNode> Notify : " + svrName + ", " + svrIP);
|
||||
*/
|
||||
logger.info("notifyAllSoftlinkNode> Notify : " + svrName + ", " + svrIP);
|
||||
|
||||
RuntimeUtil.getInstance().notifyAllSoftlink(sSoftLinkHome, svrIP);
|
||||
}
|
||||
catch (Exception e) {
|
||||
logger.info("SNAAgentUtil] broadcast Excpetion - " + svrName + "(" + svrIP + ") : "+ e.toString());
|
||||
/*
|
||||
logger.error("SNAAgentUtil] broadcast Excpetion - "+svrName + "(" + svrIP + ") : "+ e.toString());
|
||||
if(adapter_logger.isWarn())
|
||||
adapter_logger.warn("notifyAllSoftlinkNode> Notify : " + svrName + ", " + svrIP + ", Msg = " + e.toString());
|
||||
*/
|
||||
}
|
||||
}
|
||||
}
|
||||
catch(WCAException e) {
|
||||
logger.info("notifyAllSoftlinkNode> Exception Msg = " + e.toString());
|
||||
// e.printStackTrace();
|
||||
/*
|
||||
WCAException exception = new WCAException();
|
||||
exception.setMessage(e.toString());
|
||||
|
||||
if(adapter_logger.isWarn())
|
||||
adapter_logger.warn("notifyAllSoftlinkNode> Exception Msg = " + e.toString());
|
||||
throw exception;
|
||||
*/
|
||||
}
|
||||
catch(Exception e) {
|
||||
logger.info("notifyAllSoftlinkNode> Exception Msg = " + e.toString());
|
||||
// e.printStackTrace();
|
||||
/*
|
||||
WCAException exception = new WCAException();
|
||||
exception.setMessage(e.toString());
|
||||
if(adapter_logger.isWarn())
|
||||
adapter_logger.warn("notifyAllSoftlinkNode> Exception Msg = " + e.toString());
|
||||
throw exception;
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. 기능 : Softlink 전체 설정 정보 디시 로드
|
||||
* 2. 처리 개요 :
|
||||
* - 프로퍼티 정보에서 softlink 홈디렉토리 get하여 명령어 수행 (SnaUpdateCfg -a)
|
||||
* - 에러 발생시 그 메세지를 exception으로 발생시킨다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @exception WCAException
|
||||
**/
|
||||
public static void notifySoftlinkNode(String sHostName) throws WCAException
|
||||
{
|
||||
// String sResult;
|
||||
HashMap nodes = null;
|
||||
String sSoftLinkHome = null;
|
||||
try
|
||||
{
|
||||
nodes = getSoftlinkNodeInfo(sHostName);
|
||||
if(nodes == null) {
|
||||
logger.info("notifySoftlinkNode> getAllSoftlinkNodeInfo Return NULL, So Return");
|
||||
return;
|
||||
}
|
||||
|
||||
sSoftLinkHome = getSoftLinkHome();
|
||||
logger.info("notifySoftlinkNode> SoftLink Home = " + sSoftLinkHome);
|
||||
|
||||
if(nodes.isEmpty() == true) {
|
||||
logger.info("notifySoftlinkNode> SoftLink Node Info HashMap is Empty, So Return");
|
||||
return;
|
||||
}
|
||||
|
||||
Iterator it = nodes.keySet().iterator();
|
||||
|
||||
String svrName = "";
|
||||
String svrIP = "";
|
||||
|
||||
while(it.hasNext()){
|
||||
svrName = (String)it.next();
|
||||
svrIP = (String) nodes.get(svrName);
|
||||
|
||||
try {
|
||||
/*
|
||||
if(adapter_logger.isWarn())
|
||||
adapter_logger.warn("notifySoftlinkNode> Notify : " + svrName + ", " + svrIP);
|
||||
*/
|
||||
logger.info("notifySoftlinkNode> Notify : " + svrName + ", " + svrIP);
|
||||
|
||||
RuntimeUtil.getInstance().notifyAllSoftlink(sSoftLinkHome, svrIP);
|
||||
}
|
||||
catch (Exception e) {
|
||||
logger.error("SNAAgentUtil] broadcast Excpetion - ", e);
|
||||
logger.info("SNAAgentUtil] broadcast Excpetion - " + svrName + "(" + svrIP + ") : ");
|
||||
/*
|
||||
logger.error("SNAAgentUtil] broadcast Excpetion - "+svrName + "(" + svrIP + ") : "+ e.toString());
|
||||
if(adapter_logger.isWarn())
|
||||
adapter_logger.warn("notifySoftlinkNode> Notify : " + svrName + ", " + svrIP + ", Msg = " + e.toString());
|
||||
*/
|
||||
}
|
||||
}
|
||||
}
|
||||
catch(WCAException e) {
|
||||
logger.info("notifySoftlinkNode> Exception Msg = " + e.toString());
|
||||
// e.printStackTrace();
|
||||
/*
|
||||
WCAException exception = new WCAException();
|
||||
exception.setMessage(e.toString());
|
||||
|
||||
if(adapter_logger.isWarn())
|
||||
adapter_logger.warn("notifySoftlinkNode> Exception Msg = " + e.toString());
|
||||
throw exception;
|
||||
*/
|
||||
}
|
||||
catch(Exception e) {
|
||||
logger.info("notifySoftlinkNode> Exception Msg = " + e.toString());
|
||||
// e.printStackTrace();
|
||||
/*
|
||||
WCAException exception = new WCAException();
|
||||
exception.setMessage(e.toString());
|
||||
if(adapter_logger.isWarn())
|
||||
adapter_logger.warn("notifyAllSoftlinkNode> Exception Msg = " + e.toString());
|
||||
throw exception;
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
// 20080827 Start
|
||||
/**
|
||||
* 1. 기능 : Softlink 전체 설정 정보 디시 로드
|
||||
* 2. 처리 개요 :
|
||||
* - 프로퍼티 정보에서 softlink 홈디렉토리 get하여 명령어 수행 (SnaUpdateCfg -a)
|
||||
* - 에러 발생시 그 메세지를 exception으로 발생시킨다.
|
||||
* 3. 주의사항
|
||||
*
|
||||
* @exception WCAException
|
||||
**/
|
||||
public static void notifySoftlinkNode(String sHostName, String sAdapterGroupName, String sLuGroupName) throws WCAException
|
||||
{
|
||||
// String sResult;
|
||||
HashMap nodes = null;
|
||||
String sSoftLinkHome = null;
|
||||
try
|
||||
{
|
||||
nodes = getSoftlinkNodeInfo(sHostName);
|
||||
if(nodes == null) {
|
||||
logger.info("notifySoftlinkNode> getAllSoftlinkNodeInfo Return NULL, So Return");
|
||||
return;
|
||||
}
|
||||
|
||||
sSoftLinkHome = getSoftLinkHome();
|
||||
logger.info("notifySoftlinkNode> SoftLink Home = " + sSoftLinkHome);
|
||||
|
||||
if(nodes.isEmpty() == true) {
|
||||
logger.info("notifySoftlinkNode> SoftLink Node Info HashMap is Empty, So Return");
|
||||
return;
|
||||
}
|
||||
|
||||
Iterator it = nodes.keySet().iterator();
|
||||
|
||||
String svrName = "";
|
||||
String svrIP = "";
|
||||
|
||||
while(it.hasNext()){
|
||||
svrName = (String)it.next();
|
||||
svrIP = (String) nodes.get(svrName);
|
||||
|
||||
try {
|
||||
/*
|
||||
if(adapter_logger.isWarn())
|
||||
adapter_logger.warn("notifySoftlinkNode> Notify : " + svrName + ", " + svrIP);
|
||||
*/
|
||||
logger.info("notifySoftlinkNode> Notify : " + svrName + ", " + svrIP);
|
||||
|
||||
RuntimeUtil.getInstance().notifyAllSoftlink(sSoftLinkHome, svrIP, sAdapterGroupName, sLuGroupName);
|
||||
}
|
||||
catch (Exception e) {
|
||||
logger.info("SNAAgentUtil] broadcast Excpetion - " + svrName + "(" + svrIP + ") : "+ e.toString());
|
||||
/*
|
||||
logger.error("SNAAgentUtil] broadcast Excpetion - "+svrName + "(" + svrIP + ") : "+ e.toString());
|
||||
if(adapter_logger.isWarn())
|
||||
adapter_logger.warn("notifySoftlinkNode> Notify : " + svrName + ", " + svrIP + ", Msg = " + e.toString());
|
||||
*/
|
||||
}
|
||||
}
|
||||
}
|
||||
catch(WCAException e) {
|
||||
logger.info("notifySoftlinkNode> Exception Msg = " + e.toString());
|
||||
// e.printStackTrace();
|
||||
/*
|
||||
WCAException exception = new WCAException();
|
||||
exception.setMessage(e.toString());
|
||||
|
||||
if(adapter_logger.isWarn())
|
||||
adapter_logger.warn("notifySoftlinkNode> Exception Msg = " + e.toString());
|
||||
throw exception;
|
||||
*/
|
||||
}
|
||||
catch(Exception e) {
|
||||
logger.info("notifySoftlinkNode> Exception Msg = " + e.toString());
|
||||
/*
|
||||
WCAException exception = new WCAException();
|
||||
exception.setMessage(e.toString());
|
||||
if(adapter_logger.isWarn())
|
||||
adapter_logger.warn("notifyAllSoftlinkNode> Exception Msg = " + e.toString());
|
||||
throw exception;
|
||||
*/
|
||||
}
|
||||
}
|
||||
// 2080827 End
|
||||
|
||||
private static String getSoftLinkHome() throws Exception {
|
||||
StringBuffer sbQuery = new StringBuffer();
|
||||
String sSoftLinkHome = "/fsapp/eai/SNAAdapter";
|
||||
try {
|
||||
sbQuery.append( "SELECT PRPTY2VAL " +
|
||||
" FROM " + TableInfoEx.T_LU_PROPS +
|
||||
" WHERE PRPTYGROUPNAME = '"+ TableInfoEx.T_SOFTLINK_PROP_GRP_NAME + "' AND " +
|
||||
" PRPTYNAME = 'softlink.home'");
|
||||
|
||||
logger.info("getSoftLinkHome> Query =" + sbQuery.toString());
|
||||
|
||||
JDBCFactory factory = JDBCFactory.newInstance();
|
||||
CommonJDBC common = (CommonJDBC)factory.create(CommonJDBC.class);
|
||||
SQLData data = common.select(sbQuery.toString());
|
||||
|
||||
int nRsltCnt = 0;
|
||||
if(data != null) {
|
||||
nRsltCnt = data.getDispDatasCount();
|
||||
}
|
||||
logger.info("getSoftLinkHome> Record Count =" + nRsltCnt);
|
||||
|
||||
if(nRsltCnt > 0) {
|
||||
for(int nIndx = 0 ; nIndx < nRsltCnt; nIndx++) {
|
||||
sSoftLinkHome = data.getSQLStringData("PRPTY2VAL" + nIndx);
|
||||
logger.info("getSoftLinkHome> Record : " + sSoftLinkHome);
|
||||
}
|
||||
}
|
||||
return sSoftLinkHome;
|
||||
}
|
||||
catch(Exception e) {
|
||||
logger.info("getAllSoftlinkNodeInfo> Exception Msg = " + e.toString());
|
||||
/*
|
||||
if(adapter_logger.isWarn())
|
||||
adapter_logger.warn("getAllSoftlinkNodeInfo> Exception Msg = " + e.toString());
|
||||
*/
|
||||
return sSoftLinkHome;
|
||||
}
|
||||
}
|
||||
|
||||
private static HashMap getAllSoftlinkNodeInfo() throws Exception {
|
||||
HashMap nodes = new HashMap();
|
||||
StringBuffer sbQuery = new StringBuffer();
|
||||
|
||||
try {
|
||||
sbQuery.append( "select SNAADPTRSEVRNAME, SNAADPTRSEVRIPNAME, SNAADPTRSEVRCTNT " +
|
||||
" FROM " + TableInfoEx.T_LU_HOST +
|
||||
" WHERE 1=1 ");
|
||||
|
||||
/*
|
||||
if(adapter_logger.isWarn())
|
||||
adapter_logger.warn("getAllSoftlinkNodeInfo> Query =" + sbQuery.toString());
|
||||
*/
|
||||
logger.info("getAllSoftlinkNodeInfo> Query =" + sbQuery.toString());
|
||||
|
||||
JDBCFactory factory = JDBCFactory.newInstance();
|
||||
CommonJDBC common = (CommonJDBC)factory.create(CommonJDBC.class);
|
||||
SQLData data = common.select(sbQuery.toString());
|
||||
|
||||
int nRsltCnt = 0;
|
||||
if(data != null) {
|
||||
nRsltCnt = data.getDispDatasCount();
|
||||
}
|
||||
|
||||
/*
|
||||
if(adapter_logger.isWarn())
|
||||
adapter_logger.warn("getAllSoftlinkNodeInfo> Record Count =" + nRsltCnt);
|
||||
*/
|
||||
logger.info("getAllSoftlinkNodeInfo> Record Count =" + nRsltCnt);
|
||||
|
||||
if(nRsltCnt > 0) {
|
||||
String sSNAAdptrSevrName = "";
|
||||
String sSNAAdptrSevrIPName = "";
|
||||
|
||||
for(int nIndx = 0 ; nIndx < nRsltCnt; nIndx++)
|
||||
{
|
||||
sSNAAdptrSevrName = data.getSQLStringData("SNAADPTRSEVRNAME" + nIndx);
|
||||
sSNAAdptrSevrIPName = data.getSQLStringData("SNAADPTRSEVRIPNAME" + nIndx);
|
||||
|
||||
/*
|
||||
if(adapter_logger.isWarn())
|
||||
adapter_logger.warn("getAllSoftlinkNodeInfo> Record : " + sSNAAdptrSevrName + ", " + sSNAAdptrSevrIPName);
|
||||
*/
|
||||
logger.info("getAllSoftlinkNodeInfo> Record : " + sSNAAdptrSevrName + ", " + sSNAAdptrSevrIPName);
|
||||
|
||||
nodes.put(sSNAAdptrSevrName, sSNAAdptrSevrIPName);
|
||||
}
|
||||
}
|
||||
return nodes;
|
||||
}
|
||||
catch(Exception e) {
|
||||
logger.info("getAllSoftlinkNodeInfo> Exception Msg = " + e.toString());
|
||||
/*
|
||||
if(adapter_logger.isWarn())
|
||||
adapter_logger.warn("getAllSoftlinkNodeInfo> Exception Msg = " + e.toString());
|
||||
*/
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static HashMap getSoftlinkNodeInfo(String sHostName) throws Exception {
|
||||
HashMap nodes = new HashMap();
|
||||
StringBuffer sbQuery = new StringBuffer();
|
||||
|
||||
try {
|
||||
sbQuery.append( "SELECT SNAADPTRSEVRNAME, SNAADPTRSEVRIPNAME, SNAADPTRSEVRCTNT " +
|
||||
" FROM " + TableInfoEx.T_LU_HOST +
|
||||
" WHERE SNAADPTRSEVRNAME='" + sHostName + "' ");
|
||||
|
||||
/*
|
||||
if(adapter_logger.isWarn())
|
||||
adapter_logger.warn("getAllSoftlinkNodeInfo> Query =" + sbQuery.toString());
|
||||
*/
|
||||
logger.info("getAllSoftlinkNodeInfo> Query =" + sbQuery.toString());
|
||||
|
||||
JDBCFactory factory = JDBCFactory.newInstance();
|
||||
CommonJDBC common = (CommonJDBC)factory.create(CommonJDBC.class);
|
||||
SQLData data = common.select(sbQuery.toString());
|
||||
|
||||
int nRsltCnt = 0;
|
||||
if(data != null) {
|
||||
nRsltCnt = data.getDispDatasCount();
|
||||
}
|
||||
|
||||
/*
|
||||
if(adapter_logger.isWarn())
|
||||
adapter_logger.warn("getAllSoftlinkNodeInfo> Record Count =" + nRsltCnt);
|
||||
*/
|
||||
logger.info("getAllSoftlinkNodeInfo> Record Count =" + nRsltCnt);
|
||||
|
||||
if(nRsltCnt > 0) {
|
||||
String sSNAAdptrSevrName = "";
|
||||
String sSNAAdptrSevrIPName = "";
|
||||
|
||||
for(int nIndx = 0 ; nIndx < nRsltCnt; nIndx++)
|
||||
{
|
||||
sSNAAdptrSevrName = data.getSQLStringData("SNAADPTRSEVRNAME" + nIndx);
|
||||
sSNAAdptrSevrIPName = data.getSQLStringData("SNAADPTRSEVRIPNAME" + nIndx);
|
||||
|
||||
/*
|
||||
if(adapter_logger.isWarn())
|
||||
adapter_logger.warn("getAllSoftlinkNodeInfo> Record : " + sSNAAdptrSevrName + ", " + sSNAAdptrSevrIPName);
|
||||
*/
|
||||
logger.info("getAllSoftlinkNodeInfo> Record : " + sSNAAdptrSevrName + ", " + sSNAAdptrSevrIPName);
|
||||
|
||||
nodes.put(sSNAAdptrSevrName, sSNAAdptrSevrIPName);
|
||||
}
|
||||
}
|
||||
return nodes;
|
||||
}
|
||||
catch(Exception e) {
|
||||
logger.info("getAllSoftlinkNodeInfo> Exception Msg = " + e.toString());
|
||||
/*
|
||||
if(adapter_logger.isWarn())
|
||||
adapter_logger.warn("getAllSoftlinkNodeInfo> Exception Msg = " + e.toString());
|
||||
*/
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user