private static boolean isUnknownPropertyName(final String propertyName) { return !new KsqlConfigResolver() .resolve(propertyName, false) .isPresent(); }
private static Optional<ConfigValue> resolveStreamsConfig( final String maybePrefixedKey, final Object value) { final String key = maybePrefixedKey.startsWith(KSQL_STREAMS_PREFIX) ? maybePrefixedKey.substring(KSQL_STREAMS_PREFIX.length()) : maybePrefixedKey; if (key.startsWith(KsqlConfig.KSQL_CONFIG_PROPERTY_PREFIX)) { return Optional.empty(); } return new KsqlConfigResolver().resolve(maybePrefixedKey, false) .map(configItem -> new ConfigValue(configItem, key, configItem.parseValue(value))); }
private PropertiesList listProperties( final PreparedStatement<ListProperties> statement, final Map<String, Object> propertyOverrides ) { final KsqlConfigResolver resolver = new KsqlConfigResolver(); final Map<String, String> engineProperties = ksqlConfig.getAllConfigPropsWithSecretsObfuscated(); final Map<String, String> mergedProperties = ksqlConfig .cloneWithPropertyOverwrite(propertyOverrides) .getAllConfigPropsWithSecretsObfuscated(); final List<String> overwritten = mergedProperties.entrySet() .stream() .filter(e -> !Objects.equals(engineProperties.get(e.getKey()), e.getValue())) .map(Entry::getKey) .collect(Collectors.toList()); final List<String> defaultProps = mergedProperties.entrySet().stream() .filter(e -> resolver.resolve(e.getKey(), false) .map(resolved -> resolved.isDefaultValue(e.getValue())) .orElse(false)) .map(Entry::getKey) .collect(Collectors.toList()); return new PropertiesList( statement.getStatementText(), mergedProperties, overwritten, defaultProps); }
private void assertNotFound(final String configName) { assertThat(resolver.resolve(configName, false), is(Optional.empty())); }
@Test public void shouldReturnEmptyForOtherConfigIfStrict() { assertThat(resolver.resolve("confluent.monitoring.interceptor.topic", true), is(Optional.empty())); }
@Test public void shouldResolveProducerConfig() { assertThat(resolver.resolve(ProducerConfig.BUFFER_MEMORY_CONFIG, true), is(resolvedItem(ProducerConfig.BUFFER_MEMORY_CONFIG, PRODUCER_CONFIG_DEF))); }
@Test public void shouldResolveProducerPrefixedProducerConfig() { assertThat(resolver.resolve( StreamsConfig.PRODUCER_PREFIX + ProducerConfig.BUFFER_MEMORY_CONFIG, true), is(resolvedItem(ProducerConfig.BUFFER_MEMORY_CONFIG, PRODUCER_CONFIG_DEF))); }
@Test public void shouldResolveKsqlPrefixedProducerConfig() { assertThat(resolver.resolve( KsqlConfig.KSQL_STREAMS_PREFIX + ProducerConfig.BUFFER_MEMORY_CONFIG, true), is(resolvedItem(ProducerConfig.BUFFER_MEMORY_CONFIG, PRODUCER_CONFIG_DEF))); }
@Test public void shouldResolveKsqlProperty() { assertThat(resolver.resolve(KsqlConfig.SINK_NUMBER_OF_PARTITIONS_PROPERTY, true), is(resolvedItem(KsqlConfig.SINK_NUMBER_OF_PARTITIONS_PROPERTY, KSQL_CONFIG_DEF))); }
@Test public void shouldResolveKnownKsqlFunctionProperty() { assertThat(resolver.resolve(KsqlConfig.KSQL_FUNCTIONS_SUBSTRING_LEGACY_ARGS_CONFIG, true), is(resolvedItem(KsqlConfig.KSQL_FUNCTIONS_SUBSTRING_LEGACY_ARGS_CONFIG, KSQL_CONFIG_DEF))); }
@Test public void shouldResolveKsqlConsumerPrefixedConsumerConfig() { assertThat(resolver.resolve( KsqlConfig.KSQL_STREAMS_PREFIX + StreamsConfig.CONSUMER_PREFIX + ConsumerConfig.FETCH_MIN_BYTES_CONFIG, true), is(resolvedItem(ConsumerConfig.FETCH_MIN_BYTES_CONFIG, CONSUMER_CONFIG_DEF))); }
@Test public void shouldResolveKsqlProducerPrefixedProducerConfig() { assertThat(resolver.resolve( KsqlConfig.KSQL_STREAMS_PREFIX + StreamsConfig.PRODUCER_PREFIX + ProducerConfig.BUFFER_MEMORY_CONFIG, true), is(resolvedItem(ProducerConfig.BUFFER_MEMORY_CONFIG, PRODUCER_CONFIG_DEF))); }
@Test public void shouldResolveKsqlStreamPrefixedStreamConfig() { assertThat(resolver.resolve( KsqlConfig.KSQL_STREAMS_PREFIX + StreamsConfig.COMMIT_INTERVAL_MS_CONFIG, true), is(resolvedItem(StreamsConfig.COMMIT_INTERVAL_MS_CONFIG, STREAMS_CONFIG_DEF))); }
@Test public void shouldResolveConsumerConfig() { assertThat(resolver.resolve(ConsumerConfig.FETCH_MIN_BYTES_CONFIG, true), is(resolvedItem(ConsumerConfig.FETCH_MIN_BYTES_CONFIG, CONSUMER_CONFIG_DEF))); }
@Test public void shouldResolveKsqlPrefixedConsumerConfig() { assertThat(resolver.resolve( KsqlConfig.KSQL_STREAMS_PREFIX + ConsumerConfig.FETCH_MIN_BYTES_CONFIG, true), is(resolvedItem(ConsumerConfig.FETCH_MIN_BYTES_CONFIG, CONSUMER_CONFIG_DEF))); }
@Test public void shouldReturnUnresolvedForOtherConfigIfNotStrict() { assertThat(resolver.resolve("confluent.monitoring.interceptor.topic", false), is(unresolvedItem("confluent.monitoring.interceptor.topic"))); }
@Test public void shouldReturnUnresolvedForOtherKsqlFunctionProperty() { assertThat( resolver.resolve(KsqlConfig.KSQL_FUNCTIONS_PROPERTY_PREFIX + "some_udf.some.prop", true), is(unresolvedItem(KsqlConfig.KSQL_FUNCTIONS_PROPERTY_PREFIX + "some_udf.some.prop"))); }
@Test public void shouldResolveStreamsConfig() { assertThat(resolver.resolve(StreamsConfig.COMMIT_INTERVAL_MS_CONFIG, true), is(resolvedItem(StreamsConfig.COMMIT_INTERVAL_MS_CONFIG, STREAMS_CONFIG_DEF))); }
@Test public void shouldResolveConsumerPrefixedConsumerConfig() { assertThat(resolver.resolve( StreamsConfig.CONSUMER_PREFIX + ConsumerConfig.FETCH_MIN_BYTES_CONFIG, true), is(resolvedItem(ConsumerConfig.FETCH_MIN_BYTES_CONFIG, CONSUMER_CONFIG_DEF))); }