Skip to content

Commit 00653c3

Browse files
leechorbeiwei30
authored andcommitted
simplified code (apache#4865)
* fix convertMethodConfig2AsyncInfo spelling error * simplified code * refact: simplified code * feat: add unittest of JavaBeanSerializeUtilTest class * feat: add unittest of JavaBeanSerializeUtilTest class
1 parent b5bfacc commit 00653c3

File tree

13 files changed

+78
-54
lines changed

13 files changed

+78
-54
lines changed

dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/loadbalance/AbstractLoadBalance.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ public abstract class AbstractLoadBalance implements LoadBalance {
4444
* @return weight which takes warmup into account
4545
*/
4646
static int calculateWarmupWeight(int uptime, int warmup, int weight) {
47-
int ww = (int) ((float) uptime / ((float) warmup / (float) weight));
48-
return ww < 1 ? 1 : (ww > weight ? weight : ww);
47+
int ww = (int) ( uptime / ((float) warmup / weight));
48+
return ww < 1 ? 1 : (Math.min(ww, weight));
4949
}
5050

5151
@Override
@@ -70,7 +70,7 @@ public <T> Invoker<T> select(List<Invoker<T>> invokers, URL url, Invocation invo
7070
* @param invocation the invocation of this invoker
7171
* @return weight
7272
*/
73-
protected int getWeight(Invoker<?> invoker, Invocation invocation) {
73+
int getWeight(Invoker<?> invoker, Invocation invocation) {
7474
int weight = invoker.getUrl().getMethodParameter(invocation.getMethodName(), WEIGHT_KEY, DEFAULT_WEIGHT);
7575
if (weight > 0) {
7676
long timestamp = invoker.getUrl().getParameter(REMOTE_TIMESTAMP_KEY, 0L);
@@ -82,7 +82,7 @@ protected int getWeight(Invoker<?> invoker, Invocation invocation) {
8282
}
8383
}
8484
}
85-
return weight >= 0 ? weight : 0;
85+
return Math.max(weight, 0);
8686
}
8787

8888
}

dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/router/MockInvoker.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ public boolean isAvailable() {
5252
return available;
5353
}
5454

55+
@Override
5556
public Result invoke(Invocation invocation) throws RpcException {
5657
return null;
5758
}

dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/support/AbstractClusterInvokerTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -481,6 +481,7 @@ public boolean isAvailable() {
481481
return false;
482482
}
483483

484+
@Override
484485
public Result invoke(Invocation invocation) throws RpcException {
485486
throw new RpcException(RpcException.TIMEOUT_EXCEPTION, "test timeout");
486487
}

dubbo-common/src/main/java/org/apache/dubbo/common/beanutil/JavaBeanDescriptor.java

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424

2525
public final class JavaBeanDescriptor implements Serializable, Iterable<Map.Entry<Object, Object>> {
2626

27+
private static final long serialVersionUID = -8505586483570518029L;
28+
2729
public static final int TYPE_CLASS = 1;
2830
public static final int TYPE_ENUM = 2;
2931
public static final int TYPE_COLLECTION = 3;
@@ -34,11 +36,9 @@ public final class JavaBeanDescriptor implements Serializable, Iterable<Map.Entr
3436
*/
3537
public static final int TYPE_PRIMITIVE = 6;
3638
public static final int TYPE_BEAN = 7;
37-
private static final long serialVersionUID = -8505586483570518029L;
38-
private static final String ENUM_PROPERTY_NAME = "name";
3939

40+
private static final String ENUM_PROPERTY_NAME = "name";
4041
private static final String CLASS_PROPERTY_NAME = "name";
41-
4242
private static final String PRIMITIVE_PROPERTY_VALUE = "value";
4343

4444
/**
@@ -47,7 +47,6 @@ public final class JavaBeanDescriptor implements Serializable, Iterable<Map.Entr
4747
* @see #isValidType(int)
4848
*/
4949
private static final int TYPE_MAX = TYPE_BEAN;
50-
5150
/**
5251
* Used to define a type is valid.
5352
*
@@ -56,13 +55,11 @@ public final class JavaBeanDescriptor implements Serializable, Iterable<Map.Entr
5655
private static final int TYPE_MIN = TYPE_CLASS;
5756

5857
private String className;
59-
6058
private int type;
6159

62-
private Map<Object, Object> properties = new LinkedHashMap<Object, Object>();
60+
private Map<Object, Object> properties = new LinkedHashMap<>();
6361

64-
public JavaBeanDescriptor() {
65-
}
62+
public JavaBeanDescriptor() {}
6663

6764
public JavaBeanDescriptor(String className, int type) {
6865
notEmpty(className, "class name is empty");
@@ -120,9 +117,7 @@ public void setClassName(String className) {
120117

121118
public Object setProperty(Object propertyName, Object propertyValue) {
122119
notNull(propertyName, "Property name is null");
123-
124-
Object oldValue = properties.put(propertyName, propertyValue);
125-
return oldValue;
120+
return properties.put(propertyName, propertyValue);
126121
}
127122

128123
public String setEnumNameProperty(String name) {
@@ -173,8 +168,7 @@ public Object getPrimitiveProperty() {
173168

174169
public Object getProperty(Object propertyName) {
175170
notNull(propertyName, "Property name is null");
176-
Object propertyValue = properties.get(propertyName);
177-
return propertyValue;
171+
return properties.get(propertyName);
178172
}
179173

180174
public boolean containsProperty(Object propertyName) {

dubbo-common/src/main/java/org/apache/dubbo/common/beanutil/JavaBeanSerializeUtil.java

Lines changed: 18 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,7 @@ private JavaBeanSerializeUtil() {
6262
}
6363

6464
public static JavaBeanDescriptor serialize(Object obj) {
65-
JavaBeanDescriptor result = serialize(obj, JavaBeanAccessor.FIELD);
66-
return result;
65+
return serialize(obj, JavaBeanAccessor.FIELD);
6766
}
6867

6968
public static JavaBeanDescriptor serialize(Object obj, JavaBeanAccessor accessor) {
@@ -74,8 +73,7 @@ public static JavaBeanDescriptor serialize(Object obj, JavaBeanAccessor accessor
7473
return (JavaBeanDescriptor) obj;
7574
}
7675
IdentityHashMap<Object, JavaBeanDescriptor> cache = new IdentityHashMap<Object, JavaBeanDescriptor>();
77-
JavaBeanDescriptor result = createDescriptorIfAbsent(obj, accessor, cache);
78-
return result;
76+
return createDescriptorIfAbsent(obj, accessor, cache);
7977
}
8078

8179
private static JavaBeanDescriptor createDescriptorForSerialize(Class<?> cl) {
@@ -189,10 +187,9 @@ private static void serializeInternal(JavaBeanDescriptor descriptor, Object obj,
189187
} // ~ end of method serializeInternal
190188

191189
public static Object deserialize(JavaBeanDescriptor beanDescriptor) {
192-
Object result = deserialize(
190+
return deserialize(
193191
beanDescriptor,
194192
Thread.currentThread().getContextClassLoader());
195-
return result;
196193
}
197194

198195
public static Object deserialize(JavaBeanDescriptor beanDescriptor, ClassLoader loader) {
@@ -331,11 +328,7 @@ private static Object instantiate(Class<?> cl) throws Exception {
331328
try {
332329
constructor.setAccessible(true);
333330
return constructor.newInstance(constructorArgs);
334-
} catch (InstantiationException e) {
335-
LogHelper.warn(logger, e.getMessage(), e);
336-
} catch (IllegalAccessException e) {
337-
LogHelper.warn(logger, e.getMessage(), e);
338-
} catch (InvocationTargetException e) {
331+
} catch (InstantiationException | IllegalAccessException | InvocationTargetException e) {
339332
LogHelper.warn(logger, e.getMessage(), e);
340333
}
341334
}
@@ -369,27 +362,31 @@ private static Object instantiateForDeserialize(JavaBeanDescriptor beanDescripto
369362
if (cache.containsKey(beanDescriptor)) {
370363
return cache.get(beanDescriptor);
371364
}
372-
Object result = null;
365+
373366
if (beanDescriptor.isClassType()) {
374367
try {
375-
result = name2Class(loader, beanDescriptor.getClassNameProperty());
376-
return result;
368+
return name2Class(loader, beanDescriptor.getClassNameProperty());
377369
} catch (ClassNotFoundException e) {
378370
throw new RuntimeException(e.getMessage(), e);
379371
}
380-
} else if (beanDescriptor.isEnumType()) {
372+
}
373+
374+
if (beanDescriptor.isEnumType()) {
381375
try {
382376
Class<?> enumType = name2Class(loader, beanDescriptor.getClassName());
383377
Method method = getEnumValueOfMethod(enumType);
384-
result = method.invoke(null, enumType, beanDescriptor.getEnumPropertyName());
385-
return result;
378+
return method.invoke(null, enumType, beanDescriptor.getEnumPropertyName());
386379
} catch (Exception e) {
387380
throw new RuntimeException(e.getMessage(), e);
388381
}
389-
} else if (beanDescriptor.isPrimitiveType()) {
390-
result = beanDescriptor.getPrimitiveProperty();
391-
return result;
392-
} else if (beanDescriptor.isArrayType()) {
382+
}
383+
384+
if (beanDescriptor.isPrimitiveType()) {
385+
return beanDescriptor.getPrimitiveProperty();
386+
}
387+
388+
Object result;
389+
if (beanDescriptor.isArrayType()) {
393390
Class<?> componentType;
394391
try {
395392
componentType = name2Class(loader, beanDescriptor.getClassName());
@@ -403,8 +400,6 @@ private static Object instantiateForDeserialize(JavaBeanDescriptor beanDescripto
403400
Class<?> cl = name2Class(loader, beanDescriptor.getClassName());
404401
result = instantiate(cl);
405402
cache.put(beanDescriptor, result);
406-
} catch (ClassNotFoundException e) {
407-
throw new RuntimeException(e.getMessage(), e);
408403
} catch (Exception e) {
409404
throw new RuntimeException(e.getMessage(), e);
410405
}

dubbo-common/src/main/java/org/apache/dubbo/common/extension/ExtensionLoader.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,6 @@ public class ExtensionLoader<T> {
8080

8181
private static final ConcurrentMap<Class<?>, Object> EXTENSION_INSTANCES = new ConcurrentHashMap<>();
8282

83-
// ==============================
84-
8583
private final Class<?> type;
8684

8785
private final ExtensionFactory objectFactory;

dubbo-common/src/test/java/org/apache/dubbo/common/beanutil/JavaBeanSerializeUtilTest.java

Lines changed: 41 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,8 @@ public void testDeserialize_Primitive() {
7575
@Test
7676
public void testDeserialize_Primitive0() {
7777
Assertions.assertThrows(IllegalArgumentException.class, () -> {
78-
JavaBeanDescriptor descriptor = new JavaBeanDescriptor(long.class.getName(), JavaBeanDescriptor.TYPE_BEAN + 1);
78+
JavaBeanDescriptor descriptor = new JavaBeanDescriptor(long.class.getName(),
79+
JavaBeanDescriptor.TYPE_BEAN + 1);
7980
});
8081
}
8182

@@ -89,55 +90,81 @@ public void testDeserialize_Null() {
8990
@Test
9091
public void testDeserialize_containsProperty() {
9192
Assertions.assertThrows(IllegalArgumentException.class, () -> {
92-
JavaBeanDescriptor descriptor = new JavaBeanDescriptor(long.class.getName(), JavaBeanDescriptor.TYPE_PRIMITIVE);
93+
JavaBeanDescriptor descriptor = new JavaBeanDescriptor(long.class.getName(),
94+
JavaBeanDescriptor.TYPE_PRIMITIVE);
9395
descriptor.containsProperty(null);
9496
});
9597
}
9698

9799
@Test
98100
public void testSetEnumNameProperty() {
99101
Assertions.assertThrows(IllegalStateException.class, () -> {
100-
JavaBeanDescriptor descriptor = new JavaBeanDescriptor(long.class.getName(), JavaBeanDescriptor.TYPE_PRIMITIVE);
102+
JavaBeanDescriptor descriptor = new JavaBeanDescriptor(long.class.getName(),
103+
JavaBeanDescriptor.TYPE_PRIMITIVE);
101104
descriptor.setEnumNameProperty(JavaBeanDescriptor.class.getName());
102105
});
106+
107+
JavaBeanDescriptor descriptor = new JavaBeanDescriptor(JavaBeanDescriptor.class.getName(),
108+
JavaBeanDescriptor.TYPE_ENUM);
109+
110+
String oldValueOrigin = descriptor.setEnumNameProperty(JavaBeanDescriptor.class.getName());
111+
Assertions.assertNull(oldValueOrigin);
112+
113+
String oldValueNext = descriptor.setEnumNameProperty(JavaBeanDescriptor.class.getName());
114+
Assertions.assertEquals(oldValueNext, descriptor.getEnumPropertyName());
103115
}
104116

105117
@Test
106118
public void testGetEnumNameProperty() {
107119
Assertions.assertThrows(IllegalStateException.class, () -> {
108-
JavaBeanDescriptor descriptor = new JavaBeanDescriptor(long.class.getName(), JavaBeanDescriptor.TYPE_PRIMITIVE);
120+
JavaBeanDescriptor descriptor = new JavaBeanDescriptor(long.class.getName(),
121+
JavaBeanDescriptor.TYPE_PRIMITIVE);
109122
descriptor.getEnumPropertyName();
110123
});
111124
}
112125

113126
@Test
114127
public void testSetClassNameProperty() {
128+
115129
Assertions.assertThrows(IllegalStateException.class, () -> {
116-
JavaBeanDescriptor descriptor = new JavaBeanDescriptor(long.class.getName(), JavaBeanDescriptor.TYPE_PRIMITIVE);
130+
JavaBeanDescriptor descriptor = new JavaBeanDescriptor(long.class.getName(),
131+
JavaBeanDescriptor.TYPE_PRIMITIVE);
117132
descriptor.setClassNameProperty(JavaBeanDescriptor.class.getName());
118133
});
134+
135+
JavaBeanDescriptor descriptor = new JavaBeanDescriptor(JavaBeanDescriptor.class.getName(),
136+
JavaBeanDescriptor.TYPE_CLASS);
137+
138+
String oldValue1 = descriptor.setClassNameProperty(JavaBeanDescriptor.class.getName());
139+
Assertions.assertNull(oldValue1);
140+
141+
String oldValue2 = descriptor.setClassNameProperty(JavaBeanDescriptor.class.getName());
142+
Assertions.assertEquals(oldValue2, descriptor.getClassNameProperty());
119143
}
120144

121145
@Test
122146
public void testGetClassNameProperty() {
123147
Assertions.assertThrows(IllegalStateException.class, () -> {
124-
JavaBeanDescriptor descriptor = new JavaBeanDescriptor(long.class.getName(), JavaBeanDescriptor.TYPE_PRIMITIVE);
148+
JavaBeanDescriptor descriptor = new JavaBeanDescriptor(long.class.getName(),
149+
JavaBeanDescriptor.TYPE_PRIMITIVE);
125150
descriptor.getClassNameProperty();
126151
});
127152
}
128153

129154
@Test
130155
public void testSetPrimitiveProperty() {
131156
Assertions.assertThrows(IllegalStateException.class, () -> {
132-
JavaBeanDescriptor descriptor = new JavaBeanDescriptor(JavaBeanDescriptor.class.getName(), JavaBeanDescriptor.TYPE_BEAN);
157+
JavaBeanDescriptor descriptor = new JavaBeanDescriptor(JavaBeanDescriptor.class.getName(),
158+
JavaBeanDescriptor.TYPE_BEAN);
133159
descriptor.setPrimitiveProperty(JavaBeanDescriptor.class.getName());
134160
});
135161
}
136162

137163
@Test
138164
public void testGetPrimitiveProperty() {
139165
Assertions.assertThrows(IllegalStateException.class, () -> {
140-
JavaBeanDescriptor descriptor = new JavaBeanDescriptor(JavaBeanDescriptor.class.getName(), JavaBeanDescriptor.TYPE_BEAN);
166+
JavaBeanDescriptor descriptor = new JavaBeanDescriptor(JavaBeanDescriptor.class.getName(),
167+
JavaBeanDescriptor.TYPE_BEAN);
141168
descriptor.getPrimitiveProperty();
142169
});
143170
}
@@ -171,7 +198,8 @@ public void testSerialize_Array() {
171198
if (integers[i] == null) {
172199
Assertions.assertSame(integers[i], descriptor.getProperty(i));
173200
} else {
174-
Assertions.assertEquals(integers[i], ((JavaBeanDescriptor) descriptor.getProperty(i)).getPrimitiveProperty());
201+
Assertions.assertEquals(integers[i], ((JavaBeanDescriptor) descriptor.getProperty(i))
202+
.getPrimitiveProperty());
175203
}
176204
}
177205

@@ -254,7 +282,8 @@ public void testDeserialize_Array() {
254282
}
255283

256284
descriptor = new JavaBeanDescriptor(BigPerson[].class.getName(), JavaBeanDescriptor.TYPE_ARRAY);
257-
JavaBeanDescriptor innerDescriptor = new JavaBeanDescriptor(BigPerson.class.getName(), JavaBeanDescriptor.TYPE_ARRAY);
285+
JavaBeanDescriptor innerDescriptor = new JavaBeanDescriptor(BigPerson.class.getName(),
286+
JavaBeanDescriptor.TYPE_ARRAY);
258287
innerDescriptor.setProperty(0, JavaBeanSerializeUtil.serialize(createBigPerson(), JavaBeanAccessor.METHOD));
259288
descriptor.setProperty(0, innerDescriptor);
260289

@@ -318,7 +347,8 @@ public void testBeanSerialize() {
318347
assertEqualsPrimitive(bean.getDate(), descriptor.getProperty("date"));
319348
assertEqualsEnum(bean.getStatus(), descriptor.getProperty("status"));
320349
Assertions.assertTrue(((JavaBeanDescriptor) descriptor.getProperty("type")).isClassType());
321-
Assertions.assertEquals(Bean.class.getName(), ((JavaBeanDescriptor) descriptor.getProperty("type")).getClassNameProperty());
350+
Assertions.assertEquals(Bean.class.getName(), ((JavaBeanDescriptor) descriptor.getProperty("type"))
351+
.getClassNameProperty());
322352
Assertions.assertTrue(((JavaBeanDescriptor) descriptor.getProperty("array")).isArrayType());
323353
Assertions.assertEquals(0, ((JavaBeanDescriptor) descriptor.getProperty("array")).propertySize());
324354

@@ -335,7 +365,6 @@ public void testBeanSerialize() {
335365
Assertions.assertEquals(bean.getAddresses().getClass().getName(), property.getClassName());
336366
Assertions.assertEquals(1, property.propertySize());
337367

338-
339368
Map.Entry<Object, Object> entry = property.iterator().next();
340369
Assertions.assertTrue(((JavaBeanDescriptor) entry.getKey()).isPrimitiveType());
341370
Assertions.assertEquals("first", ((JavaBeanDescriptor) entry.getKey()).getPrimitiveProperty());

dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/mock/MockProtocol.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ public boolean isAvailable() {
6666
return true;
6767
}
6868

69+
@Override
6970
public Result invoke(Invocation invocation) throws RpcException {
7071
return null;
7172
}

dubbo-monitor/dubbo-monitor-api/src/test/java/org/apache/dubbo/monitor/support/MonitorFilterTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ public boolean isAvailable() {
7676
return false;
7777
}
7878

79+
@Override
7980
public Result invoke(Invocation invocation) throws RpcException {
8081
lastInvocation = invocation;
8182
return AsyncRpcResult.newDefaultAsyncResult(invocation);

dubbo-monitor/dubbo-monitor-default/src/test/java/org/apache/dubbo/monitor/dubbo/DubboMonitorTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ public boolean isAvailable() {
7070
return false;
7171
}
7272

73+
@Override
7374
public Result invoke(Invocation invocation) throws RpcException {
7475
return null;
7576
}

0 commit comments

Comments
 (0)