File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
package com.munjaon.client.util;
import com.munjaon.client.model.MunjaonMsg;
import com.munjaon.client.server.config.ErrorCode;
import com.munjaon.client.server.packet.*;
import java.io.File;
public class MessageCheckUtil {
public static int validateMessageForCommon(MunjaonMsg data) {
int code = isNullMessageForCommon(data);
if (code != ErrorCode.OK.getCode()) {
return code;
}
return isLengthMessageForCommon(data);
}
public static int isLengthMessageForCommon(MunjaonMsg data) {
/* MSG_ID */
String value = data.getMsgId().trim();
if (value.length() == 0 || value.getBytes().length > CommonMessage.DELIVER_MESSAGE_ID_LENGTH) {
return ErrorCode.ERROR_MSGID_IS_CAPACITY.getCode();
}
/* SENDER */
value = MessageUtil.doNumber(data.getSendPhone());
if (value.getBytes().length < 8 || value.getBytes().length > CommonMessage.DELIVER_SENDER_LENGTH) {
return ErrorCode.ERROR_SENDER_IS_CAPACITY.getCode();
}
/* RECEIVER */
value = MessageUtil.doNumber(data.getRecvPhone());
if (value.getBytes().length < 10 || value.getBytes().length > CommonMessage.DELIVER_RECEIVER_LENGTH) {
return ErrorCode.ERROR_RECEIVER_IS_CAPACITY.getCode();
}
if ("01".equals(value.substring(0, 2)) == false) {
return ErrorCode.ERROR_RECEIVER_IS_INVALID.getCode();
}
return ErrorCode.OK.getCode();
}
public static int isNullMessageForCommon(MunjaonMsg data) {
if (data == null) {
return ErrorCode.ERROR_DATA_IS_NULL.getCode();
}
if (data.getMsgId() == null || data.getMsgId().isEmpty()) {
return ErrorCode.ERROR_MSGID_IS_NULL.getCode();
}
if (data.getSendPhone() == null || data.getSendPhone().isEmpty()) {
return ErrorCode.ERROR_SENDER_IS_NULL.getCode();
}
if (data.getRecvPhone() == null || data.getRecvPhone().isEmpty()) {
return ErrorCode.ERROR_RECEIVER_IS_NULL.getCode();
}
return ErrorCode.OK.getCode();
}
public static int validateMessageForSms(MunjaonMsg data) {
if (data.getMessage() == null || data.getMessage().isEmpty()) {
return ErrorCode.ERROR_SMS_MSG_IS_NULL.getCode();
}
if (data.getMessage().getBytes().length > SmsMessage.DELIVER_MESSAGE_TRANS_LENGTH) {
return ErrorCode.ERROR_SMS_MSG_IS_CAPACITY.getCode();
}
return ErrorCode.OK.getCode();
}
public static int validateMessageForMedia(MunjaonMsg data) {
if (data == null) {
return ErrorCode.ERROR_DATA_IS_NULL.getCode();
}
if (data.getSubject() == null) {
return ErrorCode.ERROR_SUBJECT_IS_NULL.getCode();
}
if (data.getMessage() == null) {
return ErrorCode.ERROR_MULTI_MESSAGE_IS_NULL.getCode();
}
if (data.getSubject().getBytes().length > LmsMessage.DELIVER_SUBJECT_LENGTH) {
return ErrorCode.ERROR_SUBJECT_OVER_CAPACITY.getCode();
}
if (data.getMessage().getBytes().length > LmsMessage.DELIVER_MESSAGE_LENGTH) {
return ErrorCode.ERROR_MULTI_MESSAGE_OVER_CAPACITY.getCode();
}
return ErrorCode.OK.getCode();
}
public static int validateMessageForImage(MunjaonMsg data, String path) {
if (imageFileCount(data) == 0) {
return ErrorCode.ERROR_MMS_IMAGE_IS_NULL.getCode();
}
if (imageExtErrorCount(data) > 0) {
return ErrorCode.ERROR_MMS_IMAGE_IS_EXT.getCode();
}
if (imagePathErrorCount(data, path) > 0) {
return ErrorCode.ERROR_MMS_IMAGE_IS_NOT_PATH.getCode();
}
if (imageSizeErrorCount(data, path) > 0) {
return ErrorCode.ERROR_MMS_IMAGE_IS_OVER_CAPACITY.getCode();
}
return ErrorCode.OK.getCode();
}
public static int imageSizeErrorCount(MunjaonMsg data, String path) {
int errorCount = 0;
if (data.getFilename01() != null) {
File file = new File(path + data.getFilename01());
if (file.length() > MmsMessage.LIMIT_FILE_CAPACITY) {
errorCount++;
}
}
if (data.getFilename02() != null) {
File file = new File(path + data.getFilename02());
if (file.length() > MmsMessage.LIMIT_FILE_CAPACITY) {
errorCount++;
}
}
if (data.getFilename03() != null) {
File file = new File(path + data.getFilename03());
if (file.length() > MmsMessage.LIMIT_FILE_CAPACITY) {
errorCount++;
}
}
return errorCount;
}
public static int imagePathErrorCount(MunjaonMsg data, String path) {
int errorCount = 0;
if (data.getFilename01() != null) {
File file = new File(path + data.getFilename01());
if (file.exists() == false) {
errorCount++;
}
}
if (data.getFilename02() != null) {
File file = new File(path + data.getFilename02());
if (file.exists() == false) {
errorCount++;
}
}
if (data.getFilename03() != null) {
File file = new File(path + data.getFilename03());
if (file.exists() == false) {
errorCount++;
}
}
return errorCount;
}
public static int imageExtErrorCount(MunjaonMsg data) {
int errorCount = 0;
if (data.getFilename01() != null && checkImageFileForExtension(data.getFilename01()) == false) {
errorCount++;
}
if (data.getFilename02() != null && checkImageFileForExtension(data.getFilename02()) == false) {
errorCount++;
}
if (data.getFilename03() != null && checkImageFileForExtension(data.getFilename03()) == false) {
errorCount++;
}
return errorCount;
}
public static int imageFileCount(MunjaonMsg data) {
if (data == null) {
return 0;
}
int count = 0;
if (data.getFilename01() != null) {
count++;
}
if (data.getFilename02() != null) {
count++;
}
if (data.getFilename03() != null) {
count++;
}
return count;
}
public static boolean checkImageFileForExtension(String fileName) {
int lastIndex = fileName.lastIndexOf(".");
if (lastIndex == -1) {
return false;
}
String extension = fileName.substring(lastIndex + 1).toUpperCase();
if ("JPG".equals(extension) || "PNG".equals(extension) || "GIF".equals(extension) || "JPEG".equals(extension)) {
return true;
}
return false;
}
public static int validateMessageForKakao(MunjaonMsg data) {
if (data == null) {
return ErrorCode.ERROR_DATA_IS_NULL.getCode();
}
if (data.getSubject() == null) {
return ErrorCode.ERROR_SUBJECT_IS_NULL.getCode();
}
if (data.getMessage() == null) {
return ErrorCode.ERROR_MULTI_MESSAGE_IS_NULL.getCode();
}
if (data.getKakaoSenderKey() == null) {
return ErrorCode.ERROR_KAKAO_SENDER_KEY_IS_NULL.getCode();
}
if (data.getKakaoTemplateCode() == null) {
return ErrorCode.ERROR_KAKAO_TEMPLATE_CODE_IS_NULL.getCode();
}
if (data.getKakaoJsonFile() == null) {
return ErrorCode.ERROR_KAKAO_JSON_FILE_IS_NULL.getCode();
}
if (data.getSubject().getBytes().length > LmsMessage.DELIVER_SUBJECT_LENGTH) {
return ErrorCode.ERROR_SUBJECT_OVER_CAPACITY.getCode();
}
if (data.getMessage().getBytes().length > LmsMessage.DELIVER_MESSAGE_LENGTH) {
return ErrorCode.ERROR_MULTI_MESSAGE_OVER_CAPACITY.getCode();
}
if (data.getKakaoSenderKey().getBytes().length > KakaoMessage.DELIVER_KAKAO_SENDER_KEY_LENGTH) {
return ErrorCode.ERROR_KAKAO_SENDER_KEY_OVER_CAPACITY.getCode();
}
if (data.getKakaoTemplateCode().getBytes().length > KakaoMessage.DELIVER_KAKAO_TEMPLATE_CODE_LENGTH) {
return ErrorCode.ERROR_KAKAO_TEMPLATE_CODE_OVER_CAPACITY.getCode();
}
return ErrorCode.OK.getCode();
}
public static int validateJsonFile(String path, String fileName) {
int lastIndex = fileName.lastIndexOf(".");
if (lastIndex == -1) {
return ErrorCode.ERROR_KAKAO_JSON_FILE_IS_EXT.getCode();
}
String extension = fileName.substring(lastIndex + 1).toUpperCase();
if ("JSON".equals(extension) == false) {
return ErrorCode.ERROR_KAKAO_JSON_FILE_IS_EXT.getCode();
}
File file = new File(path + fileName);
if (file.exists() == false) {
return ErrorCode.ERROR_KAKAO_JSON_FILE_IS_NOT_PATH.getCode();
}
if (file.length() > KakaoMessage.LIMIT_FILE_CAPACITY) {
return ErrorCode.ERROR_KAKAO_JSON_FILE_IS_OVER_CAPACITY.getCode();
}
return ErrorCode.OK.getCode();
}
public static int validateMessageForJson(MunjaonMsg data) {
return ErrorCode.OK.getCode();
}
public static MunjaonMsg setReportMessage(String msgId, String agentCode, String sendStatus, String sendDate, String telecom) {
MunjaonMsg msg = new MunjaonMsg();
msg.setMsgId(msgId);
msg.setAgentCode(agentCode);
msg.setSendStatus(sendStatus);
msg.setSendDate(sendDate);
msg.setTelecom(telecom);
return msg;
}
public static void main(String[] args) {
String fileName = " .dat";
int lastIndex = fileName.lastIndexOf(".");
if (lastIndex < 0) {
System.out.println("EXT is not ");
} else {
System.out.println("EXT : " + fileName.substring(fileName.lastIndexOf(".") + 1, fileName.length()));
}
System.out.println("NM :" + fileName.substring(0, lastIndex) + "<<");
}
}