This is an automated email from the ASF dual-hosted git repository.
oalsafi pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 1176359 Small QueueOperationResponse refactor in
camel-azure-storage-queue component
1176359 is described below
commit 117635989a8e22f41f1acb31bcab1e96830367a2
Author: Omar Al-Safi <[email protected]>
AuthorDate: Thu Aug 12 11:56:39 2021 +0200
Small QueueOperationResponse refactor in camel-azure-storage-queue component
---
.../queue/operations/QueueOperationResponse.java | 58 +++++++++++++++++++---
.../storage/queue/operations/QueueOperations.java | 30 +++--------
.../queue/operations/QueueServiceOperations.java | 4 +-
3 files changed, 59 insertions(+), 33 deletions(-)
diff --git
a/components/camel-azure/camel-azure-storage-queue/src/main/java/org/apache/camel/component/azure/storage/queue/operations/QueueOperationResponse.java
b/components/camel-azure/camel-azure-storage-queue/src/main/java/org/apache/camel/component/azure/storage/queue/operations/QueueOperationResponse.java
index e3c4010..fe6ad14 100644
---
a/components/camel-azure/camel-azure-storage-queue/src/main/java/org/apache/camel/component/azure/storage/queue/operations/QueueOperationResponse.java
+++
b/components/camel-azure/camel-azure-storage-queue/src/main/java/org/apache/camel/component/azure/storage/queue/operations/QueueOperationResponse.java
@@ -19,28 +19,72 @@ package
org.apache.camel.component.azure.storage.queue.operations;
import java.util.HashMap;
import java.util.Map;
-public class QueueOperationResponse {
+import com.azure.core.http.rest.Response;
+import com.azure.storage.queue.models.SendMessageResult;
+import org.apache.camel.component.azure.storage.queue.QueueExchangeHeaders;
+
+public final class QueueOperationResponse {
private Object body;
private Map<String, Object> headers = new HashMap<>();
- public QueueOperationResponse() {
- }
-
public QueueOperationResponse(final Object body, final Map<String, Object>
headers) {
this.body = body;
this.headers = headers;
}
- public QueueOperationResponse(final Object body) {
+ private QueueOperationResponse(final Object body) {
setBody(body);
}
+ public static QueueOperationResponse create(final Object body) {
+ return new QueueOperationResponse(body);
+ }
+
+ public static QueueOperationResponse create(final Object body, final
Map<String, Object> headers) {
+ return new QueueOperationResponse(body, headers);
+ }
+
+ @SuppressWarnings("rawtypes")
+ public static QueueOperationResponse create(final Response response) {
+ return buildResponse(response, false);
+ }
+
+ public static QueueOperationResponse createWithEmptyBody(final Map<String,
Object> headers) {
+ return new QueueOperationResponse(true, headers);
+ }
+
+ public static QueueOperationResponse createWithEmptyBody() {
+ return new QueueOperationResponse(true);
+ }
+
+ @SuppressWarnings("rawtypes")
+ public static QueueOperationResponse createWithEmptyBody(final Response
response) {
+ return buildResponse(response, true);
+ }
+
+ @SuppressWarnings("rawtypes")
+ private static QueueOperationResponse buildResponse(final Response
response, final boolean emptyBody) {
+ final Object body = emptyBody ? true : response.getValue();
+ QueueExchangeHeaders exchangeHeaders;
+
+ if (response.getValue() instanceof SendMessageResult) {
+ exchangeHeaders = QueueExchangeHeaders
+
.createQueueExchangeHeadersFromSendMessageResult((SendMessageResult)
response.getValue());
+ } else {
+ exchangeHeaders = new QueueExchangeHeaders();
+ }
+
+ exchangeHeaders.httpHeaders(response.getHeaders());
+
+ return new QueueOperationResponse(body, exchangeHeaders.toMap());
+ }
+
public Object getBody() {
return body;
}
- public void setBody(Object body) {
+ private void setBody(Object body) {
this.body = body;
}
@@ -48,7 +92,7 @@ public class QueueOperationResponse {
return headers;
}
- public void setHeaders(final Map<String, Object> headers) {
+ private void setHeaders(final Map<String, Object> headers) {
this.headers = headers;
}
}
diff --git
a/components/camel-azure/camel-azure-storage-queue/src/main/java/org/apache/camel/component/azure/storage/queue/operations/QueueOperations.java
b/components/camel-azure/camel-azure-storage-queue/src/main/java/org/apache/camel/component/azure/storage/queue/operations/QueueOperations.java
index 999e78b..a7fbe4d 100644
---
a/components/camel-azure/camel-azure-storage-queue/src/main/java/org/apache/camel/component/azure/storage/queue/operations/QueueOperations.java
+++
b/components/camel-azure/camel-azure-storage-queue/src/main/java/org/apache/camel/component/azure/storage/queue/operations/QueueOperations.java
@@ -20,7 +20,6 @@ import java.time.Duration;
import java.util.Map;
import com.azure.core.http.rest.Response;
-import com.azure.storage.queue.models.SendMessageResult;
import com.azure.storage.queue.models.UpdateMessageResult;
import org.apache.camel.Exchange;
import org.apache.camel.component.azure.storage.queue.QueueConfiguration;
@@ -119,7 +118,7 @@ public class QueueOperations {
public QueueOperationResponse receiveMessages(final Exchange exchange) {
if (exchange == null) {
- return new QueueOperationResponse(
+ return QueueOperationResponse.create(
client.receiveMessages(configurationOptionsProxy.getMaxMessages(null),
configurationOptionsProxy.getVisibilityTimeout(null),
configurationOptionsProxy.getTimeout(null)));
@@ -129,12 +128,12 @@ public class QueueOperations {
final Duration visibilityTimeout =
configurationOptionsProxy.getVisibilityTimeout(exchange);
final Duration timeout =
configurationOptionsProxy.getTimeout(exchange);
- return new QueueOperationResponse(client.receiveMessages(maxMessages,
visibilityTimeout, timeout));
+ return
QueueOperationResponse.create(client.receiveMessages(maxMessages,
visibilityTimeout, timeout));
}
public QueueOperationResponse peekMessages(final Exchange exchange) {
if (exchange == null) {
- return new QueueOperationResponse(
+ return QueueOperationResponse.create(
client.peekMessages(configurationOptionsProxy.getMaxMessages(null),
configurationOptionsProxy.getTimeout(null)));
}
@@ -142,7 +141,7 @@ public class QueueOperations {
final Integer maxMessages =
configurationOptionsProxy.getMaxMessages(exchange);
final Duration timeout =
configurationOptionsProxy.getTimeout(exchange);
- return new QueueOperationResponse(client.peekMessages(maxMessages,
timeout));
+ return QueueOperationResponse.create(client.peekMessages(maxMessages,
timeout));
}
public QueueOperationResponse updateMessage(final Exchange exchange) {
@@ -182,28 +181,11 @@ public class QueueOperations {
.popReceipt(response.getValue().getPopReceipt())
.httpHeaders(response.getHeaders());
- return new QueueOperationResponse(true, headers.toMap());
+ return QueueOperationResponse.createWithEmptyBody(headers.toMap());
}
@SuppressWarnings("rawtypes")
private QueueOperationResponse buildResponseWithEmptyBody(final Response
response) {
- return buildResponse(response, true);
- }
-
- @SuppressWarnings("rawtypes")
- private QueueOperationResponse buildResponse(final Response response,
final boolean emptyBody) {
- final Object body = emptyBody ? true : response.getValue();
- QueueExchangeHeaders exchangeHeaders;
-
- if (response.getValue() instanceof SendMessageResult) {
- exchangeHeaders = QueueExchangeHeaders
-
.createQueueExchangeHeadersFromSendMessageResult((SendMessageResult)
response.getValue());
- } else {
- exchangeHeaders = new QueueExchangeHeaders();
- }
-
- exchangeHeaders.httpHeaders(response.getHeaders());
-
- return new QueueOperationResponse(body, exchangeHeaders.toMap());
+ return QueueOperationResponse.createWithEmptyBody(response);
}
}
diff --git
a/components/camel-azure/camel-azure-storage-queue/src/main/java/org/apache/camel/component/azure/storage/queue/operations/QueueServiceOperations.java
b/components/camel-azure/camel-azure-storage-queue/src/main/java/org/apache/camel/component/azure/storage/queue/operations/QueueServiceOperations.java
index 0db342a..8ed22d6 100644
---
a/components/camel-azure/camel-azure-storage-queue/src/main/java/org/apache/camel/component/azure/storage/queue/operations/QueueServiceOperations.java
+++
b/components/camel-azure/camel-azure-storage-queue/src/main/java/org/apache/camel/component/azure/storage/queue/operations/QueueServiceOperations.java
@@ -42,11 +42,11 @@ public class QueueServiceOperations {
public QueueOperationResponse listQueues(final Exchange exchange) {
if (exchange == null) {
- return new QueueOperationResponse(client.listQueues(null, null));
+ return QueueOperationResponse.create(client.listQueues(null,
null));
}
final QueuesSegmentOptions segmentOptions =
configurationOptionsProxy.getQueuesSegmentOptions(exchange);
final Duration timeout =
configurationOptionsProxy.getTimeout(exchange);
- return new QueueOperationResponse(client.listQueues(segmentOptions,
timeout));
+ return QueueOperationResponse.create(client.listQueues(segmentOptions,
timeout));
}
}