Skip to content

Commit fa60671

Browse files
Merge pull request #79 from richardsmithsfdc/master
Yet another add async support for S3
2 parents 50a9248 + e144457 commit fa60671

11 files changed

+1970
-204
lines changed

pom.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>com.amazonaws</groupId>
88
<artifactId>amazon-sqs-java-extended-client-lib</artifactId>
9-
<version>2.0.4</version>
9+
<version>2.1.0</version>
1010
<packaging>jar</packaging>
1111
<name>Amazon SQS Extended Client Library for Java</name>
1212
<description>An extension to the Amazon SQS client that enables sending and receiving messages up to 2GB via Amazon S3.
@@ -55,7 +55,7 @@
5555
<dependency>
5656
<groupId>software.amazon.payloadoffloading</groupId>
5757
<artifactId>payloadoffloading-common</artifactId>
58-
<version>2.1.3</version>
58+
<version>2.2.0</version>
5959
</dependency>
6060

6161
<!-- https://mvnrepository.com/artifact/commons-logging/commons-logging -->

src/main/java/com/amazon/sqs/javamessaging/AmazonSQSExtendedAsyncClient.java

+511
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,244 @@
1+
package com.amazon.sqs.javamessaging;
2+
3+
import java.util.concurrent.CompletableFuture;
4+
import software.amazon.awssdk.services.sqs.SqsAsyncClient;
5+
import software.amazon.awssdk.services.sqs.model.AddPermissionRequest;
6+
import software.amazon.awssdk.services.sqs.model.AddPermissionResponse;
7+
import software.amazon.awssdk.services.sqs.model.ChangeMessageVisibilityBatchRequest;
8+
import software.amazon.awssdk.services.sqs.model.ChangeMessageVisibilityBatchResponse;
9+
import software.amazon.awssdk.services.sqs.model.ChangeMessageVisibilityRequest;
10+
import software.amazon.awssdk.services.sqs.model.ChangeMessageVisibilityResponse;
11+
import software.amazon.awssdk.services.sqs.model.CreateQueueRequest;
12+
import software.amazon.awssdk.services.sqs.model.CreateQueueResponse;
13+
import software.amazon.awssdk.services.sqs.model.DeleteMessageBatchRequest;
14+
import software.amazon.awssdk.services.sqs.model.DeleteMessageBatchResponse;
15+
import software.amazon.awssdk.services.sqs.model.DeleteMessageRequest;
16+
import software.amazon.awssdk.services.sqs.model.DeleteMessageResponse;
17+
import software.amazon.awssdk.services.sqs.model.DeleteQueueRequest;
18+
import software.amazon.awssdk.services.sqs.model.DeleteQueueResponse;
19+
import software.amazon.awssdk.services.sqs.model.GetQueueAttributesRequest;
20+
import software.amazon.awssdk.services.sqs.model.GetQueueAttributesResponse;
21+
import software.amazon.awssdk.services.sqs.model.GetQueueUrlRequest;
22+
import software.amazon.awssdk.services.sqs.model.GetQueueUrlResponse;
23+
import software.amazon.awssdk.services.sqs.model.ListDeadLetterSourceQueuesRequest;
24+
import software.amazon.awssdk.services.sqs.model.ListDeadLetterSourceQueuesResponse;
25+
import software.amazon.awssdk.services.sqs.model.ListQueueTagsRequest;
26+
import software.amazon.awssdk.services.sqs.model.ListQueueTagsResponse;
27+
import software.amazon.awssdk.services.sqs.model.ListQueuesRequest;
28+
import software.amazon.awssdk.services.sqs.model.ListQueuesResponse;
29+
import software.amazon.awssdk.services.sqs.model.PurgeQueueRequest;
30+
import software.amazon.awssdk.services.sqs.model.PurgeQueueResponse;
31+
import software.amazon.awssdk.services.sqs.model.ReceiveMessageRequest;
32+
import software.amazon.awssdk.services.sqs.model.ReceiveMessageResponse;
33+
import software.amazon.awssdk.services.sqs.model.RemovePermissionRequest;
34+
import software.amazon.awssdk.services.sqs.model.RemovePermissionResponse;
35+
import software.amazon.awssdk.services.sqs.model.SendMessageBatchRequest;
36+
import software.amazon.awssdk.services.sqs.model.SendMessageBatchResponse;
37+
import software.amazon.awssdk.services.sqs.model.SendMessageRequest;
38+
import software.amazon.awssdk.services.sqs.model.SendMessageResponse;
39+
import software.amazon.awssdk.services.sqs.model.SetQueueAttributesRequest;
40+
import software.amazon.awssdk.services.sqs.model.SetQueueAttributesResponse;
41+
import software.amazon.awssdk.services.sqs.model.TagQueueRequest;
42+
import software.amazon.awssdk.services.sqs.model.TagQueueResponse;
43+
import software.amazon.awssdk.services.sqs.model.UntagQueueRequest;
44+
import software.amazon.awssdk.services.sqs.model.UntagQueueResponse;
45+
46+
abstract class AmazonSQSExtendedAsyncClientBase implements SqsAsyncClient {
47+
SqsAsyncClient amazonSqsToBeExtended;
48+
49+
public AmazonSQSExtendedAsyncClientBase(SqsAsyncClient sqsClient) {
50+
amazonSqsToBeExtended = sqsClient;
51+
}
52+
53+
/**
54+
* {@inheritDoc}
55+
*/
56+
@Override
57+
public CompletableFuture<SendMessageResponse> sendMessage(SendMessageRequest sendMessageRequest) {
58+
return amazonSqsToBeExtended.sendMessage(sendMessageRequest);
59+
}
60+
61+
/**
62+
* {@inheritDoc}
63+
*/
64+
@Override
65+
public CompletableFuture<ReceiveMessageResponse> receiveMessage(ReceiveMessageRequest receiveMessageRequest) {
66+
return amazonSqsToBeExtended.receiveMessage(receiveMessageRequest);
67+
}
68+
69+
/**
70+
* {@inheritDoc}
71+
*/
72+
@Override
73+
public CompletableFuture<DeleteMessageResponse> deleteMessage(DeleteMessageRequest deleteMessageRequest) {
74+
return amazonSqsToBeExtended.deleteMessage(deleteMessageRequest);
75+
}
76+
77+
/**
78+
* {@inheritDoc}
79+
*/
80+
@Override
81+
public CompletableFuture<SetQueueAttributesResponse> setQueueAttributes(
82+
SetQueueAttributesRequest setQueueAttributesRequest) {
83+
return amazonSqsToBeExtended.setQueueAttributes(setQueueAttributesRequest);
84+
}
85+
86+
/**
87+
* {@inheritDoc}
88+
*/
89+
@Override
90+
public CompletableFuture<ChangeMessageVisibilityBatchResponse> changeMessageVisibilityBatch(
91+
ChangeMessageVisibilityBatchRequest changeMessageVisibilityBatchRequest) {
92+
return amazonSqsToBeExtended.changeMessageVisibilityBatch(changeMessageVisibilityBatchRequest);
93+
}
94+
95+
/**
96+
* {@inheritDoc}
97+
*/
98+
@Override
99+
public CompletableFuture<ChangeMessageVisibilityResponse> changeMessageVisibility(
100+
ChangeMessageVisibilityRequest changeMessageVisibilityRequest) {
101+
return amazonSqsToBeExtended.changeMessageVisibility(changeMessageVisibilityRequest);
102+
}
103+
104+
/**
105+
* {@inheritDoc}
106+
*/
107+
@Override
108+
public CompletableFuture<GetQueueUrlResponse> getQueueUrl(GetQueueUrlRequest getQueueUrlRequest) {
109+
return amazonSqsToBeExtended.getQueueUrl(getQueueUrlRequest);
110+
}
111+
112+
/**
113+
* {@inheritDoc}
114+
*/
115+
@Override
116+
public CompletableFuture<RemovePermissionResponse> removePermission(
117+
RemovePermissionRequest removePermissionRequest) {
118+
return amazonSqsToBeExtended.removePermission(removePermissionRequest);
119+
}
120+
121+
/**
122+
* {@inheritDoc}
123+
*/
124+
@Override
125+
public CompletableFuture<GetQueueAttributesResponse> getQueueAttributes(
126+
GetQueueAttributesRequest getQueueAttributesRequest) {
127+
return amazonSqsToBeExtended.getQueueAttributes(getQueueAttributesRequest);
128+
}
129+
130+
/**
131+
* {@inheritDoc}
132+
*/
133+
@Override
134+
public CompletableFuture<SendMessageBatchResponse> sendMessageBatch(
135+
SendMessageBatchRequest sendMessageBatchRequest) {
136+
return amazonSqsToBeExtended.sendMessageBatch(sendMessageBatchRequest);
137+
}
138+
139+
/**
140+
* {@inheritDoc}
141+
*/
142+
@Override
143+
public CompletableFuture<PurgeQueueResponse> purgeQueue(PurgeQueueRequest purgeQueueRequest) {
144+
return amazonSqsToBeExtended.purgeQueue(purgeQueueRequest);
145+
}
146+
147+
/**
148+
* {@inheritDoc}
149+
*/
150+
@Override
151+
public CompletableFuture<ListDeadLetterSourceQueuesResponse> listDeadLetterSourceQueues(
152+
ListDeadLetterSourceQueuesRequest listDeadLetterSourceQueuesRequest) {
153+
return amazonSqsToBeExtended.listDeadLetterSourceQueues(listDeadLetterSourceQueuesRequest);
154+
}
155+
156+
/**
157+
* {@inheritDoc}
158+
*/
159+
@Override
160+
public CompletableFuture<DeleteQueueResponse> deleteQueue(DeleteQueueRequest deleteQueueRequest) {
161+
return amazonSqsToBeExtended.deleteQueue(deleteQueueRequest);
162+
}
163+
164+
/**
165+
* {@inheritDoc}
166+
*/
167+
@Override
168+
public CompletableFuture<ListQueuesResponse> listQueues(ListQueuesRequest listQueuesRequest) {
169+
return amazonSqsToBeExtended.listQueues(listQueuesRequest);
170+
}
171+
172+
/**
173+
* {@inheritDoc}
174+
*/
175+
@Override
176+
public CompletableFuture<ListQueuesResponse> listQueues() {
177+
return amazonSqsToBeExtended.listQueues();
178+
}
179+
180+
/**
181+
* {@inheritDoc}
182+
*/
183+
@Override
184+
public CompletableFuture<DeleteMessageBatchResponse> deleteMessageBatch(
185+
DeleteMessageBatchRequest deleteMessageBatchRequest) {
186+
return amazonSqsToBeExtended.deleteMessageBatch(deleteMessageBatchRequest);
187+
}
188+
189+
/**
190+
* {@inheritDoc}
191+
*/
192+
@Override
193+
public CompletableFuture<CreateQueueResponse> createQueue(CreateQueueRequest createQueueRequest) {
194+
return amazonSqsToBeExtended.createQueue(createQueueRequest);
195+
}
196+
197+
/**
198+
* {@inheritDoc}
199+
*/
200+
@Override
201+
public CompletableFuture<AddPermissionResponse> addPermission(AddPermissionRequest addPermissionRequest) {
202+
return amazonSqsToBeExtended.addPermission(addPermissionRequest);
203+
}
204+
205+
/**
206+
* {@inheritDoc}
207+
*/
208+
@Override
209+
public CompletableFuture<ListQueueTagsResponse> listQueueTags(final ListQueueTagsRequest listQueueTagsRequest) {
210+
return amazonSqsToBeExtended.listQueueTags(listQueueTagsRequest);
211+
}
212+
213+
/**
214+
* {@inheritDoc}
215+
*/
216+
@Override
217+
public CompletableFuture<TagQueueResponse> tagQueue(final TagQueueRequest tagQueueRequest) {
218+
return amazonSqsToBeExtended.tagQueue(tagQueueRequest);
219+
}
220+
221+
/**
222+
* {@inheritDoc}
223+
*/
224+
@Override
225+
public CompletableFuture<UntagQueueResponse> untagQueue(final UntagQueueRequest untagQueueRequest) {
226+
return amazonSqsToBeExtended.untagQueue(untagQueueRequest);
227+
}
228+
229+
/**
230+
* {@inheritDoc}
231+
*/
232+
@Override
233+
public String serviceName() {
234+
return amazonSqsToBeExtended.serviceName();
235+
}
236+
237+
/**
238+
* {@inheritDoc}
239+
*/
240+
@Override
241+
public void close() {
242+
amazonSqsToBeExtended.close();
243+
}
244+
}

0 commit comments

Comments
 (0)