/* */ package cn.cloudwalk.event; /* */ /* */ import cn.cloudwalk.cwos.client.event.EventClient; /* */ import cn.cloudwalk.cwos.client.event.event.BaseEvent; /* */ import cn.cloudwalk.cwos.client.event.event.CustomEvent; /* */ import cn.cloudwalk.event.handler.CustomEventHandler; /* */ import cn.cloudwalk.event.handler.EventHandler; /* */ import cn.cloudwalk.event.handler.EventHandlerMapping; /* */ import cn.cloudwalk.event.handler.EventHandlerWorker; /* */ import cn.cloudwalk.event.listener.GroupEventListener; /* */ import cn.cloudwalk.event.listener.GroupListnerClassMapping; /* */ import cn.cloudwalk.event.task.EventHandleTask; /* */ import java.util.List; /* */ import org.slf4j.Logger; /* */ import org.slf4j.LoggerFactory; /* */ import org.springframework.util.CollectionUtils; /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public class CloudwalkEventManager /* */ { /* 30 */ private static final Logger LOGGER = LoggerFactory.getLogger(CloudwalkEventManager.class); /* */ /* */ /* */ /* */ private EventHandlerMapping eventHandlerMapping; /* */ /* */ /* */ private EventHandlerWorker eventHandlerWorker; /* */ /* */ /* */ private GroupListnerClassMapping groupListnerClassMapping; /* */ /* */ /* */ private EventClient eventClient; /* */ /* */ /* */ /* */ public void handle(Class eventListnerClass, BaseEvent baseEvent) { /* 48 */ String groupId = this.groupListnerClassMapping.getGroupId(eventListnerClass); /* */ /* 50 */ if (baseEvent instanceof CustomEvent) { /* */ /* */ /* 53 */ List customEventHandlers = (List)this.eventHandlerMapping.getServiceCodeCustomHandlerListMap(groupId, ((CustomEvent)baseEvent).getTopic()).get(baseEvent.getServiceCode()); /* 54 */ eventHandle(baseEvent, customEventHandlers); /* */ /* */ return; /* */ } /* */ /* 59 */ List handlerList = (List)this.eventHandlerMapping.getServiceCodeHandlerListMap(groupId, baseEvent.getClass()).get(baseEvent.getServiceCode()); /* 60 */ eventHandle(baseEvent, handlerList); /* */ } /* */ /* */ private void eventHandle(BaseEvent baseEvent, List handlers) { /* 64 */ if (CollectionUtils.isEmpty(handlers)) { /* 65 */ LOGGER.error("没有相应的事件处理程序"); /* */ return; /* */ } /* 68 */ for (EventHandler eventHandler : handlers) { /* 69 */ this.eventHandlerWorker.work(new EventHandleTask(baseEvent, eventHandler)); /* */ } /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ public void publish(BaseEvent baseEvent) { /* 79 */ this.eventClient.pubEvent(baseEvent); /* */ } /* */ /* */ public void setEventHandlerMapping(EventHandlerMapping eventHandlerMapping) { /* 83 */ this.eventHandlerMapping = eventHandlerMapping; /* */ } /* */ /* */ public EventHandlerMapping getEventHandlerMapping() { /* 87 */ return this.eventHandlerMapping; /* */ } /* */ /* */ public void setEventHandlerWorker(EventHandlerWorker eventHandlerWorker) { /* 91 */ this.eventHandlerWorker = eventHandlerWorker; /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ public void setEventClient(EventClient eventClient) { /* 100 */ this.eventClient = eventClient; /* */ } /* */ /* */ public void setGroupListnerClassMapping(GroupListnerClassMapping groupListnerClassMapping) { /* 104 */ this.groupListnerClassMapping = groupListnerClassMapping; /* */ } /* */ } /* Location: D:\星中心\cw-elevator-application-V1.0.0.20211103\cw-elevator-application-V1.0.0.20211103\lib\cloudwalk-common-event-3.7.2-Brussels-SRX.jar!\cn\cloudwalk\event\CloudwalkEventManager.class * Java compiler version: 7 (51.0) * JD-Core Version: 1.1.3 */