Java mina FundTradeLogger

package com.pingan.emall.biz.communication.handler;




import com.pingan.emall.util.StringUtil;
import com.pingan.emall.util.fund.FundTradeConstants;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
import org.apache.mina.core.session.IoSession;


public class FundTradeLogger {
private static final Map<String, Integer> markedInFunctions;
private static final Map<String, Integer> markedOutFunctions;
private static final String SOH = "|";

static {
markedOutFunctions = new HashMap<String, Integer>(3);
markedOutFunctions.put(FundTradeConstants.FUNCTION_TRANSFER_IN, 19);
markedOutFunctions.put(FundTradeConstants.FUNCTION_TRANSFER_OUT, 19);
markedOutFunctions.put(FundTradeConstants.FUNCTION_CREATE_FUND_ACCOUNT, 26);

markedInFunctions = new HashMap<String, Integer>(3);
markedInFunctions.put(FundTradeConstants.FUNCTION_QUERY_CARD, 17);
}

public static String getMarkedOutLog(String functionId, String requestPackage, IoSession session) {
if (markedOutFunctions.containsKey(functionId)) {
int index = markedOutFunctions.get(functionId);
String[] items = StringUtil.split(requestPackage, SOH);
if (items.length >= index + 1) {
String target = items[index];


if (target.length() > 4) {
String suffix = target.substring(target.length() - 4);
items[index] = StringUtils.leftPad(suffix, target.length(), '*');
requestPackage = StringUtils.join(items, SOH);
}
}
}


StringBuilder builder = new StringBuilder();
builder.append("Message sent : ").append(requestPackage)
.append(", session : ").append(session)
.append(", sessionId : ").append(session.getId());
return builder.toString();
}

public static String getMarkedInLog(String functionId, String requestPackage, IoSession session) {
if (markedInFunctions.containsKey(functionId)) {
int index = markedInFunctions.get(functionId);
String[] items = StringUtil.split(requestPackage, SOH);
if (items.length >= index + 1) {
String target = items[index];


if (target.length() > 4) {
String suffix = target.substring(target.length() - 4);
items[index] = StringUtils.leftPad(suffix, target.length(), '*');
requestPackage = StringUtils.join(items, SOH);
}
}
}


StringBuilder builder = new StringBuilder();
builder.append("Message received : ").append(requestPackage)
.append(", session : ").append(session)
.append(", sessionId : ").append(session.getId());
return builder.toString();
}
}
發佈了80 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章