public static TimestampPropertyDesc validatedDetermineTimestampProps(EventType type, String startProposed, String endProposed, EventType[] superTypes) throws EPException { // determine start&end timestamp as inherited String startTimestampPropertyName = startProposed; String endTimestampPropertyName = endProposed; if (superTypes != null && superTypes.length > 0) { for (EventType superType : superTypes) { if (superType.getStartTimestampPropertyName() != null) { if (startTimestampPropertyName != null && !startTimestampPropertyName.equals(superType.getStartTimestampPropertyName())) { throw getExceptionTimestampInherited("start", startTimestampPropertyName, superType.getStartTimestampPropertyName(), superType); } startTimestampPropertyName = superType.getStartTimestampPropertyName(); } if (superType.getEndTimestampPropertyName() != null) { if (endTimestampPropertyName != null && !endTimestampPropertyName.equals(superType.getEndTimestampPropertyName())) { throw getExceptionTimestampInherited("end", endTimestampPropertyName, superType.getEndTimestampPropertyName(), superType); } endTimestampPropertyName = superType.getEndTimestampPropertyName(); } } } validateTimestampProperties(type, startTimestampPropertyName, endTimestampPropertyName); return new TimestampPropertyDesc(startTimestampPropertyName, endTimestampPropertyName); }
public AvroEventType(EventTypeMetadata metadata, Schema avroSchema, String startTimestampPropertyName, String endTimestampPropertyName, EventType[] optionalSuperTypes, Set<EventType> deepSupertypes, EventBeanTypedEventFactory eventBeanTypedEventFactory, EventTypeAvroHandler eventTypeAvroHandler) { this.metadata = metadata; this.avroSchema = avroSchema; this.optionalSuperTypes = optionalSuperTypes; this.deepSupertypes = deepSupertypes == null ? Collections.emptySet() : deepSupertypes; this.propertyItems = new LinkedHashMap<>(); this.eventBeanTypedEventFactory = eventBeanTypedEventFactory; this.eventTypeAvroHandler = eventTypeAvroHandler; init(); EventTypeUtility.TimestampPropertyDesc desc = EventTypeUtility.validatedDetermineTimestampProps(this, startTimestampPropertyName, endTimestampPropertyName, optionalSuperTypes); this.startTimestampPropertyName = desc.getStart(); this.endTimestampPropertyName = desc.getEnd(); }
public BeanEventType(BeanEventTypeStem stem, EventTypeMetadata metadata, BeanEventTypeFactory beanEventTypeFactory, EventType[] superTypes, Set<EventType> deepSuperTypes, String startTimestampPropertyName, String endTimestampPropertyName) { this.stem = stem; this.metadata = metadata; this.beanEventTypeFactory = beanEventTypeFactory; this.superTypes = superTypes; this.deepSuperTypes = deepSuperTypes; EventTypeUtility.TimestampPropertyDesc desc = EventTypeUtility.validatedDetermineTimestampProps(this, startTimestampPropertyName, endTimestampPropertyName, superTypes); this.startTimestampPropertyName = desc.getStart(); this.endTimestampPropertyName = desc.getEnd(); }