Object[] parameters,
Expression expression) {
Preconditions.checkArgument(!(expression instanceof ArrayLiteral),
String.format("array literal not allowed for \"%s\"", ES_TO_CRATE_SETTINGS_MAP.get(TableParameterInfo.NUMBER_OF_REPLICAS)));
NumberOfReplicas numberOfReplicas;
try {
Integer numReplicas = ExpressionToNumberVisitor.convert(expression, parameters).intValue();
numberOfReplicas = new NumberOfReplicas(numReplicas);
} catch (IllegalArgumentException e) {
String numReplicas = ExpressionToObjectVisitor.convert(expression, parameters).toString();
numberOfReplicas = new NumberOfReplicas(numReplicas);
}
// in case the number_of_replicas is changing from auto_expand to a fixed number -> disable auto expand
settingsBuilder.put(TableParameterInfo.AUTO_EXPAND_REPLICAS, false);
settingsBuilder.put(numberOfReplicas.esSettingKey(), numberOfReplicas.esSettingValue());
}