public EventBean Wrap(Object underlying) { if (underlying is XmlNode) { return(_eventAdapterService.AdapterForTypedDOM((XmlNode)underlying, _type)); } return(_eventAdapterService.AdapterForTypedDOM((XElement)underlying, _type)); }
public EventBean GetEvent(XObject result) { if (_fragmentType == null) { FragmentEventType type = _xmlEventType.GetFragmentType(_propertyExpression); if (type == null) { return(null); } _fragmentType = type.FragmentType; } return(_eventAdapterService.AdapterForTypedDOM(result, _fragmentType)); }
/// <summary>Return an adapter for the given type of event using the pre-validated object. </summary> /// <param name="theEvent">value object</param> /// <param name="eventType">type of event</param> /// <param name="eventAdapterService">service for instances</param> /// <returns>event adapter</returns> public static EventBean AdapterForType(Object theEvent, EventType eventType, EventAdapterService eventAdapterService) { if (theEvent == null) { return(null); } if (eventType is BeanEventType) { return(eventAdapterService.AdapterForTypedObject(theEvent, eventType)); } else if (eventType is MapEventType) { return(eventAdapterService.AdapterForTypedMap((IDictionary <string, object>)theEvent, eventType)); } else if (eventType is ObjectArrayEventType) { return(eventAdapterService.AdapterForTypedObjectArray((Object[])theEvent, eventType)); } else if (eventType is BaseConfigurableEventType) { return(eventAdapterService.AdapterForTypedDOM((XmlNode)theEvent, eventType)); } else { return(null); } }
public EventBean GetEvent(XmlNode result) { if (_eventType == null) { EventType candidateEventType = _eventAdapterService.GetEventTypeByName(_eventTypeName); if (candidateEventType == null) { Log.Warn("Event type by name '" + _eventTypeName + "' was not found for property '" + _propertyName + "'"); return(null); } if (!(candidateEventType is BaseXMLEventType)) { Log.Warn("Event type by name '" + _eventTypeName + "' is not an XML event type for property '" + _propertyName + "'"); return(null); } _eventType = candidateEventType; } return(_eventAdapterService.AdapterForTypedDOM(result, _eventType)); }
private void SendEvent(Object node, bool isRoute) { XmlNode namedNode; if (node is XmlDocument) { namedNode = ((XmlDocument)node).DocumentElement; } else if (node is XmlElement) { namedNode = (XmlElement)node; } else { throw new EPException("Unexpected event object type '" + node.GetType().FullName + "' encountered, please supply a System.Xml.XmlDocument or Element node"); } if (_validateRootElement) { var theNodeName = namedNode.LocalName; if (theNodeName == null) { theNodeName = namedNode.Name; } if (!theNodeName.Equals(_baseXmlEventType.RootElementName)) { throw new EPException("Unexpected root element name '" + theNodeName + "' encountered, expected a root element name of '" + _baseXmlEventType.RootElementName + "'"); } } EventBean theEvent = _eventAdapterService.AdapterForTypedDOM(namedNode, _baseXmlEventType); if (isRoute) { _runtimeEventSender.RouteEventBean(theEvent); } else { if ((ThreadingOption.IsThreadingEnabledValue) && (_threadingService.IsInboundThreading)) { _threadingService.SubmitInbound(new InboundUnitSendWrapped(theEvent, _runtimeEventSender).Run); } else { _runtimeEventSender.ProcessWrappedEvent(theEvent); } } }