private static SubjectNameStrategyDelegate GetKeySubjectNameStrategy(IEnumerable <KeyValuePair <string, string> > config) { var keySubjectNameStrategyString = config.FirstOrDefault(prop => prop.Key.ToLower() == SchemaRegistryConfig.PropertyNames.SchemaRegistryKeySubjectNameStrategy).Value ?? ""; SubjectNameStrategy keySubjectNameStrategy = SubjectNameStrategy.Topic; if (keySubjectNameStrategyString != "" && !Enum.TryParse <SubjectNameStrategy>(keySubjectNameStrategyString, out keySubjectNameStrategy)) { throw new ArgumentException($"Unknown KeySubjectNameStrategy: {keySubjectNameStrategyString}"); } return(keySubjectNameStrategy.ToDelegate()); }
/// <summary> /// Helper method to construct the value subject name given the specified parameters. /// </summary> public static string ConstructValueSubjectName(this SubjectNameStrategy strategy, string topic, string recordType = null) => strategy.ToDelegate()(new SerializationContext(MessageComponentType.Value, topic), recordType);