pandaapo commented on code in PR #4569:
URL: https://github.com/apache/eventmesh/pull/4569#discussion_r1399906857
##########
eventmesh-openconnect/eventmesh-openconnect-offsetmgmt-plugin/eventmesh-openconnect-offsetmgmt-api/src/main/java/org/apache/eventmesh/openconnect/offsetmgmt/api/data/DefaultKeyValue.java:
##########
@@ -17,86 +17,125 @@
package org.apache.eventmesh.openconnect.offsetmgmt.api.data;
+import java.net.URI;
+import java.time.OffsetDateTime;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
public class DefaultKeyValue implements KeyValue {
- private Map<String, Object> properties = new ConcurrentHashMap<>();
+ private final Map<String, Object> properties;
- @Override
- public boolean getBoolean(String key) {
- if (!properties.containsKey(key)) {
- return false;
- }
- return Boolean.parseBoolean(String.valueOf(properties.get(key)));
+ public DefaultKeyValue() {
+ properties = new ConcurrentHashMap<>();
}
@Override
- public boolean getBoolean(String key, boolean defaultValue) {
- return properties.containsKey(key) ? getBoolean(key) : defaultValue;
+ public KeyValue put(String key, Boolean value) {
+ properties.put(key, value);
+ return this;
}
@Override
- public short getShort(String key) {
- if (!properties.containsKey(key)) {
- return 0;
- }
- return Short.parseShort(String.valueOf(properties.get(key)));
+ public KeyValue put(String key, Number value) {
+ properties.put(key, value);
+ return this;
+
}
@Override
- public short getShort(String key, short defaultValue) {
- return properties.containsKey(key) ? getShort(key) : defaultValue;
+ public KeyValue put(String key, byte[] value) {
+ properties.put(key, value);
+ return this;
}
@Override
- public KeyValue put(String key, boolean value) {
- properties.put(key, String.valueOf(value));
+ public KeyValue put(String key, String value) {
+ properties.put(key, value);
return this;
}
@Override
- public KeyValue put(String key, short value) {
- properties.put(key, String.valueOf(value));
+ public KeyValue put(String key, URI value) {
+ properties.put(key, value);
return this;
}
- public DefaultKeyValue() {
- properties = new ConcurrentHashMap<String, Object>();
+ @Override
+ public KeyValue put(String key, OffsetDateTime value) {
+ properties.put(key, value);
+ return this;
}
@Override
- public KeyValue put(String key, int value) {
- properties.put(key, String.valueOf(value));
+ public KeyValue put(String key, Object value) {
Review Comment:
Perhaps optimization can be performed here. Because it is an Object,
'validateExtensionType()' can be used to check first if the original type is
legal?
这里还可以优化下。因为是Object对象,所以可以使用`validateExtensionType()`先检查下原类型是否合法?
##########
eventmesh-openconnect/eventmesh-openconnect-offsetmgmt-plugin/eventmesh-openconnect-offsetmgmt-api/src/main/java/org/apache/eventmesh/openconnect/offsetmgmt/api/data/DefaultKeyValue.java:
##########
@@ -17,86 +17,125 @@
package org.apache.eventmesh.openconnect.offsetmgmt.api.data;
+import java.net.URI;
+import java.time.OffsetDateTime;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
public class DefaultKeyValue implements KeyValue {
- private Map<String, Object> properties = new ConcurrentHashMap<>();
+ private final Map<String, Object> properties;
- @Override
- public boolean getBoolean(String key) {
- if (!properties.containsKey(key)) {
- return false;
- }
- return Boolean.parseBoolean(String.valueOf(properties.get(key)));
+ public DefaultKeyValue() {
+ properties = new ConcurrentHashMap<>();
}
@Override
- public boolean getBoolean(String key, boolean defaultValue) {
- return properties.containsKey(key) ? getBoolean(key) : defaultValue;
+ public KeyValue put(String key, Boolean value) {
+ properties.put(key, value);
+ return this;
}
@Override
- public short getShort(String key) {
- if (!properties.containsKey(key)) {
- return 0;
- }
- return Short.parseShort(String.valueOf(properties.get(key)));
+ public KeyValue put(String key, Number value) {
+ properties.put(key, value);
+ return this;
+
}
@Override
- public short getShort(String key, short defaultValue) {
- return properties.containsKey(key) ? getShort(key) : defaultValue;
+ public KeyValue put(String key, byte[] value) {
+ properties.put(key, value);
+ return this;
}
@Override
- public KeyValue put(String key, boolean value) {
- properties.put(key, String.valueOf(value));
+ public KeyValue put(String key, String value) {
+ properties.put(key, value);
return this;
}
@Override
- public KeyValue put(String key, short value) {
- properties.put(key, String.valueOf(value));
+ public KeyValue put(String key, URI value) {
+ properties.put(key, value);
return this;
}
- public DefaultKeyValue() {
- properties = new ConcurrentHashMap<String, Object>();
+ @Override
+ public KeyValue put(String key, OffsetDateTime value) {
+ properties.put(key, value);
+ return this;
}
@Override
- public KeyValue put(String key, int value) {
- properties.put(key, String.valueOf(value));
+ public KeyValue put(String key, Object value) {
Review Comment:
Perhaps optimization can be performed here. Because it is an Object,
'validateExtensionType()' can be used to check first if the original type is
legal?
这里还可以优化下。因为是Object对象,所以可以使用`validateExtensionType()`先检查下原类型是否合法?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]