rename MessageKey to WeixinMessageKey

This commit is contained in:
jinyu 2015-08-03 18:04:36 +08:00
parent 36d66c6835
commit 64dc0bdc66
5 changed files with 40 additions and 40 deletions

View File

@ -37,10 +37,10 @@ import com.foxinmy.weixin4j.type.MessageType;
*/
public class DefaultMessageMatcher implements WeixinMessageMatcher {
private final Map<MessageKey, Class<? extends WeixinMessage>> messageClassMap;
private final Map<WeixinMessageKey, Class<? extends WeixinMessage>> messageClassMap;
public DefaultMessageMatcher() {
messageClassMap = new HashMap<MessageKey, Class<? extends WeixinMessage>>();
messageClassMap = new HashMap<WeixinMessageKey, Class<? extends WeixinMessage>>();
initMessageClass();
}
@ -65,19 +65,19 @@ public class DefaultMessageMatcher implements WeixinMessageMatcher {
private void initGeneralMessageClass() {
for (AccountType accountType : AccountType.values()) {
messageClassMap.put(new MessageKey(MessageType.text.name(), null,
messageClassMap.put(new WeixinMessageKey(MessageType.text.name(), null,
accountType), TextMessage.class);
messageClassMap.put(new MessageKey(MessageType.image.name(), null,
messageClassMap.put(new WeixinMessageKey(MessageType.image.name(), null,
accountType), ImageMessage.class);
messageClassMap.put(new MessageKey(MessageType.voice.name(), null,
messageClassMap.put(new WeixinMessageKey(MessageType.voice.name(), null,
accountType), VoiceMessage.class);
messageClassMap.put(new MessageKey(MessageType.video.name(), null,
messageClassMap.put(new WeixinMessageKey(MessageType.video.name(), null,
accountType), VideoMessage.class);
messageClassMap.put(new MessageKey(MessageType.shortvideo.name(),
messageClassMap.put(new WeixinMessageKey(MessageType.shortvideo.name(),
null, accountType), VideoMessage.class);
messageClassMap.put(new MessageKey(MessageType.location.name(),
messageClassMap.put(new WeixinMessageKey(MessageType.location.name(),
null, accountType), LocationMessage.class);
messageClassMap.put(new MessageKey(MessageType.link.name(), null,
messageClassMap.put(new WeixinMessageKey(MessageType.link.name(), null,
accountType), LinkMessage.class);
}
}
@ -87,39 +87,39 @@ public class DefaultMessageMatcher implements WeixinMessageMatcher {
EventType[] eventTypes = new EventType[] { EventType.subscribe,
EventType.unsubscribe };
for (EventType eventType : eventTypes) {
messageClassMap.put(new MessageKey(messageType, eventType.name(),
messageClassMap.put(new WeixinMessageKey(messageType, eventType.name(),
AccountType.MP),
com.foxinmy.weixin4j.mp.event.ScribeEventMessage.class);
}
for (EventType eventType : eventTypes) {
messageClassMap.put(new MessageKey(messageType, eventType.name(),
messageClassMap.put(new WeixinMessageKey(messageType, eventType.name(),
AccountType.QY),
com.foxinmy.weixin4j.qy.event.ScribeEventMessage.class);
}
for (AccountType accountType : AccountType.values()) {
messageClassMap.put(
new MessageKey(messageType, EventType.location.name(),
new WeixinMessageKey(messageType, EventType.location.name(),
accountType), LocationEventMessage.class);
messageClassMap.put(new MessageKey(messageType,
messageClassMap.put(new WeixinMessageKey(messageType,
EventType.location_select.name(), accountType),
MenuLocationEventMessage.class);
for (EventType eventType : new EventType[] { EventType.click,
EventType.view }) {
messageClassMap.put(
new MessageKey(messageType, eventType.name(),
new WeixinMessageKey(messageType, eventType.name(),
accountType), MenuEventMessage.class);
}
for (EventType eventType : new EventType[] {
EventType.scancode_push, EventType.scancode_waitmsg }) {
messageClassMap.put(
new MessageKey(messageType, eventType.name(),
new WeixinMessageKey(messageType, eventType.name(),
accountType), MenuScanEventMessage.class);
}
for (EventType eventType : new EventType[] {
EventType.pic_sysphoto, EventType.pic_photo_or_album,
EventType.pic_weixin }) {
messageClassMap.put(
new MessageKey(messageType, eventType.name(),
new WeixinMessageKey(messageType, eventType.name(),
accountType), MenuPhotoEventMessage.class);
}
}
@ -128,22 +128,22 @@ public class DefaultMessageMatcher implements WeixinMessageMatcher {
private void initMpEventMessageClass() {
String messageType = MessageType.event.name();
AccountType accountType = AccountType.MP;
messageClassMap.put(new MessageKey(messageType, EventType.scan.name(),
messageClassMap.put(new WeixinMessageKey(messageType, EventType.scan.name(),
accountType),
com.foxinmy.weixin4j.mp.event.ScanEventMessage.class);
messageClassMap.put(new MessageKey(messageType,
messageClassMap.put(new WeixinMessageKey(messageType,
EventType.masssendjobfinish.name(), accountType),
MassEventMessage.class);
messageClassMap.put(new MessageKey(messageType,
messageClassMap.put(new WeixinMessageKey(messageType,
EventType.templatesendjobfinish.name(), accountType),
TemplatesendjobfinishMessage.class);
messageClassMap.put(new MessageKey(messageType,
messageClassMap.put(new WeixinMessageKey(messageType,
EventType.kf_create_session.name(), accountType),
KfCreateEventMessage.class);
messageClassMap.put(new MessageKey(messageType,
messageClassMap.put(new WeixinMessageKey(messageType,
EventType.kf_close_session.name(), accountType),
KfCloseEventMessage.class);
messageClassMap.put(new MessageKey(messageType,
messageClassMap.put(new WeixinMessageKey(messageType,
EventType.kf_switch_session.name(), accountType),
KfSwitchEventMessage.class);
}
@ -151,21 +151,21 @@ public class DefaultMessageMatcher implements WeixinMessageMatcher {
private void initQyEventMessageClass() {
String messageType = MessageType.event.name();
AccountType accountType = AccountType.QY;
messageClassMap.put(new MessageKey(messageType,
messageClassMap.put(new WeixinMessageKey(messageType,
EventType.batch_job_result.name(), accountType),
BatchjobresultMessage.class);
messageClassMap.put(
new MessageKey(messageType, EventType.enter_agent.name(),
new WeixinMessageKey(messageType, EventType.enter_agent.name(),
accountType), EnterAgentEventMessage.class);
}
@Override
public Class<? extends WeixinMessage> match(MessageKey messageKey) {
public Class<? extends WeixinMessage> match(WeixinMessageKey messageKey) {
return messageClassMap.get(messageKey);
}
@Override
public void regist(MessageKey messageKey,
public void regist(WeixinMessageKey messageKey,
Class<? extends WeixinMessage> messageClass) {
Class<?> clazz = messageClassMap.get(messageKey);
if (clazz != null) {

View File

@ -119,7 +119,7 @@ public class WeixinMessageDispatcher {
public void doDispatch(final ChannelHandlerContext context,
final WeixinRequest request, final CruxMessageHandler cruxMessage)
throws WeixinException {
MessageKey messageKey = defineMessageKey(cruxMessage.getMsgType(),
WeixinMessageKey messageKey = defineMessageKey(cruxMessage.getMsgType(),
cruxMessage.getEventType(), cruxMessage.getAccountType());
Class<? extends WeixinMessage> targetClass = messageMatcher
.match(messageKey);
@ -159,9 +159,9 @@ public class WeixinMessageDispatcher {
* 账号类型
* @return
*/
protected MessageKey defineMessageKey(String messageType, String eventType,
protected WeixinMessageKey defineMessageKey(String messageType, String eventType,
AccountType accountType) {
return new MessageKey(messageType, eventType, accountType);
return new WeixinMessageKey(messageType, eventType, accountType);
}
/**
@ -213,7 +213,7 @@ public class WeixinMessageDispatcher {
*/
protected MessageHandlerExecutor getHandlerExecutor(
ChannelHandlerContext context, WeixinRequest request,
MessageKey messageKey, Object message, Set<String> nodeNames)
WeixinMessageKey messageKey, Object message, Set<String> nodeNames)
throws WeixinException {
WeixinMessageHandler messageHandler = null;
WeixinMessageHandler[] messageHandlers = getMessageHandlers();
@ -447,7 +447,7 @@ public class WeixinMessageDispatcher {
this.beanFactory = beanFactory;
}
public void registMessageClass(MessageKey messageKey,
public void registMessageClass(WeixinMessageKey messageKey,
Class<? extends WeixinMessage> messageClass) {
messageMatcher.regist(messageKey, messageClass);
}

View File

@ -8,13 +8,13 @@ import com.foxinmy.weixin4j.util.StringUtil;
/**
* 微信消息key
*
* @className MessageKey
* @className WeixinMessageKey
* @author jy
* @date 2015年6月9日
* @since JDK 1.7
* @see
*/
public class MessageKey implements Serializable {
public class WeixinMessageKey implements Serializable {
private static final long serialVersionUID = -691330687850400289L;
@ -22,7 +22,7 @@ public class MessageKey implements Serializable {
private String eventType;
private AccountType accountType;
public MessageKey(String messageType, String eventType,
public WeixinMessageKey(String messageType, String eventType,
AccountType accountType) {
this.messageType = messageType;
this.eventType = eventType;
@ -64,7 +64,7 @@ public class MessageKey implements Serializable {
return false;
if (getClass() != obj.getClass())
return false;
MessageKey other = (MessageKey) obj;
WeixinMessageKey other = (WeixinMessageKey) obj;
if (accountType != other.accountType)
return false;
if (eventType == null) {
@ -82,7 +82,7 @@ public class MessageKey implements Serializable {
@Override
public String toString() {
return "MessageKey [messageType=" + messageType + ", eventType="
return "WeixinMessageKey [messageType=" + messageType + ", eventType="
+ eventType + ", accountType=" + accountType + "]";
}
}

View File

@ -19,7 +19,7 @@ public interface WeixinMessageMatcher {
* 消息key
* @return 消息类型
*/
public Class<? extends WeixinMessage> match(MessageKey messageKey);
public Class<? extends WeixinMessage> match(WeixinMessageKey messageKey);
/**
* 注册消息类型程序没有及时更新而微信又产生了新的消息类型
@ -29,6 +29,6 @@ public interface WeixinMessageMatcher {
* @param messageClass
* 消息类型
*/
public void regist(MessageKey messageKey,
public void regist(WeixinMessageKey messageKey,
Class<? extends WeixinMessage> messageClass);
}

View File

@ -18,7 +18,7 @@ import java.util.Map;
import com.foxinmy.weixin4j.dispatcher.BeanFactory;
import com.foxinmy.weixin4j.dispatcher.DefaultMessageMatcher;
import com.foxinmy.weixin4j.dispatcher.MessageKey;
import com.foxinmy.weixin4j.dispatcher.WeixinMessageKey;
import com.foxinmy.weixin4j.dispatcher.WeixinMessageDispatcher;
import com.foxinmy.weixin4j.dispatcher.WeixinMessageMatcher;
import com.foxinmy.weixin4j.exception.WeixinException;
@ -310,7 +310,7 @@ public final class WeixinServerBootstrap {
* 消息类
* @return
*/
public WeixinServerBootstrap registMessageClass(MessageKey messageKey,
public WeixinServerBootstrap registMessageClass(WeixinMessageKey messageKey,
Class<? extends WeixinMessage> messageClass) {
messageDispatcher.registMessageClass(messageKey, messageClass);
return this;