Skip to content

Commit cf80ae1

Browse files
authored
fix: StringUtil join null error (#165)
1 parent f3bc388 commit cf80ae1

File tree

4 files changed

+26
-2
lines changed

4 files changed

+26
-2
lines changed

arex-agent-bootstrap/src/main/java/io/arex/agent/bootstrap/util/StringUtil.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public static String join(final Iterable<?> iterable, final String separator) {
4343
Iterator<?> iterator = iterable.iterator();
4444

4545
if (!iterator.hasNext()) {
46-
return null;
46+
return EMPTY;
4747
}
4848

4949
final Object first = iterator.next();

arex-agent-bootstrap/src/test/java/io/arex/agent/bootstrap/util/StringUtilTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ void join() {
6464
assertNull(actualResult);
6565

6666
actualResult = StringUtil.join(Collections.emptyList(), ",");
67-
assertNull(actualResult);
67+
assertEquals(StringUtil.EMPTY, actualResult);
6868

6969
actualResult = StringUtil.join(Collections.singleton("a"), ",");
7070
assertEquals("a", actualResult);

arex-instrumentation-api/src/test/java/io/arex/inst/runtime/util/TypeUtilTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,4 +220,13 @@ public T getValue() {
220220

221221
}
222222

223+
@Test
224+
public void testNullList() {
225+
final List<Object> list = new ArrayList<>();
226+
list.add(null);
227+
String expectedName = "java.util.ArrayList-";
228+
final String actualName = TypeUtil.getName(list);
229+
assertEquals(expectedName, actualName);
230+
}
231+
223232
}

arex-instrumentation-foundation/src/test/java/io/arex/foundation/serializer/JacksonSerializerTest.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22

33
import static org.junit.jupiter.api.Assertions.*;
44

5+
import io.arex.inst.runtime.util.TypeUtil;
56
import java.time.LocalDateTime;
7+
import java.util.ArrayList;
8+
import java.util.List;
69
import org.junit.jupiter.api.Test;
710

811
class JacksonSerializerTest {
@@ -22,4 +25,16 @@ void testLocalTime() {
2225
assertEquals(now, actualResult);
2326
}
2427

28+
@Test
29+
void testNullList() {
30+
final List<Object> list = new ArrayList<>();
31+
list.add(null);
32+
String json = JacksonSerializer.INSTANCE.serialize(list);
33+
final String name = TypeUtil.getName(list);
34+
final List<Object> result = JacksonSerializer.INSTANCE.deserialize(json, TypeUtil.forName(name));
35+
assert result != null;
36+
assertEquals(list.size(), result.size());
37+
assertNull(result.get(0));
38+
}
39+
2540
}

0 commit comments

Comments
 (0)