private static void BuildAvroType(
     EventTypeRepositoryImpl eventTypeRepositoryPreconfigured,
     string eventTypeName,
     ConfigurationCommonEventTypeAvro config,
     EventTypeAvroHandler eventTypeAvroHandler,
     EventBeanTypedEventFactory eventBeanTypedEventFactory)
 {
     var metadata = new EventTypeMetadata(
         eventTypeName,
         null,
         EventTypeTypeClass.APPLICATION,
         EventTypeApplicationType.AVRO,
         NameAccessModifier.PRECONFIGURED,
         EventTypeBusModifier.NONBUS,
         false,
         new EventTypeIdPair(CRC32Util.ComputeCRC32(eventTypeName), -1));
     var avroSuperTypes = EventTypeUtility.GetSuperTypesDepthFirst(
         config.SuperTypes,
         EventUnderlyingType.AVRO,
         eventTypeRepositoryPreconfigured);
     var newEventType = eventTypeAvroHandler.NewEventTypeFromSchema(
         metadata,
         eventBeanTypedEventFactory,
         config,
         avroSuperTypes.First,
         avroSuperTypes.Second);
     eventTypeRepositoryPreconfigured.AddType(newEventType);
 }
示例#2
0
 public JsonEventType CreateJson(
     EventTypeMetadata metadata,
     IDictionary<String, Object> properties,
     string[] superTypes,
     string startTimestampPropertyName,
     string endTimestampPropertyName,
     BeanEventTypeFactory beanEventTypeFactory,
     EventTypeNameResolver eventTypeNameResolver,
     JsonEventTypeDetail detail)
 {
     var st = EventTypeUtility.GetSuperTypesDepthFirst(superTypes, EventUnderlyingType.JSON, eventTypeNameResolver);
     properties = BaseNestableEventUtil.ResolvePropertyTypes(properties, eventTypeNameResolver);
     var getterFactoryJson = new EventTypeNestableGetterFactoryJson(detail);
     // We use a null-stand-in class as the actual underlying class is provided later
     return new JsonEventType(
         metadata,
         properties,
         st.First,
         st.Second,
         startTimestampPropertyName,
         endTimestampPropertyName,
         getterFactoryJson,
         beanEventTypeFactory,
         detail,
         null,
         false);
 }
示例#3
0
        public void RegisterAvro(
            EventTypeMetadata metadata,
            string schemaJson,
            string[] superTypes)
        {
            var st = EventTypeUtility.GetSuperTypesDepthFirst(
                superTypes, EventUnderlyingType.AVRO, _eventTypeNameResolver);

            var eventType = _eventTypeAvroHandler.NewEventTypeFromJson(
                metadata,
                _eventBeanTypedEventFactory,
                schemaJson,
                st.First,
                st.Second);

            HandleRegister(eventType);
        }
示例#4
0
 public ObjectArrayEventType CreateObjectArray(
     EventTypeMetadata metadata,
     IDictionary<string, object> properties,
     string[] superTypes,
     string startTimestampPropertyName,
     string endTimestampPropertyName,
     BeanEventTypeFactory beanEventTypeFactory,
     EventTypeNameResolver eventTypeNameResolver)
 {
     var st = EventTypeUtility.GetSuperTypesDepthFirst(
         superTypes,
         EventUnderlyingType.OBJECTARRAY,
         eventTypeNameResolver);
     properties = BaseNestableEventUtil.ResolvePropertyTypes(properties, eventTypeNameResolver);
     return new ObjectArrayEventType(
         metadata,
         properties,
         st.First,
         st.Second,
         startTimestampPropertyName,
         endTimestampPropertyName,
         beanEventTypeFactory);
 }