When PropertyValue "parameters" is [null] or [EMPTY], return to HashMap that can be modified (#12354)

* org.apache.dubbo.config.spring.util.DubboAnnotationUtils.convertParameters中put对象为空时,返回空的HashMap而不是EmptyMap以支持后续put

* getParameters 补充this

---------

Co-authored-by: 宿尘 <tablojhin.lb@alibaba-inc.com>
This commit is contained in:
YAGAMIL 2023-05-21 15:53:34 +08:00 committed by GitHub
parent 1671332337
commit 9b9688c6a2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 3 deletions

View File

@ -23,7 +23,9 @@ import org.apache.dubbo.rpc.model.ModuleModel;
import org.apache.dubbo.rpc.model.ScopeModel;
import java.beans.Transient;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
/**
* AbstractMethodConfig
@ -240,7 +242,8 @@ public abstract class AbstractMethodConfig extends AbstractConfig {
}
public Map<String, String> getParameters() {
return parameters;
this.parameters = Optional.ofNullable(this.parameters).orElseGet(HashMap::new);
return this.parameters;
}
public void setParameters(Map<String, String> parameters) {

View File

@ -27,7 +27,7 @@ import org.springframework.util.Assert;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@ -154,7 +154,7 @@ public class DubboAnnotationUtils {
*/
public static Map<String, String> convertParameters(String[] parameters) {
if (ArrayUtils.isEmpty(parameters)) {
return Collections.emptyMap();
return new HashMap<>();
}
List<String> compatibleParameterArray = Arrays.stream(parameters)