Skip to content

Commit d2ea654

Browse files
refactor: replace ObjectMapper instantiation with JsonUtils.getObjectMapper()
1 parent 75287b5 commit d2ea654

File tree

11 files changed

+32
-18
lines changed

11 files changed

+32
-18
lines changed

spring-ai-alibaba-data-agent-chat/src/main/java/com/alibaba/cloud/ai/dto/schema/ColumnDTO.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616
package com.alibaba.cloud.ai.dto.schema;
1717

18+
import com.alibaba.cloud.ai.util.JsonUtils;
1819
import com.fasterxml.jackson.core.JsonProcessingException;
1920
import com.fasterxml.jackson.databind.ObjectMapper;
2021

@@ -105,7 +106,7 @@ public void setMapping(Map<String, String> mapping) {
105106

106107
@Override
107108
public String toString() {
108-
ObjectMapper objectMapper = new ObjectMapper();
109+
ObjectMapper objectMapper = JsonUtils.getObjectMapper();
109110
try {
110111
return objectMapper.writeValueAsString(this);
111112
}

spring-ai-alibaba-data-agent-chat/src/main/java/com/alibaba/cloud/ai/dto/schema/TableDTO.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616
package com.alibaba.cloud.ai.dto.schema;
1717

18+
import com.alibaba.cloud.ai.util.JsonUtils;
1819
import com.fasterxml.jackson.core.JsonProcessingException;
1920
import com.fasterxml.jackson.databind.ObjectMapper;
2021

@@ -65,7 +66,7 @@ public void setPrimaryKeys(List<String> primaryKeys) {
6566

6667
@Override
6768
public String toString() {
68-
ObjectMapper objectMapper = new ObjectMapper();
69+
ObjectMapper objectMapper = JsonUtils.getObjectMapper();
6970
try {
7071
return objectMapper.writeValueAsString(this);
7172
}

spring-ai-alibaba-data-agent-chat/src/main/java/com/alibaba/cloud/ai/pojo/ExecutionStep.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package com.alibaba.cloud.ai.pojo;
1818

19+
import com.alibaba.cloud.ai.util.JsonUtils;
1920
import com.fasterxml.jackson.annotation.JsonProperty;
2021
import com.fasterxml.jackson.core.JsonProcessingException;
2122
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -89,7 +90,7 @@ public void setInputDataDescription(String inputDataDescription) {
8990
}
9091

9192
public String toJsonStr() {
92-
ObjectMapper objectMapper = new ObjectMapper();
93+
ObjectMapper objectMapper = JsonUtils.getObjectMapper();
9394
try {
9495
return objectMapper.writeValueAsString(this);
9596
}

spring-ai-alibaba-data-agent-chat/src/main/java/com/alibaba/cloud/ai/pojo/Plan.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package com.alibaba.cloud.ai.pojo;
1818

19+
import com.alibaba.cloud.ai.util.JsonUtils;
1920
import com.fasterxml.jackson.annotation.JsonProperty;
2021
import com.fasterxml.jackson.core.JsonProcessingException;
2122
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -60,7 +61,7 @@ public String toString() {
6061
}
6162

6263
public String toJsonStr() {
63-
ObjectMapper objectMapper = new ObjectMapper();
64+
ObjectMapper objectMapper = JsonUtils.getObjectMapper();
6465
try {
6566
return objectMapper.writeValueAsString(this);
6667
}

spring-ai-alibaba-data-agent-chat/src/main/java/com/alibaba/cloud/ai/service/base/BaseNl2SqlService.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
import com.alibaba.cloud.ai.util.MarkdownParser;
3030
import com.fasterxml.jackson.core.JsonProcessingException;
3131
import com.fasterxml.jackson.core.type.TypeReference;
32-
import com.fasterxml.jackson.databind.ObjectMapper;
32+
import com.alibaba.cloud.ai.util.JsonUtils;
3333
import org.slf4j.Logger;
3434
import org.slf4j.LoggerFactory;
3535
import org.springframework.ai.chat.model.ChatResponse;
@@ -228,8 +228,9 @@ public List<String> expandQuestion(String query) {
228228
String content = aiService.call(prompt);
229229

230230
// Parse JSON response
231-
List<String> expandedQuestions = new ObjectMapper().readValue(content, new TypeReference<List<String>>() {
232-
});
231+
List<String> expandedQuestions = JsonUtils.getObjectMapper()
232+
.readValue(content, new TypeReference<List<String>>() {
233+
});
233234

234235
if (expandedQuestions == null || expandedQuestions.isEmpty()) {
235236
logger.warn("No expanded questions generated, returning original query");
@@ -282,7 +283,7 @@ public List<String> extractKeywords(String query, List<String> evidenceList) thr
282283
logger.debug("Calling LLM for keyword extraction");
283284
String content = aiService.call(prompt);
284285

285-
List<String> keywords = new ObjectMapper().readValue(content, new TypeReference<List<String>>() {
286+
List<String> keywords = JsonUtils.getObjectMapper().readValue(content, new TypeReference<List<String>>() {
286287
});
287288
logger.debug("Extracted {} keywords: {}", keywords != null ? keywords.size() : 0, keywords);
288289
return keywords;
@@ -364,7 +365,7 @@ public Set<String> fineSelect(SchemaDTO schemaDTO, String sqlGenerateSchemaMissi
364365
String jsonContent = MarkdownParser.extractText(content);
365366
List<String> tableList;
366367
try {
367-
tableList = new ObjectMapper().readValue(jsonContent, new TypeReference<List<String>>() {
368+
tableList = JsonUtils.getObjectMapper().readValue(jsonContent, new TypeReference<List<String>>() {
368369
});
369370
}
370371
catch (Exception e) {
@@ -414,7 +415,7 @@ public SchemaDTO fineSelect(SchemaDTO schemaDTO, String query, List<String> evid
414415
String jsonContent = MarkdownParser.extractText(content);
415416
List<String> tableList;
416417
try {
417-
tableList = new ObjectMapper().readValue(jsonContent, new TypeReference<List<String>>() {
418+
tableList = JsonUtils.getObjectMapper().readValue(jsonContent, new TypeReference<List<String>>() {
418419
});
419420
}
420421
catch (Exception e) {

spring-ai-alibaba-data-agent-common/src/main/java/com/alibaba/cloud/ai/connector/bo/ResultSetBO.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616
package com.alibaba.cloud.ai.connector.bo;
1717

18+
import com.alibaba.cloud.ai.util.JsonUtils;
1819
import com.fasterxml.jackson.core.JsonProcessingException;
1920
import com.fasterxml.jackson.databind.ObjectMapper;
2021

@@ -115,7 +116,7 @@ public ResultSetBO build() {
115116
* @return JSON string
116117
*/
117118
public String toJsonStr() {
118-
ObjectMapper objectMapper = new ObjectMapper();
119+
ObjectMapper objectMapper = JsonUtils.getObjectMapper();
119120
try {
120121
return objectMapper.writeValueAsString(this);
121122
}

spring-ai-alibaba-data-agent-common/src/main/java/com/alibaba/cloud/ai/util/JsonUtils.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ public class JsonUtils {
2626

2727
private static final ObjectMapper objectMapper = new ObjectMapper();
2828

29+
public static ObjectMapper getObjectMapper() {
30+
return objectMapper;
31+
}
32+
2933
public static String toJson(StreamResponseType type, String data) {
3034
try {
3135
return objectMapper.writeValueAsString(Map.of("type", type.getValue(), "data", data));

spring-ai-alibaba-data-agent-management/src/main/java/com/alibaba/cloud/ai/controller/ChatController.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import com.alibaba.cloud.ai.dto.ChatRequest;
1919
import com.alibaba.cloud.ai.entity.*;
2020
import com.alibaba.cloud.ai.service.*;
21+
import com.alibaba.cloud.ai.util.JsonUtils;
2122
import com.alibaba.cloud.ai.vo.ApiResponse;
2223
import com.alibaba.cloud.ai.vo.ChatResponse;
2324
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -53,7 +54,7 @@ public class ChatController {
5354
@Autowired(required = false)
5455
private Nl2SqlService nl2SqlService;
5556

56-
private final ObjectMapper objectMapper = new ObjectMapper();
57+
private final ObjectMapper objectMapper = JsonUtils.getObjectMapper();
5758

5859
/**
5960
* Get session list for an agent

spring-ai-alibaba-data-agent-management/src/main/java/com/alibaba/cloud/ai/controller/Nl2sqlForGraphController.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import com.alibaba.cloud.ai.service.DatasourceService;
2929
import com.alibaba.cloud.ai.entity.Datasource;
3030
import com.alibaba.cloud.ai.service.AgentService;
31+
import com.alibaba.cloud.ai.util.JsonUtils;
3132
import com.fasterxml.jackson.databind.ObjectMapper;
3233
import jakarta.servlet.http.HttpServletResponse;
3334
import org.slf4j.Logger;
@@ -70,7 +71,7 @@ public class Nl2sqlForGraphController {
7071

7172
private final AgentService agentService;
7273

73-
private final ObjectMapper objectMapper = new ObjectMapper();
74+
private final ObjectMapper objectMapper = JsonUtils.getObjectMapper();
7475

7576
public Nl2sqlForGraphController(@Qualifier("nl2sqlGraph") StateGraph stateGraph,
7677
SimpleVectorStoreService simpleVectorStoreService, DatasourceService datasourceService,

spring-ai-alibaba-data-agent-management/src/main/java/com/alibaba/cloud/ai/service/AnalyticDbVectorStoreManagementService.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import com.alibaba.cloud.ai.request.EvidenceRequest;
2727
import com.alibaba.cloud.ai.request.SchemaInitRequest;
2828
import com.alibaba.cloud.ai.request.SearchRequest;
29+
import com.alibaba.cloud.ai.util.JsonUtils;
2930
import com.alibaba.cloud.ai.vectorstore.analyticdb.AnalyticDbVectorStoreProperties;
3031
import com.aliyun.gpdb20160503.Client;
3132
import com.aliyun.gpdb20160503.models.DeleteCollectionDataRequest;
@@ -83,7 +84,7 @@ public class AnalyticDbVectorStoreManagementService implements VectorStoreManage
8384
@Autowired
8485
private Client client;
8586

86-
private final ObjectMapper objectMapper = new ObjectMapper();
87+
private final ObjectMapper objectMapper = JsonUtils.getObjectMapper();
8788

8889
/**
8990
* Add evidence content to vector store
@@ -150,9 +151,9 @@ public List<Document> search(SearchRequest searchRequest) throws Exception {
150151
if (match.getScore() != null && match.getScore() > 0.2) {
151152
Map<String, String> metadata = match.getMetadata();
152153
String pageContent = metadata.get(CONTENT_FIELD_NAME);
153-
Map<String, Object> metadataJson = new ObjectMapper()
154-
.readValue(metadata.get(METADATA_FIELD_NAME), new TypeReference<HashMap<String, Object>>() {
155-
});
154+
Map<String, Object> metadataJson = objectMapper.readValue(metadata.get(METADATA_FIELD_NAME),
155+
new TypeReference<HashMap<String, Object>>() {
156+
});
156157

157158
Document doc = new Document(match.getId(), pageContent, metadataJson);
158159
documents.add(doc);

0 commit comments

Comments
 (0)