|
20 | 20 | import com.alibaba.fastjson.JSONObject;
|
21 | 21 | import com.huawei.push.exception.HuaweiMesssagingException;
|
22 | 22 | import com.huawei.push.message.Message;
|
| 23 | +import com.huawei.push.message.Review; |
23 | 24 | import com.huawei.push.message.TopicMessage;
|
24 | 25 | import com.huawei.push.model.TopicOperation;
|
25 | 26 | import com.huawei.push.reponse.SendResponse;
|
|
37 | 38 | import java.io.IOException;
|
38 | 39 | import java.text.MessageFormat;
|
39 | 40 | import java.util.HashMap;
|
| 41 | +import java.util.List; |
40 | 42 | import java.util.Map;
|
41 | 43 | import java.util.ResourceBundle;
|
42 | 44 |
|
@@ -69,9 +71,9 @@ public CloseableHttpClient getHttpClient() {
|
69 | 71 | }
|
70 | 72 |
|
71 | 73 | @Override
|
72 |
| - public SendResponse send(Message message, boolean validateOnly, String accessToken) throws HuaweiMesssagingException { |
| 74 | + public SendResponse send(Message message, boolean validateOnly, List<Review> review, String accessToken) throws HuaweiMesssagingException { |
73 | 75 | try {
|
74 |
| - return sendRequest(message, validateOnly, accessToken); |
| 76 | + return sendRequest(message, validateOnly, review, accessToken); |
75 | 77 | } catch (IOException e) {
|
76 | 78 | throw new HuaweiMesssagingException(HuaweiMessaging.INTERNAL_ERROR, "Error while calling HCM backend service", e);
|
77 | 79 | }
|
@@ -125,14 +127,14 @@ private SendResponse sendRequest(TopicMessage message, String operation, String
|
125 | 127 | /**
|
126 | 128 | * send request
|
127 | 129 | *
|
128 |
| - * @param message message {@link Message} |
| 130 | + * @param message message {@link Message} |
129 | 131 | * @param validateOnly A boolean indicating whether to send message for test or not.
|
130 | 132 | * @param accessToken A String for oauth
|
131 | 133 | * @return {@link SendResponse}
|
132 | 134 | * @throws IOException If a error occurs when sending request
|
133 | 135 | */
|
134 |
| - private SendResponse sendRequest(Message message, boolean validateOnly, String accessToken) throws IOException, HuaweiMesssagingException { |
135 |
| - Map<String, Object> map = createRequestMap(message, validateOnly); |
| 136 | + private SendResponse sendRequest(Message message, boolean validateOnly, List<Review> review, String accessToken) throws IOException, HuaweiMesssagingException { |
| 137 | + Map<String, Object> map = createRequestMap(message, validateOnly, review); |
136 | 138 | HttpPost httpPost = new HttpPost(this.HcmPushUrl);
|
137 | 139 | StringEntity entity = new StringEntity(JSON.toJSONString(map), "UTF-8");
|
138 | 140 | // String aqa = JSON.toJSONString(map);
|
@@ -163,13 +165,17 @@ private SendResponse sendRequest(Message message, boolean validateOnly, String a
|
163 | 165 | *
|
164 | 166 | * @param message A non-null {@link Message} to be sent.
|
165 | 167 | * @param validateOnly A boolean indicating whether to send message for test or not.
|
| 168 | + * @param review A list of {@link Review} objects. |
166 | 169 | * @return a map of request
|
167 | 170 | */
|
168 |
| - private Map<String, Object> createRequestMap(Message message, boolean validateOnly) { |
| 171 | + private Map<String, Object> createRequestMap(Message message, boolean validateOnly, List<Review> review) { |
169 | 172 | return new HashMap<String, Object>() {
|
170 | 173 | {
|
171 | 174 | put("validate_only", validateOnly);
|
172 | 175 | put("message", message);
|
| 176 | + if (review != null && review.size() > 0) { |
| 177 | + put("review", review); |
| 178 | + } |
173 | 179 | }
|
174 | 180 | };
|
175 | 181 | }
|
|
0 commit comments