public EventBean GetEvent(XmlNode result)
        {
            if (eventType == null) {
                var candidateEventType = eventTypeResolver.GetTypeByName(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 eventBeanTypedEventFactory.AdapterForTypedDOM(result, eventType);
        }
Exemplo n.º 2
0
        public EventBean GetEvent(XmlNode result)
        {
            if (fragmentType == null) {
                var type = xmlEventType.GetFragmentType(propertyExpression);
                if (type == null) {
                    return null;
                }

                fragmentType = type.FragmentType;
            }

            return eventBeanTypedEventFactory.AdapterForTypedDOM(result, fragmentType);
        }
Exemplo n.º 3
0
        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().CleanName() +
                    "' encountered, please supply a XmlDocument or XmlElement node");
            }

            if (validateRootElement) {
                var getNodeName = namedNode.Name;
                if (getNodeName != baseXMLEventType.RootElementName) {
                    throw new EPException(
                        "Unexpected root element name '" +
                        getNodeName +
                        "' encountered, expected a root element name of '" +
                        baseXMLEventType.RootElementName +
                        "'");
                }
            }

            var theEvent = eventBeanTypedEventFactory.AdapterForTypedDOM(namedNode, baseXMLEventType);
            if (isRoute) {
                runtimeEventSender.RouteEventBean(theEvent);
            }
            else {
                if (threadingService.IsInboundThreading) {
                    threadingService.SubmitInbound(theEvent, runtimeEventSender);
                }
                else {
                    runtimeEventSender.ProcessWrappedEvent(theEvent);
                }
            }
        }
Exemplo n.º 4
0
 public EventBean AdapterForTypedDOM(
     XmlNode node,
     EventType eventType)
 {
     return typedEventFactory.AdapterForTypedDOM(node, eventType);
 }
Exemplo n.º 5
0
 public EventBean Wrap(object underlying)
 {
     return eventBeanTypedEventFactory.AdapterForTypedDOM((XmlNode) underlying, type);
 }