Skip to content

Commit d5ea9b3

Browse files
committed
[app-builder] fix: avoid NullPointerException for unknown HTTP status codes (#595)
- Use getOrDefault() instead of get() in handleException method - Return INTERNAL_SERVICE_ERROR when statusCode is not in exceptionMap - Apply fix to both DataMateKnowledgeBaseManager and QianfanKnowledgeBaseManager
1 parent 77768eb commit d5ea9b3

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

app-builder/plugins/data-mate-knowledge/src/main/java/modelengine/fit/jade/datamate/knowledge/external/DataMateKnowledgeBaseManager.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,8 +136,9 @@ public DataMateRetrievalResult retrieve(String apiKey, DataMateRetrievalParam pa
136136

137137
private KnowledgeException handleException(HttpClientResponseException ex) {
138138
int statusCode = ex.statusCode();
139-
log.error(this.exceptionMap.get(statusCode).getMsg(), ex);
140-
return new KnowledgeException(this.exceptionMap.get(statusCode), ex, ex.getSimpleMessage());
139+
KnowledgeManagerRetCode retCode = this.exceptionMap.getOrDefault(statusCode, INTERNAL_SERVICE_ERROR);
140+
log.error(retCode.getMsg(), ex);
141+
return new KnowledgeException(retCode, ex, ex.getSimpleMessage());
141142
}
142143

143144
private HttpClassicClient getHttpClient() {

app-builder/plugins/qianfan-knowledge/src/main/java/modelengine/jade/knowledge/external/QianfanKnowledgeBaseManager.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,9 @@ public QianfanRetrievalResult retrieve(String apiKey, QianfanRetrievalParam para
119119

120120
private KnowledgeException handleException(HttpClientResponseException ex) {
121121
int statusCode = ex.statusCode();
122-
log.error(this.exceptionMap.get(statusCode).getMsg(), ex);
123-
return new KnowledgeException(this.exceptionMap.get(statusCode), ex.getSimpleMessage());
122+
KnowledgeManagerRetCode retCode = this.exceptionMap.getOrDefault(statusCode, INTERNAL_SERVICE_ERROR);
123+
log.error(retCode.getMsg(), ex);
124+
return new KnowledgeException(retCode, ex.getSimpleMessage());
124125
}
125126

126127
private HttpClassicClient getHttpClient() {

0 commit comments

Comments
 (0)