@SuppressWarnings("MethodMayBeStatic") // Can not be static as used in validator map private KsqlEntity setProperty( final PreparedStatement<SetProperty> stmt, final Map<String, Object> propertyOverrides ) { final SetProperty statement = stmt.getStatement(); propertyOverrides.put(statement.getPropertyName(), statement.getPropertyValue()); return null; }
private void handleSetProperty(final PreparedStatement<SetProperty> statement) { final SetProperty setProperty = statement.getStatement(); configProperties.put(setProperty.getPropertyName(), setProperty.getPropertyValue()); }
@SuppressFBWarnings("RV_RETURN_VALUE_IGNORED_INFERRED") private void validateSetPropertyStatement(final PreparedStatement<SetProperty> statement) { if (isUnknownPropertyName(statement.getStatement().getPropertyName())) { throw new KsqlRestException(Errors.badStatement( "Unknown property", statement.getStatementText())); } try { ksqlConfig.cloneWithPropertyOverwrite(ImmutableMap.of( statement.getStatement().getPropertyName(), statement.getStatement().getPropertyValue())); } catch (final Exception e) { throw new KsqlRestException(Errors.badStatement(e, statement.getStatementText())); } }
@Test public void testSetProperties() { final String simpleQuery = "set 'auto.offset.reset'='earliest';"; final Statement statement = KSQL_PARSER.buildAst(simpleQuery, metaStore).get(0).getStatement(); Assert.assertTrue(statement instanceof SetProperty); final SetProperty setProperty = (SetProperty) statement; Assert.assertTrue(setProperty.toString().equalsIgnoreCase("SetProperty{}")); Assert.assertTrue(setProperty.getPropertyName().equalsIgnoreCase("auto.offset.reset")); Assert.assertTrue(setProperty.getPropertyValue().equalsIgnoreCase("earliest")); }