@@ -1102,7 +1102,7 @@ private byte[] json(Object object) {
1102
1102
}
1103
1103
}
1104
1104
1105
- private <T > ListenableFuture <T > submit (Request request , AsyncCompletionHandler <T > handler ) {
1105
+ private <T > ListenableFuture <T > submit (Request request , ZendeskAsyncCompletionHandler <T > handler ) {
1106
1106
try {
1107
1107
if (request .getStringData () != null ) {
1108
1108
logger .debug ("Request {} {}\n {}" , request .getMethod (), request .getUrl (), request .getStringData ());
@@ -1113,8 +1113,19 @@ private <T> ListenableFuture<T> submit(Request request, AsyncCompletionHandler<T
1113
1113
logger .debug ("Request {} {}" , request .getMethod (), request .getUrl ());
1114
1114
}
1115
1115
return client .executeRequest (request , handler );
1116
- } catch (IOException e ) {
1117
- throw new ZendeskException (e .getMessage (), e );
1116
+ } catch (Throwable t ) {
1117
+ throw new ZendeskException (t );
1118
+ }
1119
+ }
1120
+
1121
+ private static abstract class ZendeskAsyncCompletionHandler <T > extends AsyncCompletionHandler <T > {
1122
+ @ Override
1123
+ public void onThrowable (Throwable t ) {
1124
+ if (t instanceof IOException ) {
1125
+ throw new ZendeskException (t );
1126
+ } else {
1127
+ super .onThrowable (t );
1128
+ }
1118
1129
}
1119
1130
}
1120
1131
@@ -1148,8 +1159,8 @@ private Request req(String method, Uri template, String contentType, byte[] body
1148
1159
return builder .build ();
1149
1160
}
1150
1161
1151
- protected AsyncCompletionHandler <Void > handleStatus () {
1152
- return new AsyncCompletionHandler <Void >() {
1162
+ protected ZendeskAsyncCompletionHandler <Void > handleStatus () {
1163
+ return new ZendeskAsyncCompletionHandler <Void >() {
1153
1164
@ Override
1154
1165
public Void onCompleted (Response response ) throws Exception {
1155
1166
logResponse (response );
@@ -1162,8 +1173,8 @@ public Void onCompleted(Response response) throws Exception {
1162
1173
}
1163
1174
1164
1175
@ SuppressWarnings ("unchecked" )
1165
- protected <T > AsyncCompletionHandler <T > handle (final Class <T > clazz ) {
1166
- return new AsyncCompletionHandler <T >() {
1176
+ protected <T > ZendeskAsyncCompletionHandler <T > handle (final Class <T > clazz ) {
1177
+ return new ZendeskAsyncCompletionHandler <T >() {
1167
1178
@ Override
1168
1179
public T onCompleted (Response response ) throws Exception {
1169
1180
logResponse (response );
@@ -1178,8 +1189,8 @@ public T onCompleted(Response response) throws Exception {
1178
1189
};
1179
1190
}
1180
1191
1181
- protected <T > AsyncCompletionHandler <T > handle (final Class <T > clazz , final String name ) {
1182
- return new AsyncCompletionHandler <T >() {
1192
+ protected <T > ZendeskAsyncCompletionHandler <T > handle (final Class <T > clazz , final String name ) {
1193
+ return new ZendeskAsyncCompletionHandler <T >() {
1183
1194
@ Override
1184
1195
public T onCompleted (Response response ) throws Exception {
1185
1196
logResponse (response );
@@ -1196,7 +1207,7 @@ public T onCompleted(Response response) throws Exception {
1196
1207
1197
1208
private static final String NEXT_PAGE = "next_page" ;
1198
1209
1199
- private abstract class PagedAsyncCompletionHandler <T > extends AsyncCompletionHandler <T > {
1210
+ private abstract class PagedAsyncCompletionHandler <T > extends ZendeskAsyncCompletionHandler <T > {
1200
1211
private String nextPage ;
1201
1212
1202
1213
public void setPagedProperties (JsonNode responseNode , Class <?> clazz ) {
@@ -1215,7 +1226,6 @@ public String getNextPage() {
1215
1226
1216
1227
protected <T > PagedAsyncCompletionHandler <List <T >> handleList (final Class <T > clazz , final String name ) {
1217
1228
return new PagedAsyncCompletionHandler <List <T >>() {
1218
-
1219
1229
@ Override
1220
1230
public List <T > onCompleted (Response response ) throws Exception {
1221
1231
logResponse (response );
@@ -1235,7 +1245,6 @@ public List<T> onCompleted(Response response) throws Exception {
1235
1245
1236
1246
protected PagedAsyncCompletionHandler <List <SearchResultEntity >> handleSearchList (final String name ) {
1237
1247
return new PagedAsyncCompletionHandler <List <SearchResultEntity >>() {
1238
-
1239
1248
@ Override
1240
1249
public List <SearchResultEntity > onCompleted (Response response ) throws Exception {
1241
1250
logResponse (response );
@@ -1258,7 +1267,6 @@ public List<SearchResultEntity> onCompleted(Response response) throws Exception
1258
1267
1259
1268
protected PagedAsyncCompletionHandler <List <Target >> handleTargetList (final String name ) {
1260
1269
return new PagedAsyncCompletionHandler <List <Target >>() {
1261
-
1262
1270
@ Override
1263
1271
public List <Target > onCompleted (Response response ) throws Exception {
1264
1272
logResponse (response );
0 commit comments