3434import software .amazon .awssdk .protocols .json .JsonOperationMetadata ;
3535import software .amazon .awssdk .retries .api .RetryStrategy ;
3636import software .amazon .awssdk .services .querytojsoncompatible .internal .QueryToJsonCompatibleServiceClientConfigurationBuilder ;
37+ import software .amazon .awssdk .services .querytojsoncompatible .internal .ServiceVersionUserAgent ;
3738import software .amazon .awssdk .services .querytojsoncompatible .model .APostOperationRequest ;
3839import software .amazon .awssdk .services .querytojsoncompatible .model .APostOperationResponse ;
3940import software .amazon .awssdk .services .querytojsoncompatible .model .InvalidInputException ;
@@ -53,7 +54,7 @@ final class DefaultQueryToJsonCompatibleClient implements QueryToJsonCompatibleC
5354 private static final Logger log = Logger .loggerFor (DefaultQueryToJsonCompatibleClient .class );
5455
5556 private static final AwsProtocolMetadata protocolMetadata = AwsProtocolMetadata .builder ()
56- .serviceProtocol (AwsServiceProtocol .AWS_JSON ).build ();
57+ .serviceProtocol (AwsServiceProtocol .AWS_JSON ).build ();
5758
5859 private final SyncClientHandler clientHandler ;
5960
@@ -63,7 +64,8 @@ final class DefaultQueryToJsonCompatibleClient implements QueryToJsonCompatibleC
6364
6465 protected DefaultQueryToJsonCompatibleClient (SdkClientConfiguration clientConfiguration ) {
6566 this .clientHandler = new AwsSyncClientHandler (clientConfiguration );
66- this .clientConfiguration = clientConfiguration .toBuilder ().option (SdkClientOption .SDK_CLIENT , this ).build ();
67+ this .clientConfiguration = clientConfiguration .toBuilder ().option (SdkClientOption .SDK_CLIENT , this )
68+ .option (SdkClientOption .API_METADATA , ServiceVersionUserAgent .USER_AGENT ).build ();
6769 this .protocolFactory = init (AwsJsonProtocolFactory .builder ()).build ();
6870 }
6971
@@ -89,45 +91,45 @@ protected DefaultQueryToJsonCompatibleClient(SdkClientConfiguration clientConfig
8991 */
9092 @ Override
9193 public APostOperationResponse aPostOperation (APostOperationRequest aPostOperationRequest ) throws InvalidInputException ,
92- AwsServiceException , SdkClientException , QueryToJsonCompatibleException {
94+ AwsServiceException , SdkClientException , QueryToJsonCompatibleException {
9395 JsonOperationMetadata operationMetadata = JsonOperationMetadata .builder ().hasStreamingSuccessResponse (false )
94- .isPayloadJson (true ).build ();
96+ .isPayloadJson (true ).build ();
9597
9698 HttpResponseHandler <APostOperationResponse > responseHandler = protocolFactory .createResponseHandler (operationMetadata ,
97- APostOperationResponse ::builder );
99+ APostOperationResponse ::builder );
98100 Function <String , Optional <ExceptionMetadata >> exceptionMetadataMapper = errorCode -> {
99101 if (errorCode == null ) {
100102 return Optional .empty ();
101103 }
102104 switch (errorCode ) {
103- case "InvalidInput" :
104- return Optional .of (ExceptionMetadata .builder ().errorCode ("InvalidInput" ).httpStatusCode (400 )
105- .exceptionBuilderSupplier (InvalidInputException ::builder ).build ());
106- default :
107- return Optional .empty ();
105+ case "InvalidInput" :
106+ return Optional .of (ExceptionMetadata .builder ().errorCode ("InvalidInput" ).httpStatusCode (400 )
107+ .exceptionBuilderSupplier (InvalidInputException ::builder ).build ());
108+ default :
109+ return Optional .empty ();
108110 }
109111 };
110112 HttpResponseHandler <AwsServiceException > errorResponseHandler = createErrorResponseHandler (protocolFactory ,
111- operationMetadata , exceptionMetadataMapper );
113+ operationMetadata , exceptionMetadataMapper );
112114 SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration (aPostOperationRequest , this .clientConfiguration );
113115 List <MetricPublisher > metricPublishers = resolveMetricPublishers (clientConfiguration , aPostOperationRequest
114- .overrideConfiguration ().orElse (null ));
116+ .overrideConfiguration ().orElse (null ));
115117 MetricCollector apiCallMetricCollector = metricPublishers .isEmpty () ? NoOpMetricCollector .create () : MetricCollector
116- .create ("ApiCall" );
118+ .create ("ApiCall" );
117119 try {
118120 apiCallMetricCollector .reportMetric (CoreMetric .SERVICE_ID , "QueryToJsonCompatibleService" );
119121 apiCallMetricCollector .reportMetric (CoreMetric .OPERATION_NAME , "APostOperation" );
120122 String hostPrefix = "{StringMember}-foo." ;
121123 HostnameValidator .validateHostnameCompliant (aPostOperationRequest .stringMember (), "StringMember" ,
122- "aPostOperationRequest" );
124+ "aPostOperationRequest" );
123125 String resolvedHostExpression = String .format ("%s-foo." , aPostOperationRequest .stringMember ());
124126
125127 return clientHandler .execute (new ClientExecutionParams <APostOperationRequest , APostOperationResponse >()
126- .withOperationName ("APostOperation" ).withProtocolMetadata (protocolMetadata )
127- .withResponseHandler (responseHandler ).withErrorResponseHandler (errorResponseHandler )
128- .hostPrefixExpression (resolvedHostExpression ).withRequestConfiguration (clientConfiguration )
129- .withInput (aPostOperationRequest ).withMetricCollector (apiCallMetricCollector )
130- .withMarshaller (new APostOperationRequestMarshaller (protocolFactory )));
128+ .withOperationName ("APostOperation" ).withProtocolMetadata (protocolMetadata )
129+ .withResponseHandler (responseHandler ).withErrorResponseHandler (errorResponseHandler )
130+ .hostPrefixExpression (resolvedHostExpression ).withRequestConfiguration (clientConfiguration )
131+ .withInput (aPostOperationRequest ).withMetricCollector (apiCallMetricCollector )
132+ .withMarshaller (new APostOperationRequestMarshaller (protocolFactory )));
131133 } finally {
132134 metricPublishers .forEach (p -> p .publish (apiCallMetricCollector .collect ()));
133135 }
@@ -139,7 +141,7 @@ public final String serviceName() {
139141 }
140142
141143 private static List <MetricPublisher > resolveMetricPublishers (SdkClientConfiguration clientConfiguration ,
142- RequestOverrideConfiguration requestOverrideConfiguration ) {
144+ RequestOverrideConfiguration requestOverrideConfiguration ) {
143145 List <MetricPublisher > publishers = null ;
144146 if (requestOverrideConfiguration != null ) {
145147 publishers = requestOverrideConfiguration .metricPublishers ();
@@ -154,7 +156,7 @@ private static List<MetricPublisher> resolveMetricPublishers(SdkClientConfigurat
154156 }
155157
156158 private HttpResponseHandler <AwsServiceException > createErrorResponseHandler (BaseAwsJsonProtocolFactory protocolFactory ,
157- JsonOperationMetadata operationMetadata , Function <String , Optional <ExceptionMetadata >> exceptionMetadataMapper ) {
159+ JsonOperationMetadata operationMetadata , Function <String , Optional <ExceptionMetadata >> exceptionMetadataMapper ) {
158160 return protocolFactory .createErrorResponseHandler (operationMetadata , exceptionMetadataMapper );
159161 }
160162
@@ -188,7 +190,7 @@ private SdkClientConfiguration updateSdkClientConfiguration(SdkRequest request,
188190 return configuration .build ();
189191 }
190192 QueryToJsonCompatibleServiceClientConfigurationBuilder serviceConfigBuilder = new QueryToJsonCompatibleServiceClientConfigurationBuilder (
191- configuration );
193+ configuration );
192194 for (SdkPlugin plugin : plugins ) {
193195 plugin .configureClient (serviceConfigBuilder );
194196 }
@@ -198,8 +200,8 @@ private SdkClientConfiguration updateSdkClientConfiguration(SdkRequest request,
198200
199201 private <T extends BaseAwsJsonProtocolFactory .Builder <T >> T init (T builder ) {
200202 return builder .clientConfiguration (clientConfiguration )
201- .defaultServiceExceptionSupplier (QueryToJsonCompatibleException ::builder ).protocol (AwsJsonProtocol .AWS_JSON )
202- .protocolVersion ("1.1" ).hasAwsQueryCompatible (true );
203+ .defaultServiceExceptionSupplier (QueryToJsonCompatibleException ::builder ).protocol (AwsJsonProtocol .AWS_JSON )
204+ .protocolVersion ("1.1" ).hasAwsQueryCompatible (true );
203205 }
204206
205207 @ Override
0 commit comments