Skip to content

Commit d812011

Browse files
authored
Merge pull request #35 from aliyun/feature/0.2.4
Fixed LastPointQuery CircularReference bug
2 parents be4f191 + da075fb commit d812011

File tree

3 files changed

+30
-2
lines changed

3 files changed

+30
-2
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>com.aliyun</groupId>
55
<artifactId>hitsdb-client</artifactId>
6-
<version>0.2.3</version>
6+
<version>0.2.4</version>
77
<name>Aliyun TSDB SDK for Java</name>
88
<description>The Alibaba TSDB SDK for Java used for accessing High Performance Time Series Database</description>
99
<url>https://www.aliyun.com/product/hitsdb</url>

src/main/java/com/aliyun/hitsdb/client/value/JSONValue.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.aliyun.hitsdb.client.value;
22

33
import com.alibaba.fastjson.JSON;
4+
import com.alibaba.fastjson.serializer.SerializerFeature;
45

56
public class JSONValue {
67

@@ -17,7 +18,7 @@ public static <T> List<T> parseList(String json, Class<T> clazz) {
1718
*/
1819

1920
public String toJSON() {
20-
return JSON.toJSONString(this);
21+
return JSON.toJSONString(this, SerializerFeature.DisableCircularReferenceDetect);
2122
}
2223

2324
@Override
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package com.aliyun.hitsdb.client;
2+
3+
import com.aliyun.hitsdb.client.value.request.LastPointQuery;
4+
import com.aliyun.hitsdb.client.value.request.LastPointSubQuery;
5+
import org.junit.Test;
6+
7+
import java.util.HashMap;
8+
import java.util.Map;
9+
10+
import static org.junit.Assert.assertEquals;
11+
12+
public class LastPointQueryTest {
13+
14+
@Test
15+
public void testNotCircularReference() {
16+
Map<String, String> tags = new HashMap<String, String>();
17+
tags.put("k1", "v1");
18+
19+
LastPointQuery lastPointQuery = LastPointQuery
20+
.builder()
21+
.sub(LastPointSubQuery.builder("m1", tags).build())
22+
.sub(LastPointSubQuery.builder("m2", tags).build()).build();
23+
24+
String expected = "{\"queries\":[{\"metric\":\"m1\",\"tags\":{\"k1\":\"v1\"}},{\"metric\":\"m2\",\"tags\":{\"k1\":\"v1\"}}]}";
25+
assertEquals(expected, lastPointQuery.toString());
26+
}
27+
}

0 commit comments

Comments
 (0)