public override EventPropertyGetter GetGetterDOM(SchemaElementComplex complexProperty, EventAdapterService eventAdapterService, BaseXMLEventType eventType, String propertyExpression) { foreach (SchemaElementSimple simple in complexProperty.SimpleElements) { if (!simple.IsArray) { continue; } if (simple.Name != PropertyNameAtomic) { continue; } return(new DOMIndexedGetter(PropertyNameAtomic, _index, null)); } foreach (SchemaElementComplex complex in complexProperty.ComplexElements) { if (!complex.IsArray) { continue; } if (complex.Name != PropertyNameAtomic) { continue; } return(new DOMIndexedGetter(PropertyNameAtomic, _index, new FragmentFactoryDOMGetter(eventAdapterService, eventType, propertyExpression))); } return(null); }
public override EventPropertyGetterSPI GetGetterDOM( SchemaElementComplex complexProperty, EventBeanTypedEventFactory eventBeanTypedEventFactory, BaseXMLEventType xmlEventType, string propertyExpression) { foreach (var attribute in complexProperty.Attributes) { if (attribute.Name.Equals(PropertyNameAtomic)) { return new DOMSimpleAttributeGetter(PropertyNameAtomic); } } foreach (var simple in complexProperty.SimpleElements) { if (simple.Name.Equals(PropertyNameAtomic)) { return new DOMComplexElementGetter(PropertyNameAtomic, null, simple.IsArray); } } foreach (SchemaElementComplex complex in complexProperty.ComplexElements) { var complexFragmentFactory = new FragmentFactoryDOMGetter( eventBeanTypedEventFactory, xmlEventType, propertyExpression); if (complex.Name.Equals(PropertyNameAtomic)) { return new DOMComplexElementGetter(PropertyNameAtomic, complexFragmentFactory, complex.IsArray); } } return null; }
public override EventPropertyGetterSPI GetGetterDOM( SchemaElementComplex complexProperty, EventBeanTypedEventFactory eventBeanTypedEventFactory, BaseXMLEventType eventType, string propertyExpression) { foreach (var simple in complexProperty.SimpleElements) { if (!simple.IsArray) { continue; } if (!simple.Name.Equals(PropertyNameAtomic)) { continue; } return new DOMIndexedGetter(PropertyNameAtomic, Index, null); } foreach (var complex in complexProperty.ComplexElements) { if (!complex.IsArray) { continue; } if (!complex.Name.Equals(PropertyNameAtomic)) { continue; } return new DOMIndexedGetter( PropertyNameAtomic, Index, new FragmentFactoryDOMGetter(eventBeanTypedEventFactory, eventType, propertyExpression)); } return null; }
/// <summary> /// Ctor. /// </summary> /// <param name="runtimeEventSender">for processing events</param> /// <param name="baseXMLEventType">the event type</param> /// <param name="eventAdapterService">for event bean creation</param> /// <param name="threadingService">for inbound threading</param> public EventSenderXMLDOM(EPRuntimeEventSender runtimeEventSender, BaseXMLEventType baseXMLEventType, EventAdapterService eventAdapterService, ThreadingService threadingService) { _runtimeEventSender = runtimeEventSender; _baseXmlEventType = baseXMLEventType; _validateRootElement = baseXMLEventType.ConfigurationEventTypeXMLDOM.IsEventSenderValidatesRoot; _eventAdapterService = eventAdapterService; _threadingService = threadingService; }
public override EventPropertyGetterSPI GetGetterDOM( SchemaElementComplex complexProperty, EventBeanTypedEventFactory eventBeanTypedEventFactory, BaseXMLEventType eventType, string propertyExpression) { return new DOMIndexedGetter(PropertyNameAtomic, Index, null); }
public override EventPropertyGetterSPI GetGetterDOM( SchemaElementComplex complexProperty, EventAdapterService eventAdapterService, BaseXMLEventType eventType, string propertyExpression) { return(new DOMMapGetter(PropertyNameAtomic, _key, null)); }
public EventPropertyGetterSPI GetGetterDOM( SchemaElementComplex parentComplexProperty, EventBeanTypedEventFactory eventBeanTypedEventFactory, BaseXMLEventType eventType, string propertyExpression) { IList<EventPropertyGetter> getters = new List<EventPropertyGetter>(); var complexElement = parentComplexProperty; var properties = Properties; var propertiesCount = properties.Count; for (var ii = 0; ii < propertiesCount; ii++) { var property = properties[ii]; var getter = property.GetGetterDOM( complexElement, eventBeanTypedEventFactory, eventType, propertyExpression); if (getter == null) { return null; } if (ii < (propertiesCount - 1)) { var childSchemaItem = property.GetPropertyTypeSchema(complexElement); if (childSchemaItem == null) { // if the property is not valid, return null return null; } if (childSchemaItem is SchemaItemAttribute || childSchemaItem is SchemaElementSimple) { return null; } complexElement = (SchemaElementComplex) childSchemaItem; if (complexElement.IsArray) { if (property is SimpleProperty || property is DynamicSimpleProperty) { return null; } } } getters.Add(getter); } return new DOMNestedPropertyGetter( getters, new FragmentFactoryDOMGetter(eventBeanTypedEventFactory, eventType, propertyExpression)); }
public override EventPropertyGetterSPI GetGetterDOM( SchemaElementComplex complexProperty, EventBeanTypedEventFactory eventBeanTypedEventFactory, BaseXMLEventType eventType, string propertyExpression) { foreach (SchemaElementComplex complex in complexProperty.ComplexElements) { if (!complex.Name.Equals(PropertyNameAtomic)) { continue; } foreach (var attribute in complex.Attributes) { if (!attribute.Name.Equals("id", StringComparison.InvariantCultureIgnoreCase)) { } } return new DOMMapGetter(PropertyNameAtomic, Key, null); } return null; }
public EventPropertyGetter GetGetterDOM(SchemaElementComplex parentComplexProperty, EventAdapterService eventAdapterService, BaseXMLEventType eventType, String propertyExpression) { List <EventPropertyGetter> getters = new List <EventPropertyGetter>(); SchemaElementComplex complexElement = parentComplexProperty; for (var it = Properties.EnumerateWithLookahead(); it.HasNext();) { Property property = it.Next(); EventPropertyGetter getter = property.GetGetterDOM(complexElement, eventAdapterService, eventType, propertyExpression); if (getter == null) { return(null); } if (it.HasNext()) { SchemaItem childSchemaItem = property.GetPropertyTypeSchema(complexElement, eventAdapterService); if (childSchemaItem == null) { // if the property is not valid, return null return(null); } if ((childSchemaItem is SchemaItemAttribute) || (childSchemaItem is SchemaElementSimple)) { return(null); } complexElement = (SchemaElementComplex)childSchemaItem; if (complexElement.IsArray) { if ((property is SimpleProperty) || (property is DynamicSimpleProperty)) { return(null); } } } getters.Add(getter); } return(new DOMNestedPropertyGetter(getters, new FragmentFactoryDOMGetter(eventAdapterService, eventType, propertyExpression))); }
public override EventPropertyGetter GetGetterDOM(SchemaElementComplex complexProperty, EventAdapterService eventAdapterService, BaseXMLEventType eventType, string propertyExpression) { return(new DOMAttributeAndElementGetter(PropertyNameAtomic)); }
public override EventPropertyGetter GetGetterDOM(SchemaElementComplex complexProperty, EventAdapterService eventAdapterService, BaseXMLEventType xmlEventType, String propertyExpression) { if (complexProperty.Attributes.Any(attribute => attribute.Name == PropertyNameAtomic)) { return(new DOMSimpleAttributeGetter(PropertyNameAtomic)); } foreach (var simple in complexProperty.SimpleElements.Where(simple => simple.Name == PropertyNameAtomic)) { return(new DOMComplexElementGetter(PropertyNameAtomic, null, simple.IsArray)); } foreach (SchemaElementComplex complex in complexProperty.ComplexElements) { var complexFragmentFactory = new FragmentFactoryDOMGetter(eventAdapterService, xmlEventType, propertyExpression); if (complex.Name == PropertyNameAtomic) { return(new DOMComplexElementGetter(PropertyNameAtomic, complexFragmentFactory, complex.IsArray)); } } return(null); }
/// <summary> /// Returns the getter-method for use with XML DOM event representations. /// </summary> /// <param name="complexProperty">a element-within-element type definition</param> /// <param name="eventAdapterService">for resolving or creating further event types that are property types</param> /// <param name="xmlEventType">the event type</param> /// <param name="propertyExpression">the full property expression</param> /// <returns> /// getter /// </returns> public abstract EventPropertyGetterSPI GetGetterDOM(SchemaElementComplex complexProperty, EventAdapterService eventAdapterService, BaseXMLEventType xmlEventType, string propertyExpression);
public override EventPropertyGetter GetGetterDOM(SchemaElementComplex complexProperty, EventAdapterService eventAdapterService, BaseXMLEventType eventType, String propertyExpression) { foreach (SchemaElementComplex complex in complexProperty.ComplexElements.Where(c => c.Name == PropertyNameAtomic)) { foreach (SchemaItemAttribute attribute in complex.Attributes) { if (!String.Equals(attribute.Name, "id", StringComparison.OrdinalIgnoreCase)) { continue; } } return(new DOMMapGetter(PropertyNameAtomic, _key, null)); } return(null); }
public abstract EventPropertyGetterSPI GetGetterDOM( SchemaElementComplex complexProperty, EventBeanTypedEventFactory eventBeanTypedEventFactory, BaseXMLEventType xmlEventType, string propertyExpression);