perf[storage]: array or collection is null safe

This commit is contained in:
godotg committed 2024-07-19 22:07:45 +08:00
1 parent 2c7281d002
commit 921e8bd6a6
3 files changed
+8

No files matched your search

@@ -14,6 +14,7 @@
package com.zfoo.storage.convert;
import com.zfoo.protocol.util.JsonUtils;
import com.zfoo.protocol.util.StringUtils;
import org.springframework.core.convert.TypeDescriptor;
import org.springframework.core.convert.converter.ConditionalGenericConverter;
@@ -38,6 +39,9 @@ public class JsonToMapConverter implements ConditionalGenericConverter {
@Override
public Object convert(Object source, TypeDescriptor sourceType, TypeDescriptor targetType) {
String content = (String) source;
if (StringUtils.isBlank(content)) {
return Collections.emptyMap();
}
return JsonUtils.string2Map(content, targetType.getMapKeyTypeDescriptor().getType(), targetType.getMapValueTypeDescriptor().getType());
}
}
@@ -15,6 +15,7 @@ package com.zfoo.storage.convert;
import com.zfoo.protocol.util.JsonUtils;
import com.zfoo.protocol.util.ReflectionUtils;
import com.zfoo.protocol.util.StringUtils;
import org.springframework.core.convert.TypeDescriptor;
import org.springframework.core.convert.converter.ConditionalGenericConverter;
@@ -58,6 +59,9 @@ public class JsonToObjectConverter implements ConditionalGenericConverter {
@Override
public Object convert(Object source, TypeDescriptor sourceType, TypeDescriptor targetType) {
String content = (String) source;
if (StringUtils.isBlank(content)) {
return null;
}
return JsonUtils.string2Object(content, targetType.getType());
}
}