private void PollEmptyAdapters() { if ((ExecutionPathDebugLog.IsEnabled) && (Log.IsDebugEnabled)) { Log.Debug(".pollEmptyAdapters emptyAdapters.size==" + _emptyAdapters.Count); } List <CoordinatedAdapter> tempList = new List <CoordinatedAdapter>(); foreach (CoordinatedAdapter adapter in _emptyAdapters) { if (adapter.State == AdapterState.DESTROYED) { tempList.Add(adapter); continue; } SendableEvent _event = adapter.Read(); if (_event != null) { EventsToSend.Add(_event); _eventsFromAdapters[_event] = adapter; } } foreach (CoordinatedAdapter adapter in tempList) { _emptyAdapters.Remove(adapter); } }
public static SendableEvent[] GetPONOEventsSendable() { var pojoEvents = GetPONOEvents(); var sendables = new SendableEvent[pojoEvents.Length]; for (var i = 0; i < pojoEvents.Length; i++) { sendables[i] = new SendableEventBean(pojoEvents[i], EVENTTYPENAME); } return sendables; }
public static SendableEvent[] GetMapEventsSendable() { var mapEvents = GetMapEvents(); var sendables = new SendableEvent[mapEvents.Length]; for (var i = 0; i < mapEvents.Length; i++) { sendables[i] = new SendableEventMap((IDictionary<string, object>) mapEvents[i], "MyMapEvent"); } return sendables; }
public static SendableEvent[] GetOAEventsSendable() { var oaEvents = GetOAEvents(); var oas = new SendableEvent[oaEvents.Length]; for (var i = 0; i < oaEvents.Length; i++) { oas[i] = new SendableEventObjectArray((object[]) oaEvents[i], "MyOAEvent"); } return oas; }
public static SendableEvent[] GetXMLEventsSendable() { var xmlEvents = GetXMLEvents(); var xmls = new SendableEvent[xmlEvents.Length]; for (var i = 0; i < xmlEvents.Length; i++) { xmls[i] = new SendableEventXML((XmlNode) xmlEvents[i], "MyXMLEvent"); } return xmls; }
private void FillEventsToSend() { if (EventsToSend.IsEmpty()) { SendableEvent theEvent = Read(); if (theEvent != null) { EventsToSend.Add(theEvent); } } }
/// <summary> /// Replace the first member of eventsToSend with the next /// event returned by the read() method of the same Adapter that /// provided the first event. /// </summary> protected override void ReplaceFirstEventToSend() { if ((ExecutionPathDebugLog.IsEnabled) && (Log.IsDebugEnabled)) { Log.Debug(".ReplaceFirstEventToSend Replacing event"); } SendableEvent _event = EventsToSend.First(); EventsToSend.Remove(_event); AddNewEvent(_eventsFromAdapters.Get(_event)); _eventsFromAdapters.Remove(_event); PollEmptyAdapters(); }
private void AddNewEvent(CoordinatedAdapter adapter) { if ((ExecutionPathDebugLog.IsEnabled) && (Log.IsDebugEnabled)) { Log.Debug(".addNewEvent eventsFromAdapters==" + _eventsFromAdapters); } SendableEvent _event = adapter.Read(); if (_event != null) { if ((ExecutionPathDebugLog.IsEnabled) && (Log.IsDebugEnabled)) { Log.Debug(".addNewEvent event==" + _event); } EventsToSend.Add(_event); _eventsFromAdapters[_event] = adapter; } else { if (adapter.State == AdapterState.DESTROYED) { LinkedList <SendableEvent> keyList = new LinkedList <SendableEvent>(); foreach (KeyValuePair <SendableEvent, CoordinatedAdapter> entry in _eventsFromAdapters) { if (entry.Value == adapter) { keyList.AddFirst(entry.Key); } } foreach (SendableEvent keyEvent in keyList) { _eventsFromAdapters.Remove(keyEvent); } } else { _emptyAdapters.Add(adapter); } } }
/// <summary> ///@see com.espertech.esper.adapter.ReadableAdapter#read() /// </summary> public override SendableEvent Read() { if ((ExecutionPathDebugLog.IsEnabled) && (Log.IsDebugEnabled)) { Log.Debug(".read"); } PollEmptyAdapters(); var isEventsToSendEmpty = EventsToSend.IsEmpty(); var isEventsFromAdaptersEmpty = _eventsFromAdapters.IsEmpty(); var isEmptyAdaptersEmpty = _emptyAdapters.IsEmpty(); if ((ExecutionPathDebugLog.IsEnabled) && (Log.IsDebugEnabled)) { Log.Debug(".read eventsToSend.isEmpty==" + isEventsToSendEmpty); Log.Debug(".read eventsFromAdapters.isEmpty==" + isEventsFromAdaptersEmpty); Log.Debug(".read emptyAdapters.isEmpty==" + isEmptyAdaptersEmpty); } if (isEventsToSendEmpty && isEventsFromAdaptersEmpty && isEmptyAdaptersEmpty) { Stop(); } if (StateManager.State == AdapterState.DESTROYED || isEventsToSendEmpty) { return(null); } SendableEvent result = EventsToSend.First(); ReplaceFirstEventToSend(); return(result); }