Skip to content
Merged
Original file line number Diff line number Diff line change
Expand Up @@ -51,12 +51,10 @@ public static CodeBlock create(OperationModel operationModel, IntermediateModel

List<String> encodings = operationModel.getRequestCompression().getEncodings();

return CodeBlock.builder()
.add(CodeBlock.of(".putExecutionAttribute($T.REQUEST_COMPRESSION, "
+ "$T.builder().encodings($L).isStreaming($L).build())",
SdkInternalExecutionAttribute.class, RequestCompression.class,
encodings.stream().collect(Collectors.joining("\", \"", "\"", "\"")),
operationModel.hasStreamingInput()))
.build();
return CodeBlock.of(".putExecutionAttribute($T.REQUEST_COMPRESSION, "
+ "$T.builder().encodings($L).isStreaming($L).build())",
SdkInternalExecutionAttribute.class, RequestCompression.class,
encodings.stream().collect(Collectors.joining("\", \"", "\"", "\"")),
operationModel.hasStreamingInput());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,13 @@
* compression threshold in bytes.
*/
@SdkPublicApi
public final class RequestCompressionConfiguration implements ToCopyableBuilder<RequestCompressionConfiguration.Builder,
RequestCompressionConfiguration> {
public final class CompressionConfiguration implements ToCopyableBuilder<CompressionConfiguration.Builder,
CompressionConfiguration> {

private final Boolean requestCompressionEnabled;
private final Integer minimumCompressionThresholdInBytes;

private RequestCompressionConfiguration(DefaultBuilder builder) {
private CompressionConfiguration(DefaultBuilder builder) {
this.requestCompressionEnabled = builder.requestCompressionEnabled;
this.minimumCompressionThresholdInBytes = builder.minimumCompressionThresholdInBytes;
}
Expand All @@ -51,7 +51,7 @@ public Integer minimumCompressionThresholdInBytes() {
}

/**
* Create a {@link RequestCompressionConfiguration.Builder}, used to create a {@link RequestCompressionConfiguration}.
* Create a {@link CompressionConfiguration.Builder}, used to create a {@link CompressionConfiguration}.
*/
public static Builder builder() {
return new DefaultBuilder();
Expand All @@ -71,7 +71,7 @@ public boolean equals(Object o) {
return false;
}

RequestCompressionConfiguration that = (RequestCompressionConfiguration) o;
CompressionConfiguration that = (CompressionConfiguration) o;

if (!requestCompressionEnabled.equals(that.requestCompressionEnabled)) {
return false;
Expand All @@ -87,11 +87,11 @@ public int hashCode() {
}


public interface Builder extends CopyableBuilder<Builder, RequestCompressionConfiguration> {
public interface Builder extends CopyableBuilder<Builder, CompressionConfiguration> {

/**
* Configures whether request compression is enabled or not, for operations that have the "requestCompression" C2J trait.
* The default value is true.
* Configures whether request compression is enabled or not, for operations that the service has designated as
* supporting compression. The default value is true.
*
* @param requestCompressionEnabled
* @return This object for method chaining.
Expand All @@ -116,9 +116,9 @@ private static final class DefaultBuilder implements Builder {
private DefaultBuilder() {
}

private DefaultBuilder(RequestCompressionConfiguration requestCompressionConfiguration) {
this.requestCompressionEnabled = requestCompressionConfiguration.requestCompressionEnabled;
this.minimumCompressionThresholdInBytes = requestCompressionConfiguration.minimumCompressionThresholdInBytes;
private DefaultBuilder(CompressionConfiguration compressionConfiguration) {
this.requestCompressionEnabled = compressionConfiguration.requestCompressionEnabled;
this.minimumCompressionThresholdInBytes = compressionConfiguration.minimumCompressionThresholdInBytes;
}

@Override
Expand All @@ -134,8 +134,8 @@ public Builder minimumCompressionThresholdInBytes(Integer minimumCompressionThre
}

@Override
public RequestCompressionConfiguration build() {
return new RequestCompressionConfiguration(this);
public CompressionConfiguration build() {
return new CompressionConfiguration(this);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ public abstract class RequestOverrideConfiguration {
private final List<MetricPublisher> metricPublishers;
private final ExecutionAttributes executionAttributes;
private final EndpointProvider endpointProvider;
private final RequestCompressionConfiguration requestCompressionConfiguration;
private final CompressionConfiguration compressionConfiguration;

protected RequestOverrideConfiguration(Builder<?> builder) {
this.headers = CollectionUtils.deepUnmodifiableMap(builder.headers(), () -> new TreeMap<>(String.CASE_INSENSITIVE_ORDER));
Expand All @@ -64,7 +64,7 @@ protected RequestOverrideConfiguration(Builder<?> builder) {
this.metricPublishers = Collections.unmodifiableList(new ArrayList<>(builder.metricPublishers()));
this.executionAttributes = ExecutionAttributes.unmodifiableExecutionAttributes(builder.executionAttributes());
this.endpointProvider = builder.endpointProvider();
this.requestCompressionConfiguration = builder.requestCompressionConfiguration();
this.compressionConfiguration = builder.compressionConfiguration();
}

/**
Expand Down Expand Up @@ -167,12 +167,12 @@ public Optional<EndpointProvider> endpointProvider() {
}

/**
* Returns the request compression configuration object, if present, which includes options to enable/disable request
* compression and set the minimum compression threshold. This request compression config object supersedes the request
* compression config object set on the client.
* Returns the compression configuration object, if present, which includes options to enable/disable compression and set
* the minimum compression threshold. This compression config object supersedes the compression config object set on the
* client.
*/
public Optional<RequestCompressionConfiguration> requestCompressionConfiguration() {
return Optional.ofNullable(requestCompressionConfiguration);
public Optional<CompressionConfiguration> compressionConfiguration() {
return Optional.ofNullable(compressionConfiguration);
}

@Override
Expand All @@ -193,7 +193,7 @@ public boolean equals(Object o) {
Objects.equals(metricPublishers, that.metricPublishers) &&
Objects.equals(executionAttributes, that.executionAttributes) &&
Objects.equals(endpointProvider, that.endpointProvider) &&
Objects.equals(requestCompressionConfiguration, that.requestCompressionConfiguration);
Objects.equals(compressionConfiguration, that.compressionConfiguration);
}

@Override
Expand All @@ -208,7 +208,7 @@ public int hashCode() {
hashCode = 31 * hashCode + Objects.hashCode(metricPublishers);
hashCode = 31 * hashCode + Objects.hashCode(executionAttributes);
hashCode = 31 * hashCode + Objects.hashCode(endpointProvider);
hashCode = 31 * hashCode + Objects.hashCode(requestCompressionConfiguration);
hashCode = 31 * hashCode + Objects.hashCode(compressionConfiguration);
return hashCode;
}

Expand Down Expand Up @@ -451,26 +451,24 @@ default B putRawQueryParameter(String name, String value) {
EndpointProvider endpointProvider();

/**
* Sets the {@link RequestCompressionConfiguration} for this request. The order of precedence, from highest to lowest,
* Sets the {@link CompressionConfiguration} for this request. The order of precedence, from highest to lowest,
* for this setting is: 1) Per request configuration 2) Client configuration 3) Environment variables 4) Profile setting.
*
* @param requestCompressionConfiguration Request compression configuration object for this request.
* @param compressionConfiguration Request compression configuration object for this request.
*/
B requestCompressionConfiguration(RequestCompressionConfiguration requestCompressionConfiguration);
B compressionConfiguration(CompressionConfiguration compressionConfiguration);

/**
* Sets the {@link RequestCompressionConfiguration} for this request. The order of precedence, from highest to lowest,
* Sets the {@link CompressionConfiguration} for this request. The order of precedence, from highest to lowest,
* for this setting is: 1) Per request configuration 2) Client configuration 3) Environment variables 4) Profile setting.
*
* @param requestCompressionConfigurationConsumer A {@link Consumer} that accepts a
* {@link RequestCompressionConfiguration.Builder}
* @param compressionConfigurationConsumer A {@link Consumer} that accepts a {@link CompressionConfiguration.Builder}
*
* @return This object for method chaining
*/
B requestCompressionConfiguration(Consumer<RequestCompressionConfiguration.Builder>
requestCompressionConfigurationConsumer);
B compressionConfiguration(Consumer<CompressionConfiguration.Builder> compressionConfigurationConsumer);

RequestCompressionConfiguration requestCompressionConfiguration();
CompressionConfiguration compressionConfiguration();

/**
* Create a new {@code SdkRequestOverrideConfiguration} with the properties set on this builder.
Expand All @@ -490,7 +488,7 @@ protected abstract static class BuilderImpl<B extends Builder> implements Builde
private List<MetricPublisher> metricPublishers = new ArrayList<>();
private ExecutionAttributes.Builder executionAttributesBuilder = ExecutionAttributes.builder();
private EndpointProvider endpointProvider;
private RequestCompressionConfiguration requestCompressionConfiguration;
private CompressionConfiguration compressionConfiguration;

protected BuilderImpl() {
}
Expand All @@ -505,7 +503,7 @@ protected BuilderImpl(RequestOverrideConfiguration sdkRequestOverrideConfig) {
metricPublishers(sdkRequestOverrideConfig.metricPublishers());
executionAttributes(sdkRequestOverrideConfig.executionAttributes());
endpointProvider(sdkRequestOverrideConfig.endpointProvider);
requestCompressionConfiguration(sdkRequestOverrideConfig.requestCompressionConfiguration);
compressionConfiguration(sdkRequestOverrideConfig.compressionConfiguration);
}

@Override
Expand Down Expand Up @@ -676,23 +674,22 @@ public EndpointProvider endpointProvider() {
}

@Override
public B requestCompressionConfiguration(RequestCompressionConfiguration requestCompressionConfiguration) {
this.requestCompressionConfiguration = requestCompressionConfiguration;
public B compressionConfiguration(CompressionConfiguration compressionConfiguration) {
this.compressionConfiguration = compressionConfiguration;
return (B) this;
}

@Override
public B requestCompressionConfiguration(Consumer<RequestCompressionConfiguration.Builder>
requestCompressionConfigurationConsumer) {
RequestCompressionConfiguration.Builder b = RequestCompressionConfiguration.builder();
requestCompressionConfigurationConsumer.accept(b);
requestCompressionConfiguration(b.build());
public B compressionConfiguration(Consumer<CompressionConfiguration.Builder> compressionConfigurationConsumer) {
CompressionConfiguration.Builder b = CompressionConfiguration.builder();
compressionConfigurationConsumer.accept(b);
compressionConfiguration(b.build());
return (B) this;
}

@Override
public RequestCompressionConfiguration requestCompressionConfiguration() {
return requestCompressionConfiguration;
public CompressionConfiguration compressionConfiguration() {
return compressionConfiguration;
}
}
}
Loading