You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@dubbo.apache.org by "CrazyHZM (GitHub)" <gi...@apache.org> on 2019/01/15 11:51:17 UTC

[GitHub] [incubator-dubbo] CrazyHZM opened pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

## What is the purpose of the change
Use regular expressions to judge
fix #3069

## Brief changelog

XXXXX

## Verifying this change

XXXXX

Follow this checklist to help us incorporate your contribution quickly and easily:

- [x] Make sure there is a [GITHUB_issue](https://github.com/apache/incubator-dubbo/issues) field for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
- [ ] Format the pull request title like `[Dubbo-XXX] Fix UnknownException when host config not exist #XXX`. Each commit in the pull request should have a meaningful subject line and body.
- [x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
- [x] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in [test module](https://github.com/apache/incubator-dubbo/tree/master/dubbo-test).
- [ ] Run `mvn clean install -DskipTests=false` & `mvn clean test-compile failsafe:integration-test` to make sure unit-test and integration-test pass.
- [ ] If this contribution is large, please follow the [Software Donation Guide](https://github.com/apache/incubator-dubbo/wiki/Software-donation-guide).


[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] ralf0131 commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "ralf0131 (GitHub)" <gi...@apache.org>.
Definitely yes. You can add it to the UT.

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] codecov-io commented on issue #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "codecov-io (GitHub)" <gi...@apache.org>.
# [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=h1) Report
> Merging [#3093](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-dubbo/commit/460c3a17568ff31f994646558a48c2d0e7b37bd4?src=pr&el=desc) will **increase** coverage by `0.76%`.
> The diff coverage is `79.16%`.

[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/graphs/tree.svg?width=650&token=VnEIkiFQT0&height=150&src=pr)](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=tree)

```diff
@@             Coverage Diff              @@
##             master    #3093      +/-   ##
============================================
+ Coverage     63.63%   64.39%   +0.76%     
  Complexity       75       75              
============================================
  Files           652      652              
  Lines         28200    29303    +1103     
  Branches       4781     5086     +305     
============================================
+ Hits          17944    18871     +927     
- Misses         8005     8150     +145     
- Partials       2251     2282      +31
```


| [Impacted Files](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=tree) | Coverage Δ | Complexity Δ | |
|---|---|---|---|
| [...c/main/java/org/apache/dubbo/common/Constants.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vQ29uc3RhbnRzLmphdmE=) | `92.85% <100%> (ø)` | `0 <0> (ø)` | :arrow_down: |
| [...java/org/apache/dubbo/rpc/support/MockInvoker.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JwYy9zdXBwb3J0L01vY2tJbnZva2VyLmphdmE=) | `74.76% <100%> (ø)` | `0 <0> (ø)` | :arrow_down: |
| [...ava/org/apache/dubbo/common/utils/StringUtils.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vdXRpbHMvU3RyaW5nVXRpbHMuamF2YQ==) | `85.77% <72.72%> (-0.76%)` | `0 <0> (ø)` | |
| [...ava/org/apache/dubbo/common/utils/ClassHelper.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vdXRpbHMvQ2xhc3NIZWxwZXIuamF2YQ==) | `71.02% <80%> (+8.17%)` | `0 <0> (ø)` | :arrow_down: |
| [...in/java/org/apache/dubbo/common/utils/JVMUtil.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vdXRpbHMvSlZNVXRpbC5qYXZh) | `73.58% <0%> (-7.55%)` | `0% <0%> (ø)` | |
| [...bo/metadata/definition/model/MethodDefinition.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tbWV0YWRhdGEtcmVwb3J0L2R1YmJvLW1ldGFkYXRhLWRlZmluaXRpb24vc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL21ldGFkYXRhL2RlZmluaXRpb24vbW9kZWwvTWV0aG9kRGVmaW5pdGlvbi5qYXZh) | `33.33% <0%> (-5.96%)` | `8% <0%> (ø)` | |
| [...ng/transport/dispatcher/all/AllChannelHandler.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvZGlzcGF0Y2hlci9hbGwvQWxsQ2hhbm5lbEhhbmRsZXIuamF2YQ==) | `51.42% <0%> (-5.72%)` | `0% <0%> (ø)` | |
| [.../org/apache/dubbo/remoting/ExecutionException.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy9FeGVjdXRpb25FeGNlcHRpb24uamF2YQ==) | `15.78% <0%> (-5.27%)` | `0% <0%> (ø)` | |
| [...e/dubbo/remoting/transport/netty/NettyChannel.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JlbW90aW5nL3RyYW5zcG9ydC9uZXR0eS9OZXR0eUNoYW5uZWwuamF2YQ==) | `57.64% <0%> (-4.71%)` | `0% <0%> (ø)` | |
| [...o/metadata/definition/model/ServiceDefinition.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tbWV0YWRhdGEtcmVwb3J0L2R1YmJvLW1ldGFkYXRhLWRlZmluaXRpb24vc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL21ldGFkYXRhL2RlZmluaXRpb24vbW9kZWwvU2VydmljZURlZmluaXRpb24uamF2YQ==) | `40.62% <0%> (-4.21%)` | `9% <0%> (ø)` | |
| ... and [53 more](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=footer). Last update [460c3a1...ee8deee](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).


[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] CrazyHZM commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "CrazyHZM (GitHub)" <gi...@apache.org>.
do it.

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] satansk commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "satansk (GitHub)" <gi...@apache.org>.
```
int index = str.indexOf(".");
if (index > 0) { ... }
```

When faced with .1, it would not go into `StringUtils.isNumeric(left, false) && StringUtils.isNumeric(right, false)`.

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] ralf0131 commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "ralf0131 (GitHub)" <gi...@apache.org>.
How about something like this:

```java
public static boolean isNumeric(String str, boolean allowDot) {
        if (str == null) {
            return false;
        }
        int sz = str.length();
        for (int i = 0; i < sz; i++) {
            if ((!allowDot && str.charAt(i) == '.') || !Character.isDigit(str.charAt(i))) {
                return false;
            }
        }
        return true;
    }
```

Not tested yet. Just for your information. In this way we can unify the logic into one method.
And call isNumeric(value, true) from ClassHelper.

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] codecov-io commented on issue #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "codecov-io (GitHub)" <gi...@apache.org>.
# [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=h1) Report
> Merging [#3093](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-dubbo/commit/15faa9bb36a09481467a6ee4d94bdc5d6c2d6a23?src=pr&el=desc) will **increase** coverage by `0.7%`.
> The diff coverage is `66.66%`.

[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/graphs/tree.svg?width=650&token=VnEIkiFQT0&height=150&src=pr)](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##             master   #3093     +/-   ##
==========================================
+ Coverage      63.1%   63.8%   +0.7%     
  Complexity       75      75             
==========================================
  Files           682     661     -21     
  Lines         30470   28643   -1827     
  Branches       5070    4834    -236     
==========================================
- Hits          19227   18276    -951     
+ Misses         8920    8151    -769     
+ Partials       2323    2216    -107
```


| [Impacted Files](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=tree) | Coverage Δ | Complexity Δ | |
|---|---|---|---|
| [...c/main/java/org/apache/dubbo/common/Constants.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vQ29uc3RhbnRzLmphdmE=) | `92.85% <ø> (ø)` | `0 <0> (ø)` | :arrow_down: |
| [...java/org/apache/dubbo/rpc/support/MockInvoker.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JwYy9zdXBwb3J0L01vY2tJbnZva2VyLmphdmE=) | `75.7% <100%> (ø)` | `0 <0> (ø)` | :arrow_down: |
| [...ava/org/apache/dubbo/common/utils/ClassHelper.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vdXRpbHMvQ2xhc3NIZWxwZXIuamF2YQ==) | `69.09% <61.11%> (+9.09%)` | `0 <0> (ø)` | :arrow_down: |
| [...ava/org/apache/dubbo/common/utils/StringUtils.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vdXRpbHMvU3RyaW5nVXRpbHMuamF2YQ==) | `85.37% <72.72%> (-0.75%)` | `0 <0> (ø)` | |
| [.../apache/dubbo/qos/protocol/QosProtocolWrapper.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcGx1Z2luL2R1YmJvLXFvcy9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcW9zL3Byb3RvY29sL1Fvc1Byb3RvY29sV3JhcHBlci5qYXZh) | `64.1% <0%> (-17.95%)` | `0% <0%> (ø)` | |
| [...che/dubbo/remoting/transport/mina/MinaChannel.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbWluYS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcmVtb3RpbmcvdHJhbnNwb3J0L21pbmEvTWluYUNoYW5uZWwuamF2YQ==) | `43.42% <0%> (-10.53%)` | `0% <0%> (ø)` | |
| [...apache/dubbo/common/config/ConfigurationUtils.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vY29uZmlnL0NvbmZpZ3VyYXRpb25VdGlscy5qYXZh) | `40% <0%> (-8%)` | `0% <0%> (ø)` | |
| [...ng/transport/dispatcher/all/AllChannelHandler.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvZGlzcGF0Y2hlci9hbGwvQWxsQ2hhbm5lbEhhbmRsZXIuamF2YQ==) | `57.14% <0%> (-5.72%)` | `0% <0%> (ø)` | |
| [...e/dubbo/remoting/transport/netty/NettyChannel.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JlbW90aW5nL3RyYW5zcG9ydC9uZXR0eS9OZXR0eUNoYW5uZWwuamF2YQ==) | `57.64% <0%> (-4.71%)` | `0% <0%> (ø)` | |
| [...dubbo/remoting/exchange/support/DefaultFuture.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy9leGNoYW5nZS9zdXBwb3J0L0RlZmF1bHRGdXR1cmUuamF2YQ==) | `70.94% <0%> (-4.06%)` | `0% <0%> (ø)` | |
| ... and [25 more](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=footer). Last update [15faa9b...06c3d8f](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).


[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] beiwei30 commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "beiwei30 (GitHub)" <gi...@apache.org>.
I am not persuaded that 'StringUtils.isNumeric()' is required here. In my opinion, JDK has already offered the nice API and we should stick to it. What we need to do is to catch **NumberFormatException** and return 'null' if necessary.

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] CrazyHZM commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "CrazyHZM (GitHub)" <gi...@apache.org>.
That's no problem, it will go to the logic below and it will return false.

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] khanimteyaz commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "khanimteyaz (GitHub)" <gi...@apache.org>.
@CrazyHZM are you planning to move this to Constants file?

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] codecov-io commented on issue #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "codecov-io (GitHub)" <gi...@apache.org>.
# [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=h1) Report
> Merging [#3093](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-dubbo/commit/0e0fbd5db890a6f976d7e45e6af3516efc2aa076?src=pr&el=desc) will **increase** coverage by `0.06%`.
> The diff coverage is `79.16%`.

[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/graphs/tree.svg?width=650&token=VnEIkiFQT0&height=150&src=pr)](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=tree)

```diff
@@             Coverage Diff              @@
##             master    #3093      +/-   ##
============================================
+ Coverage     63.64%   63.71%   +0.06%     
  Complexity       75       75              
============================================
  Files           653      653              
  Lines         28218    28228      +10     
  Branches       4784     4795      +11     
============================================
+ Hits          17960    17986      +26     
+ Misses         7996     7980      -16     
  Partials       2262     2262
```


| [Impacted Files](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=tree) | Coverage Δ | Complexity Δ | |
|---|---|---|---|
| [...c/main/java/org/apache/dubbo/common/Constants.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vQ29uc3RhbnRzLmphdmE=) | `92.85% <100%> (ø)` | `0 <0> (ø)` | :arrow_down: |
| [...java/org/apache/dubbo/rpc/support/MockInvoker.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JwYy9zdXBwb3J0L01vY2tJbnZva2VyLmphdmE=) | `74.76% <100%> (ø)` | `0 <0> (ø)` | :arrow_down: |
| [...ava/org/apache/dubbo/common/utils/StringUtils.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vdXRpbHMvU3RyaW5nVXRpbHMuamF2YQ==) | `85.77% <72.72%> (-0.76%)` | `0 <0> (ø)` | |
| [...ava/org/apache/dubbo/common/utils/ClassHelper.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vdXRpbHMvQ2xhc3NIZWxwZXIuamF2YQ==) | `71.96% <80%> (+8.15%)` | `0 <0> (ø)` | :arrow_down: |
| [...c/main/java/org/apache/dubbo/rpc/RpcException.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JwYy9ScGNFeGNlcHRpb24uamF2YQ==) | `82.75% <0%> (-3.45%)` | `0% <0%> (ø)` | |
| [.../java/org/apache/dubbo/config/ReferenceConfig.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29uZmlnL2R1YmJvLWNvbmZpZy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL2NvbmZpZy9SZWZlcmVuY2VDb25maWcuamF2YQ==) | `58.49% <0%> (-0.38%)` | `0% <0%> (ø)` | |
| [...a/org/apache/dubbo/monitor/dubbo/DubboMonitor.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tbW9uaXRvci9kdWJiby1tb25pdG9yLWRlZmF1bHQvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL21vbml0b3IvZHViYm8vRHViYm9Nb25pdG9yLmphdmE=) | `89.71% <0%> (+1.86%)` | `0% <0%> (ø)` | :arrow_down: |
| [...dubbo/remoting/exchange/support/DefaultFuture.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy9leGNoYW5nZS9zdXBwb3J0L0RlZmF1bHRGdXR1cmUuamF2YQ==) | `73.15% <0%> (+2.68%)` | `0% <0%> (ø)` | :arrow_down: |
| [...pache/dubbo/remoting/transport/AbstractServer.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvQWJzdHJhY3RTZXJ2ZXIuamF2YQ==) | `47.91% <0%> (+3.12%)` | `0% <0%> (ø)` | :arrow_down: |
| [...org/apache/dubbo/rpc/protocol/AbstractInvoker.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JwYy9wcm90b2NvbC9BYnN0cmFjdEludm9rZXIuamF2YQ==) | `66.12% <0%> (+3.22%)` | `0% <0%> (ø)` | :arrow_down: |
| ... and [1 more](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=footer). Last update [0e0fbd5...41c3ec2](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).


[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] CrazyHZM commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "CrazyHZM (GitHub)" <gi...@apache.org>.
I have modified it.

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] codecov-io commented on issue #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "codecov-io (GitHub)" <gi...@apache.org>.
# [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=h1) Report
> Merging [#3093](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-dubbo/commit/d41408e23f9f0b26f19a7c3e8f8bcfb5e9aaed1f?src=pr&el=desc) will **increase** coverage by `0.06%`.
> The diff coverage is `84.61%`.

[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/graphs/tree.svg?width=650&token=VnEIkiFQT0&height=150&src=pr)](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=tree)

```diff
@@             Coverage Diff              @@
##             master    #3093      +/-   ##
============================================
+ Coverage     63.52%   63.58%   +0.06%     
  Complexity       75       75              
============================================
  Files           652      652              
  Lines         28183    28186       +3     
  Branches       4791     4798       +7     
============================================
+ Hits          17902    17922      +20     
+ Misses         8023     8005      -18     
- Partials       2258     2259       +1
```


| [Impacted Files](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=tree) | Coverage Δ | Complexity Δ | |
|---|---|---|---|
| [...c/main/java/org/apache/dubbo/common/Constants.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vQ29uc3RhbnRzLmphdmE=) | `92.85% <100%> (ø)` | `0 <0> (ø)` | :arrow_down: |
| [...ava/org/apache/dubbo/common/utils/ClassHelper.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vdXRpbHMvQ2xhc3NIZWxwZXIuamF2YQ==) | `71.29% <81.81%> (+8.43%)` | `0 <0> (ø)` | :arrow_down: |
| [...dubbo/remoting/exchange/support/DefaultFuture.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy9leGNoYW5nZS9zdXBwb3J0L0RlZmF1bHRGdXR1cmUuamF2YQ==) | `71.14% <0%> (-4.03%)` | `0% <0%> (ø)` | |
| [...dubbo/rpc/protocol/dubbo/CallbackServiceCodec.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0NhbGxiYWNrU2VydmljZUNvZGVjLmphdmE=) | `77.2% <0%> (-2.21%)` | `0% <0%> (ø)` | |
| [.../src/main/java/org/apache/dubbo/rpc/RpcStatus.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JwYy9ScGNTdGF0dXMuamF2YQ==) | `68.13% <0%> (-2.2%)` | `0% <0%> (ø)` | |
| [.../apache/dubbo/remoting/transport/AbstractPeer.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvQWJzdHJhY3RQZWVyLmphdmE=) | `58.69% <0%> (-2.18%)` | `0% <0%> (ø)` | |
| [...pache/dubbo/remoting/transport/AbstractServer.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvQWJzdHJhY3RTZXJ2ZXIuamF2YQ==) | `47.91% <0%> (-1.05%)` | `0% <0%> (ø)` | |
| [...apache/dubbo/rpc/protocol/dubbo/DubboProtocol.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0R1YmJvUHJvdG9jb2wuamF2YQ==) | `65.83% <0%> (-0.84%)` | `0% <0%> (ø)` | |
| [.../java/org/apache/dubbo/config/ReferenceConfig.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29uZmlnL2R1YmJvLWNvbmZpZy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL2NvbmZpZy9SZWZlcmVuY2VDb25maWcuamF2YQ==) | `57.69% <0%> (-0.39%)` | `0% <0%> (ø)` | |
| [...pache/dubbo/registry/support/AbstractRegistry.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVnaXN0cnkvZHViYm8tcmVnaXN0cnktYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZWdpc3RyeS9zdXBwb3J0L0Fic3RyYWN0UmVnaXN0cnkuamF2YQ==) | `81.95% <0%> (+1.87%)` | `0% <0%> (ø)` | :arrow_down: |
| ... and [5 more](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=footer). Last update [d41408e...e6aebf8](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).


[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] dubbo-bot commented on issue #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "dubbo-bot (GitHub)" <gi...@apache.org>.
Ping @CrazyHZM . Conflict happens after merging a previous commit. Please rebase the branch against master and push it back again. Thanks a lot.

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] CrazyHZM commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "CrazyHZM (GitHub)" <gi...@apache.org>.
So is there a support for “.1”?

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] CrazyHZM commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "CrazyHZM (GitHub)" <gi...@apache.org>.
StringUtils.isNumeric(left, false) && StringUtils.isNumeric(right, false)

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] codecov-io commented on issue #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "codecov-io (GitHub)" <gi...@apache.org>.
# [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=h1) Report
> Merging [#3093](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-dubbo/commit/95fc75a05fbbdc23319e49dc9fd54084def3bb92?src=pr&el=desc) will **decrease** coverage by `0.02%`.
> The diff coverage is `71.42%`.

[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/graphs/tree.svg?width=650&token=VnEIkiFQT0&height=150&src=pr)](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=tree)

```diff
@@             Coverage Diff              @@
##             master    #3093      +/-   ##
============================================
- Coverage     63.81%   63.78%   -0.03%     
  Complexity       71       71              
============================================
  Files           661      661              
  Lines         28618    28629      +11     
  Branches       4824     4827       +3     
============================================
- Hits          18263    18262       -1     
- Misses         8137     8142       +5     
- Partials       2218     2225       +7
```


| [Impacted Files](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=tree) | Coverage Δ | Complexity Δ | |
|---|---|---|---|
| [...c/main/java/org/apache/dubbo/common/Constants.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vQ29uc3RhbnRzLmphdmE=) | `92.85% <ø> (ø)` | `0 <0> (ø)` | :arrow_down: |
| [...java/org/apache/dubbo/rpc/support/MockInvoker.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JwYy9zdXBwb3J0L01vY2tJbnZva2VyLmphdmE=) | `75.7% <100%> (ø)` | `0 <0> (ø)` | :arrow_down: |
| [...ava/org/apache/dubbo/common/utils/ClassHelper.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vdXRpbHMvQ2xhc3NIZWxwZXIuamF2YQ==) | `69.09% <61.11%> (+9.09%)` | `0 <0> (ø)` | :arrow_down: |
| [...ava/org/apache/dubbo/common/utils/StringUtils.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vdXRpbHMvU3RyaW5nVXRpbHMuamF2YQ==) | `86.05% <88.88%> (-0.07%)` | `0 <0> (ø)` | |
| [...he/dubbo/remoting/transport/netty/NettyServer.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JlbW90aW5nL3RyYW5zcG9ydC9uZXR0eS9OZXR0eVNlcnZlci5qYXZh) | `64.28% <0%> (-8.93%)` | `0% <0%> (ø)` | |
| [.../apache/dubbo/remoting/transport/AbstractPeer.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvQWJzdHJhY3RQZWVyLmphdmE=) | `58.69% <0%> (-8.7%)` | `0% <0%> (ø)` | |
| [...bbo/registry/support/ProviderConsumerRegTable.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVnaXN0cnkvZHViYm8tcmVnaXN0cnktYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZWdpc3RyeS9zdXBwb3J0L1Byb3ZpZGVyQ29uc3VtZXJSZWdUYWJsZS5qYXZh) | `80.48% <0%> (-4.88%)` | `0% <0%> (ø)` | |
| [...dubbo/remoting/exchange/support/DefaultFuture.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy9leGNoYW5nZS9zdXBwb3J0L0RlZmF1bHRGdXR1cmUuamF2YQ==) | `70.94% <0%> (-3.38%)` | `0% <0%> (ø)` | |
| [...bo/rpc/cluster/support/FailbackClusterInvoker.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY2x1c3Rlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL2NsdXN0ZXIvc3VwcG9ydC9GYWlsYmFja0NsdXN0ZXJJbnZva2VyLmphdmE=) | `67.21% <0%> (-3.28%)` | `0% <0%> (ø)` | |
| [...rg/apache/dubbo/common/timer/HashedWheelTimer.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vdGltZXIvSGFzaGVkV2hlZWxUaW1lci5qYXZh) | `56.44% <0%> (-1.75%)` | `0% <0%> (ø)` | |
| ... and [4 more](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=footer). Last update [95fc75a...1db1077](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).


[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] ralf0131 commented on issue #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "ralf0131 (GitHub)" <gi...@apache.org>.
@beiwei30 This pr looks good to me. You've requested change before, would you please confirm it?

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] codecov-io commented on issue #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "codecov-io (GitHub)" <gi...@apache.org>.
# [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=h1) Report
> Merging [#3093](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-dubbo/commit/2308a36475621f337bef056e40f9b9454c972b19?src=pr&el=desc) will **increase** coverage by `0.09%`.
> The diff coverage is `77.14%`.

[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/graphs/tree.svg?width=650&token=VnEIkiFQT0&height=150&src=pr)](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=tree)

```diff
@@             Coverage Diff             @@
##             master   #3093      +/-   ##
===========================================
+ Coverage      63.8%   63.9%   +0.09%     
  Complexity       71      71              
===========================================
  Files           661     661              
  Lines         28618   28633      +15     
  Branches       4824    4830       +6     
===========================================
+ Hits          18260   18298      +38     
+ Misses         8137    8115      -22     
+ Partials       2221    2220       -1
```


| [Impacted Files](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=tree) | Coverage Δ | Complexity Δ | |
|---|---|---|---|
| [...c/main/java/org/apache/dubbo/common/Constants.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vQ29uc3RhbnRzLmphdmE=) | `92.85% <ø> (ø)` | `0 <0> (ø)` | :arrow_down: |
| [...java/org/apache/dubbo/rpc/support/MockInvoker.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JwYy9zdXBwb3J0L01vY2tJbnZva2VyLmphdmE=) | `75.7% <100%> (ø)` | `0 <0> (ø)` | :arrow_down: |
| [...ava/org/apache/dubbo/common/utils/ClassHelper.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vdXRpbHMvQ2xhc3NIZWxwZXIuamF2YQ==) | `69.09% <61.11%> (+9.09%)` | `0 <0> (ø)` | :arrow_down: |
| [...ava/org/apache/dubbo/common/utils/StringUtils.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vdXRpbHMvU3RyaW5nVXRpbHMuamF2YQ==) | `85.88% <93.75%> (-0.25%)` | `0 <0> (ø)` | |
| [.../remoting/transport/netty4/NettyClientHandler.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05ldHR5Q2xpZW50SGFuZGxlci5qYXZh) | `79.06% <0%> (-9.31%)` | `0% <0%> (ø)` | |
| [...ng/exchange/support/header/HeartbeatTimerTask.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy9leGNoYW5nZS9zdXBwb3J0L2hlYWRlci9IZWFydGJlYXRUaW1lclRhc2suamF2YQ==) | `73.68% <0%> (-5.27%)` | `0% <0%> (ø)` | |
| [...onfig/spring/extension/SpringExtensionFactory.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29uZmlnL2R1YmJvLWNvbmZpZy1zcHJpbmcvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL2NvbmZpZy9zcHJpbmcvZXh0ZW5zaW9uL1NwcmluZ0V4dGVuc2lvbkZhY3RvcnkuamF2YQ==) | `80.48% <0%> (-4.88%)` | `0% <0%> (ø)` | |
| [.../java/org/apache/dubbo/config/ReferenceConfig.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29uZmlnL2R1YmJvLWNvbmZpZy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL2NvbmZpZy9SZWZlcmVuY2VDb25maWcuamF2YQ==) | `56.82% <0%> (+0.36%)` | `0% <0%> (ø)` | :arrow_down: |
| [.../exchange/support/header/HeaderExchangeServer.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy9leGNoYW5nZS9zdXBwb3J0L2hlYWRlci9IZWFkZXJFeGNoYW5nZVNlcnZlci5qYXZh) | `61.26% <0%> (+1.8%)` | `0% <0%> (ø)` | :arrow_down: |
| [...a/org/apache/dubbo/monitor/dubbo/DubboMonitor.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tbW9uaXRvci9kdWJiby1tb25pdG9yLWRlZmF1bHQvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL21vbml0b3IvZHViYm8vRHViYm9Nb25pdG9yLmphdmE=) | `89.71% <0%> (+1.86%)` | `0% <0%> (ø)` | :arrow_down: |
| ... and [7 more](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=footer). Last update [2308a36...b4c1810](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).


[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] codecov-io commented on issue #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "codecov-io (GitHub)" <gi...@apache.org>.
# [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=h1) Report
> Merging [#3093](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-dubbo/commit/2147d90679bdaf56f515bc8bae08fcc301771022?src=pr&el=desc) will **increase** coverage by `0.07%`.
> The diff coverage is `79.16%`.

[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/graphs/tree.svg?width=650&token=VnEIkiFQT0&height=150&src=pr)](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=tree)

```diff
@@             Coverage Diff             @@
##             master   #3093      +/-   ##
===========================================
+ Coverage     63.52%   63.6%   +0.07%     
  Complexity       75      75              
===========================================
  Files           652     652              
  Lines         28186   28198      +12     
  Branches       4783    4793      +10     
===========================================
+ Hits          17906   17934      +28     
+ Misses         8020    8010      -10     
+ Partials       2260    2254       -6
```


| [Impacted Files](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=tree) | Coverage Δ | Complexity Δ | |
|---|---|---|---|
| [...c/main/java/org/apache/dubbo/common/Constants.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vQ29uc3RhbnRzLmphdmE=) | `92.85% <100%> (ø)` | `0 <0> (ø)` | :arrow_down: |
| [...ava/org/apache/dubbo/common/utils/StringUtils.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vdXRpbHMvU3RyaW5nVXRpbHMuamF2YQ==) | `85.88% <75%> (-0.65%)` | `0 <0> (ø)` | |
| [...ava/org/apache/dubbo/common/utils/ClassHelper.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vdXRpbHMvQ2xhc3NIZWxwZXIuamF2YQ==) | `71.02% <80%> (+8.17%)` | `0 <0> (ø)` | :arrow_down: |
| [.../remoting/transport/netty4/NettyClientHandler.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05ldHR5Q2xpZW50SGFuZGxlci5qYXZh) | `75% <0%> (-11.12%)` | `0% <0%> (ø)` | |
| [...che/dubbo/remoting/transport/mina/MinaChannel.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbWluYS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcmVtb3RpbmcvdHJhbnNwb3J0L21pbmEvTWluYUNoYW5uZWwuamF2YQ==) | `43.42% <0%> (-10.53%)` | `0% <0%> (ø)` | |
| [...e/dubbo/remoting/transport/netty/NettyChannel.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JlbW90aW5nL3RyYW5zcG9ydC9uZXR0eS9OZXR0eUNoYW5uZWwuamF2YQ==) | `54.11% <0%> (-3.53%)` | `0% <0%> (ø)` | |
| [...rpc/protocol/dubbo/telnet/InvokeTelnetHandler.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL3RlbG5ldC9JbnZva2VUZWxuZXRIYW5kbGVyLmphdmE=) | `72.5% <0%> (-1.67%)` | `0% <0%> (ø)` | |
| [...dubbo/remoting/exchange/support/DefaultFuture.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy9leGNoYW5nZS9zdXBwb3J0L0RlZmF1bHRGdXR1cmUuamF2YQ==) | `71.81% <0%> (ø)` | `0% <0%> (ø)` | :arrow_down: |
| [...pache/dubbo/registry/support/AbstractRegistry.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVnaXN0cnkvZHViYm8tcmVnaXN0cnktYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZWdpc3RyeS9zdXBwb3J0L0Fic3RyYWN0UmVnaXN0cnkuamF2YQ==) | `81.2% <0%> (+0.75%)` | `0% <0%> (ø)` | :arrow_down: |
| [.../exchange/support/header/HeaderExchangeServer.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy9leGNoYW5nZS9zdXBwb3J0L2hlYWRlci9IZWFkZXJFeGNoYW5nZVNlcnZlci5qYXZh) | `59.82% <0%> (+1.7%)` | `0% <0%> (ø)` | :arrow_down: |
| ... and [8 more](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=footer). Last update [2147d90...c68078e](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).


[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] CrazyHZM commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "CrazyHZM (GitHub)" <gi...@apache.org>.
> @CrazyHZM are you planning to move this to Constants file?
I have removed it since the last change.

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] ralf0131 commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "ralf0131 (GitHub)" <gi...@apache.org>.
Still not convinced yet. Why are you need an extra call to String.indexOf? Why should we separate the logic into if-else? There is no need to do that, we can do that in only one for loop. Your implementation need at lease 2 for loop, which is not every elegant from my point of view.

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] beiwei30 closed pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "beiwei30 (GitHub)" <gi...@apache.org>.
[ pull request closed by beiwei30 ]

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] CrazyHZM commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "CrazyHZM (GitHub)" <gi...@apache.org>.
thanks,I will modify it.

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] ralf0131 commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "ralf0131 (GitHub)" <gi...@apache.org>.
Maybe you can enhance it based on the logic provided in `org.apache.dubbo.common.utils.StringUtils#isNumeric()`

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] CrazyHZM commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "CrazyHZM (GitHub)" <gi...@apache.org>.
Thanks, this is a good idea. I will modify it.

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] CrazyHZM commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "CrazyHZM (GitHub)" <gi...@apache.org>.
I have modified it .

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] satansk commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "satansk (GitHub)" <gi...@apache.org>.
Can handle something like ".1" or not?

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] CrazyHZM commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "CrazyHZM (GitHub)" <gi...@apache.org>.
It may not be these eight types, if it is placed in front, exporterMethodConfigUrlTest will not pass

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] khanimteyaz commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "khanimteyaz (GitHub)" <gi...@apache.org>.
ok

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] CrazyHZM commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "CrazyHZM (GitHub)" <gi...@apache.org>.
I think this is good, but I think the function enhancement of `StringUtils.isNumeric()` is not necessary to delete it. What do you think?

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] lixiaojiee commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "lixiaojiee (GitHub)" <gi...@apache.org>.
Personally, I think that variables like this can be moved into Constants class.

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] CrazyHZM commented on issue #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "CrazyHZM (GitHub)" <gi...@apache.org>.
@ralf0131 Hi,pls review my latest changes

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] codecov-io commented on issue #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "codecov-io (GitHub)" <gi...@apache.org>.
# [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=h1) Report
> Merging [#3093](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-dubbo/commit/0a2b9bfe7c390529f3f39228879ac848e154e813?src=pr&el=desc) will **decrease** coverage by `0.01%`.
> The diff coverage is `71.87%`.

[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/graphs/tree.svg?width=650&token=VnEIkiFQT0&height=150&src=pr)](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=tree)

```diff
@@             Coverage Diff              @@
##             master    #3093      +/-   ##
============================================
- Coverage     63.97%   63.95%   -0.02%     
  Complexity       75       75              
============================================
  Files           654      654              
  Lines         28236    28249      +13     
  Branches       4780     4785       +5     
============================================
+ Hits          18064    18068       +4     
- Misses         7981     7992      +11     
+ Partials       2191     2189       -2
```


| [Impacted Files](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=tree) | Coverage Δ | Complexity Δ | |
|---|---|---|---|
| [...c/main/java/org/apache/dubbo/common/Constants.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vQ29uc3RhbnRzLmphdmE=) | `92.85% <100%> (ø)` | `0 <0> (ø)` | :arrow_down: |
| [...java/org/apache/dubbo/rpc/support/MockInvoker.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JwYy9zdXBwb3J0L01vY2tJbnZva2VyLmphdmE=) | `75.7% <100%> (ø)` | `0 <0> (ø)` | :arrow_down: |
| [...ava/org/apache/dubbo/common/utils/ClassHelper.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vdXRpbHMvQ2xhc3NIZWxwZXIuamF2YQ==) | `72.72% <66.66%> (+8.91%)` | `0 <0> (ø)` | :arrow_down: |
| [...ava/org/apache/dubbo/common/utils/StringUtils.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vdXRpbHMvU3RyaW5nVXRpbHMuamF2YQ==) | `85.77% <72.72%> (-0.76%)` | `0 <0> (ø)` | |
| [.../remoting/transport/netty4/NettyClientHandler.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05ldHR5Q2xpZW50SGFuZGxlci5qYXZh) | `75% <0%> (-11.12%)` | `0% <0%> (ø)` | |
| [.../apache/dubbo/remoting/transport/AbstractPeer.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvQWJzdHJhY3RQZWVyLmphdmE=) | `58.69% <0%> (-4.35%)` | `0% <0%> (ø)` | |
| [...he/dubbo/remoting/transport/netty/NettyServer.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JlbW90aW5nL3RyYW5zcG9ydC9uZXR0eS9OZXR0eVNlcnZlci5qYXZh) | `69.64% <0%> (-3.58%)` | `0% <0%> (ø)` | |
| [...dubbo/remoting/exchange/support/DefaultFuture.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy9leGNoYW5nZS9zdXBwb3J0L0RlZmF1bHRGdXR1cmUuamF2YQ==) | `71.62% <0%> (-3.38%)` | `0% <0%> (ø)` | |
| [...pache/dubbo/remoting/transport/AbstractServer.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvQWJzdHJhY3RTZXJ2ZXIuamF2YQ==) | `44.79% <0%> (-3.13%)` | `0% <0%> (ø)` | |
| [...he/dubbo/registry/multicast/MulticastRegistry.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVnaXN0cnkvZHViYm8tcmVnaXN0cnktbXVsdGljYXN0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZWdpc3RyeS9tdWx0aWNhc3QvTXVsdGljYXN0UmVnaXN0cnkuamF2YQ==) | `64.93% <0%> (-1.74%)` | `0% <0%> (ø)` | |
| ... and [5 more](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=footer). Last update [0a2b9bf...7329110](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).


[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] ralf0131 commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "ralf0131 (GitHub)" <gi...@apache.org>.
No need to call `StringUtils.isNumber(value)` every time. We can put it in front.

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] ralf0131 commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "ralf0131 (GitHub)" <gi...@apache.org>.
Much better!

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] satansk commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "satansk (GitHub)" <gi...@apache.org>.
`Double.valueOf(".1"))` will produce 0.1, so I personally think it's better to support this pattern.

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] codecov-io commented on issue #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "codecov-io (GitHub)" <gi...@apache.org>.
# [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=h1) Report
> Merging [#3093](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-dubbo/commit/21046c85ea960c754d1f695530bff1a4b0aaa729?src=pr&el=desc) will **decrease** coverage by `0.02%`.
> The diff coverage is `63.88%`.

[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/graphs/tree.svg?width=650&token=VnEIkiFQT0&height=150&src=pr)](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=tree)

```diff
@@             Coverage Diff              @@
##             master    #3093      +/-   ##
============================================
- Coverage      63.9%   63.87%   -0.03%     
  Complexity       71       71              
============================================
  Files           661      661              
  Lines         28618    28637      +19     
  Branches       4824     4832       +8     
============================================
+ Hits          18289    18293       +4     
- Misses         8108     8121      +13     
- Partials       2221     2223       +2
```


| [Impacted Files](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=tree) | Coverage Δ | Complexity Δ | |
|---|---|---|---|
| [...c/main/java/org/apache/dubbo/common/Constants.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vQ29uc3RhbnRzLmphdmE=) | `92.85% <ø> (ø)` | `0 <0> (ø)` | :arrow_down: |
| [...java/org/apache/dubbo/rpc/support/MockInvoker.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JwYy9zdXBwb3J0L01vY2tJbnZva2VyLmphdmE=) | `75.7% <100%> (ø)` | `0 <0> (ø)` | :arrow_down: |
| [...ava/org/apache/dubbo/common/utils/ClassHelper.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vdXRpbHMvQ2xhc3NIZWxwZXIuamF2YQ==) | `69.09% <61.11%> (+9.09%)` | `0 <0> (ø)` | :arrow_down: |
| [...ava/org/apache/dubbo/common/utils/StringUtils.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vdXRpbHMvU3RyaW5nVXRpbHMuamF2YQ==) | `84.55% <64.7%> (-1.57%)` | `0 <0> (ø)` | |
| [...ache/dubbo/remoting/transport/AbstractChannel.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvQWJzdHJhY3RDaGFubmVsLmphdmE=) | `75% <0%> (-12.5%)` | `0% <0%> (ø)` | |
| [.../remoting/transport/netty4/NettyServerHandler.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05ldHR5U2VydmVySGFuZGxlci5qYXZh) | `73.52% <0%> (-11.77%)` | `0% <0%> (ø)` | |
| [...ng/transport/dispatcher/all/AllChannelHandler.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvZGlzcGF0Y2hlci9hbGwvQWxsQ2hhbm5lbEhhbmRsZXIuamF2YQ==) | `51.42% <0%> (-5.72%)` | `0% <0%> (ø)` | |
| [.../org/apache/dubbo/remoting/ExecutionException.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy9FeGVjdXRpb25FeGNlcHRpb24uamF2YQ==) | `15.78% <0%> (-5.27%)` | `0% <0%> (ø)` | |
| [...bo/rpc/cluster/support/FailbackClusterInvoker.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY2x1c3Rlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL2NsdXN0ZXIvc3VwcG9ydC9GYWlsYmFja0NsdXN0ZXJJbnZva2VyLmphdmE=) | `67.21% <0%> (-3.28%)` | `0% <0%> (ø)` | |
| [...dubbo/remoting/exchange/support/DefaultFuture.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy9leGNoYW5nZS9zdXBwb3J0L0RlZmF1bHRGdXR1cmUuamF2YQ==) | `72.29% <0%> (-2.71%)` | `0% <0%> (ø)` | |
| ... and [7 more](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=footer). Last update [21046c8...a9878f8](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).


[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] ralf0131 commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "ralf0131 (GitHub)" <gi...@apache.org>.
Hi,

I am not a fan of recursive call, especially for such a small function. I think this can be implemented by at most 2 for loops.

Can you replace it by a non-recursive call?

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] codecov-io commented on issue #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "codecov-io (GitHub)" <gi...@apache.org>.
# [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=h1) Report
> Merging [#3093](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-dubbo/commit/16fbc932e65501cdd1cba8b6d411f874a770cfb9?src=pr&el=desc) will **increase** coverage by `0.02%`.
> The diff coverage is `71.87%`.

[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/graphs/tree.svg?width=650&token=VnEIkiFQT0&height=150&src=pr)](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=tree)

```diff
@@             Coverage Diff              @@
##             master    #3093      +/-   ##
============================================
+ Coverage      63.9%   63.92%   +0.02%     
  Complexity       75       75              
============================================
  Files           653      653              
  Lines         28222    28235      +13     
  Branches       4779     4784       +5     
============================================
+ Hits          18035    18050      +15     
+ Misses         7998     7992       -6     
- Partials       2189     2193       +4
```


| [Impacted Files](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=tree) | Coverage Δ | Complexity Δ | |
|---|---|---|---|
| [...c/main/java/org/apache/dubbo/common/Constants.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vQ29uc3RhbnRzLmphdmE=) | `92.85% <100%> (ø)` | `0 <0> (ø)` | :arrow_down: |
| [...java/org/apache/dubbo/rpc/support/MockInvoker.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JwYy9zdXBwb3J0L01vY2tJbnZva2VyLmphdmE=) | `75.7% <100%> (ø)` | `0 <0> (ø)` | :arrow_down: |
| [...ava/org/apache/dubbo/common/utils/ClassHelper.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vdXRpbHMvQ2xhc3NIZWxwZXIuamF2YQ==) | `72.72% <66.66%> (+8.91%)` | `0 <0> (ø)` | :arrow_down: |
| [...ava/org/apache/dubbo/common/utils/StringUtils.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vdXRpbHMvU3RyaW5nVXRpbHMuamF2YQ==) | `85.77% <72.72%> (-0.76%)` | `0 <0> (ø)` | |
| [.../remoting/transport/netty4/NettyClientHandler.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHk0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvbmV0dHk0L05ldHR5Q2xpZW50SGFuZGxlci5qYXZh) | `75% <0%> (-11.12%)` | `0% <0%> (ø)` | |
| [...e/dubbo/remoting/transport/netty/NettyChannel.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JlbW90aW5nL3RyYW5zcG9ydC9uZXR0eS9OZXR0eUNoYW5uZWwuamF2YQ==) | `57.64% <0%> (-4.71%)` | `0% <0%> (ø)` | |
| [.../apache/dubbo/remoting/transport/AbstractPeer.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvQWJzdHJhY3RQZWVyLmphdmE=) | `58.69% <0%> (-4.35%)` | `0% <0%> (ø)` | |
| [...he/dubbo/remoting/transport/netty/NettyServer.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JlbW90aW5nL3RyYW5zcG9ydC9uZXR0eS9OZXR0eVNlcnZlci5qYXZh) | `69.64% <0%> (-3.58%)` | `0% <0%> (ø)` | |
| [...c/main/java/org/apache/dubbo/rpc/RpcException.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JwYy9ScGNFeGNlcHRpb24uamF2YQ==) | `82.75% <0%> (-3.45%)` | `0% <0%> (ø)` | |
| [...he/dubbo/registry/multicast/MulticastRegistry.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVnaXN0cnkvZHViYm8tcmVnaXN0cnktbXVsdGljYXN0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZWdpc3RyeS9tdWx0aWNhc3QvTXVsdGljYXN0UmVnaXN0cnkuamF2YQ==) | `64.93% <0%> (-1.74%)` | `0% <0%> (ø)` | |
| ... and [7 more](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=footer). Last update [16fbc93...4f5ce7c](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).


[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] khanimteyaz commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "khanimteyaz (GitHub)" <gi...@apache.org>.
I can still see `^[0-9]+(.[0-9]+)?$` here, is there any thing which I am missing?

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] codecov-io commented on issue #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "codecov-io (GitHub)" <gi...@apache.org>.
# [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=h1) Report
> Merging [#3093](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-dubbo/commit/460c3a17568ff31f994646558a48c2d0e7b37bd4?src=pr&el=desc) will **increase** coverage by `0.79%`.
> The diff coverage is `79.16%`.

[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/graphs/tree.svg?width=650&token=VnEIkiFQT0&height=150&src=pr)](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=tree)

```diff
@@             Coverage Diff              @@
##             master    #3093      +/-   ##
============================================
+ Coverage     63.63%   64.42%   +0.79%     
  Complexity       75       75              
============================================
  Files           652      652              
  Lines         28200    29303    +1103     
  Branches       4781     5086     +305     
============================================
+ Hits          17944    18879     +935     
- Misses         8005     8142     +137     
- Partials       2251     2282      +31
```


| [Impacted Files](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=tree) | Coverage Δ | Complexity Δ | |
|---|---|---|---|
| [...c/main/java/org/apache/dubbo/common/Constants.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vQ29uc3RhbnRzLmphdmE=) | `92.85% <100%> (ø)` | `0 <0> (ø)` | :arrow_down: |
| [...java/org/apache/dubbo/rpc/support/MockInvoker.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JwYy9zdXBwb3J0L01vY2tJbnZva2VyLmphdmE=) | `74.76% <100%> (ø)` | `0 <0> (ø)` | :arrow_down: |
| [...ava/org/apache/dubbo/common/utils/StringUtils.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vdXRpbHMvU3RyaW5nVXRpbHMuamF2YQ==) | `85.77% <72.72%> (-0.76%)` | `0 <0> (ø)` | |
| [...ava/org/apache/dubbo/common/utils/ClassHelper.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vdXRpbHMvQ2xhc3NIZWxwZXIuamF2YQ==) | `71.02% <80%> (+8.17%)` | `0 <0> (ø)` | :arrow_down: |
| [...in/java/org/apache/dubbo/common/utils/JVMUtil.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vdXRpbHMvSlZNVXRpbC5qYXZh) | `73.58% <0%> (-7.55%)` | `0% <0%> (ø)` | |
| [...bo/metadata/definition/model/MethodDefinition.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tbWV0YWRhdGEtcmVwb3J0L2R1YmJvLW1ldGFkYXRhLWRlZmluaXRpb24vc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL21ldGFkYXRhL2RlZmluaXRpb24vbW9kZWwvTWV0aG9kRGVmaW5pdGlvbi5qYXZh) | `33.33% <0%> (-5.96%)` | `8% <0%> (ø)` | |
| [...ng/transport/dispatcher/all/AllChannelHandler.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy90cmFuc3BvcnQvZGlzcGF0Y2hlci9hbGwvQWxsQ2hhbm5lbEhhbmRsZXIuamF2YQ==) | `51.42% <0%> (-5.72%)` | `0% <0%> (ø)` | |
| [.../org/apache/dubbo/remoting/ExecutionException.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy9FeGVjdXRpb25FeGNlcHRpb24uamF2YQ==) | `15.78% <0%> (-5.27%)` | `0% <0%> (ø)` | |
| [...e/dubbo/remoting/transport/netty/NettyChannel.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JlbW90aW5nL3RyYW5zcG9ydC9uZXR0eS9OZXR0eUNoYW5uZWwuamF2YQ==) | `57.64% <0%> (-4.71%)` | `0% <0%> (ø)` | |
| [...o/metadata/definition/model/ServiceDefinition.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tbWV0YWRhdGEtcmVwb3J0L2R1YmJvLW1ldGFkYXRhLWRlZmluaXRpb24vc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL21ldGFkYXRhL2RlZmluaXRpb24vbW9kZWwvU2VydmljZURlZmluaXRpb24uamF2YQ==) | `40.62% <0%> (-4.21%)` | `9% <0%> (ø)` | |
| ... and [51 more](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=footer). Last update [460c3a1...ee8deee](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).


[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] ralf0131 commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "ralf0131 (GitHub)" <gi...@apache.org>.
I don't think it is a good way to use regular express to check whether it is a number before doing the conversion, which is quite expensive. Please take a look at org.apache.dubbo.common.utils.StringUtils#isNumeric()

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] CrazyHZM commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "CrazyHZM (GitHub)" <gi...@apache.org>.
If you do this, values ​​that are not numeric will also return null. 
for example `value = “true”`

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] CrazyHZM closed pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "CrazyHZM (GitHub)" <gi...@apache.org>.
[ pull request closed by CrazyHZM ]

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] CrazyHZM commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "CrazyHZM (GitHub)" <gi...@apache.org>.
This method cannot exclude numbers with decimal points.

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] khanimteyaz commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "khanimteyaz (GitHub)" <gi...@apache.org>.
I think 
```
if(value==null || !isNumber(value)) { 
    return null;
}
```

should be good enough for all these, is it it?

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] CrazyHZM commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "CrazyHZM (GitHub)" <gi...@apache.org>.
I have modified it.

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] ralf0131 commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "ralf0131 (GitHub)" <gi...@apache.org>.
Still not convinced yet. Why are you need an extra call to String.indexOf? Why should we separate the logic into if-else? There is no need to do that, we can do that in only one for loop. Your implementation need at lease 2 for loop (one is String.indexOf, the other is the for loop you write), which is not every elegant from my point of view.

[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] codecov-io commented on issue #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "codecov-io (GitHub)" <gi...@apache.org>.
# [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=h1) Report
> Merging [#3093](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-dubbo/commit/f99f0158f1206ab5cadc1dfac1b373ebee25ebbd?src=pr&el=desc) will **decrease** coverage by `<.01%`.
> The diff coverage is `83.33%`.

[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/graphs/tree.svg?width=650&token=VnEIkiFQT0&height=150&src=pr)](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=tree)

```diff
@@             Coverage Diff              @@
##             master    #3093      +/-   ##
============================================
- Coverage     63.56%   63.55%   -0.01%     
  Complexity       75       75              
============================================
  Files           653      653              
  Lines         28218    28222       +4     
  Branches       4803     4810       +7     
============================================
  Hits          17936    17936              
- Misses         8009     8015       +6     
+ Partials       2273     2271       -2
```


| [Impacted Files](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=tree) | Coverage Δ | Complexity Δ | |
|---|---|---|---|
| [...ava/org/apache/dubbo/common/utils/ClassHelper.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vdXRpbHMvQ2xhc3NIZWxwZXIuamF2YQ==) | `71.55% <83.33%> (+8.7%)` | `0 <0> (ø)` | :arrow_down: |
| [...onfig/spring/extension/SpringExtensionFactory.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29uZmlnL2R1YmJvLWNvbmZpZy1zcHJpbmcvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL2NvbmZpZy9zcHJpbmcvZXh0ZW5zaW9uL1NwcmluZ0V4dGVuc2lvbkZhY3RvcnkuamF2YQ==) | `80.48% <0%> (-4.88%)` | `0% <0%> (ø)` | |
| [...e/dubbo/remoting/transport/netty/NettyChannel.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JlbW90aW5nL3RyYW5zcG9ydC9uZXR0eS9OZXR0eUNoYW5uZWwuamF2YQ==) | `57.64% <0%> (-4.71%)` | `0% <0%> (ø)` | |
| [...he/dubbo/remoting/transport/netty/NettyServer.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JlbW90aW5nL3RyYW5zcG9ydC9uZXR0eS9OZXR0eVNlcnZlci5qYXZh) | `67.85% <0%> (-3.58%)` | `0% <0%> (ø)` | |
| [...rpc/protocol/dubbo/telnet/InvokeTelnetHandler.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL3RlbG5ldC9JbnZva2VUZWxuZXRIYW5kbGVyLmphdmE=) | `72.5% <0%> (-1.67%)` | `0% <0%> (ø)` | |
| [...he/dubbo/registry/multicast/MulticastRegistry.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVnaXN0cnkvZHViYm8tcmVnaXN0cnktbXVsdGljYXN0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZWdpc3RyeS9tdWx0aWNhc3QvTXVsdGljYXN0UmVnaXN0cnkuamF2YQ==) | `63.79% <0%> (-1.3%)` | `0% <0%> (ø)` | |
| [...pache/dubbo/registry/support/AbstractRegistry.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVnaXN0cnkvZHViYm8tcmVnaXN0cnktYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZWdpc3RyeS9zdXBwb3J0L0Fic3RyYWN0UmVnaXN0cnkuamF2YQ==) | `80.07% <0%> (-1.13%)` | `0% <0%> (ø)` | |
| [.../java/org/apache/dubbo/config/ReferenceConfig.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29uZmlnL2R1YmJvLWNvbmZpZy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL2NvbmZpZy9SZWZlcmVuY2VDb25maWcuamF2YQ==) | `58.33% <0%> (+0.37%)` | `0% <0%> (ø)` | :arrow_down: |
| [...dubbo/remoting/exchange/support/DefaultFuture.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy9leGNoYW5nZS9zdXBwb3J0L0RlZmF1bHRGdXR1cmUuamF2YQ==) | `75.16% <0%> (+2.01%)` | `0% <0%> (ø)` | :arrow_down: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=footer). Last update [f99f015...c129f1d](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).


[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] codecov-io commented on issue #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "codecov-io (GitHub)" <gi...@apache.org>.
# [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=h1) Report
> Merging [#3093](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-dubbo/commit/2147d90679bdaf56f515bc8bae08fcc301771022?src=pr&el=desc) will **increase** coverage by `0.1%`.
> The diff coverage is `79.16%`.

[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/graphs/tree.svg?width=650&token=VnEIkiFQT0&height=150&src=pr)](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=tree)

```diff
@@             Coverage Diff             @@
##             master    #3093     +/-   ##
===========================================
+ Coverage     63.52%   63.63%   +0.1%     
  Complexity       75       75             
===========================================
  Files           652      652             
  Lines         28186    28196     +10     
  Branches       4783     4794     +11     
===========================================
+ Hits          17906    17943     +37     
+ Misses         8020     7997     -23     
+ Partials       2260     2256      -4
```


| [Impacted Files](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=tree) | Coverage Δ | Complexity Δ | |
|---|---|---|---|
| [...c/main/java/org/apache/dubbo/common/Constants.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vQ29uc3RhbnRzLmphdmE=) | `92.85% <100%> (ø)` | `0 <0> (ø)` | :arrow_down: |
| [...java/org/apache/dubbo/rpc/support/MockInvoker.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JwYy9zdXBwb3J0L01vY2tJbnZva2VyLmphdmE=) | `74.76% <100%> (ø)` | `0 <0> (ø)` | :arrow_down: |
| [...ava/org/apache/dubbo/common/utils/StringUtils.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vdXRpbHMvU3RyaW5nVXRpbHMuamF2YQ==) | `85.77% <72.72%> (-0.76%)` | `0 <0> (ø)` | |
| [...ava/org/apache/dubbo/common/utils/ClassHelper.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vdXRpbHMvQ2xhc3NIZWxwZXIuamF2YQ==) | `71.02% <80%> (+8.17%)` | `0 <0> (ø)` | :arrow_down: |
| [...onfig/spring/extension/SpringExtensionFactory.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29uZmlnL2R1YmJvLWNvbmZpZy1zcHJpbmcvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL2NvbmZpZy9zcHJpbmcvZXh0ZW5zaW9uL1NwcmluZ0V4dGVuc2lvbkZhY3RvcnkuamF2YQ==) | `78.04% <0%> (-7.32%)` | `0% <0%> (ø)` | |
| [...dubbo/rpc/protocol/dubbo/CallbackServiceCodec.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0NhbGxiYWNrU2VydmljZUNvZGVjLmphdmE=) | `77.2% <0%> (-2.21%)` | `0% <0%> (ø)` | |
| [...apache/dubbo/rpc/protocol/dubbo/DubboProtocol.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0R1YmJvUHJvdG9jb2wuamF2YQ==) | `65.83% <0%> (-0.84%)` | `0% <0%> (ø)` | |
| [...dubbo/remoting/exchange/support/DefaultFuture.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZW1vdGluZy9leGNoYW5nZS9zdXBwb3J0L0RlZmF1bHRGdXR1cmUuamF2YQ==) | `71.14% <0%> (-0.68%)` | `0% <0%> (ø)` | |
| [.../java/org/apache/dubbo/config/ReferenceConfig.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tY29uZmlnL2R1YmJvLWNvbmZpZy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL2NvbmZpZy9SZWZlcmVuY2VDb25maWcuamF2YQ==) | `58.64% <0%> (+0.37%)` | `0% <0%> (ø)` | :arrow_down: |
| [...pache/dubbo/registry/support/AbstractRegistry.java](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree#diff-ZHViYm8tcmVnaXN0cnkvZHViYm8tcmVnaXN0cnktYXBpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9yZWdpc3RyeS9zdXBwb3J0L0Fic3RyYWN0UmVnaXN0cnkuamF2YQ==) | `81.57% <0%> (+1.12%)` | `0% <0%> (ø)` | :arrow_down: |
| ... and [8 more](https://codecov.io/gh/apache/incubator-dubbo/pull/3093/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=footer). Last update [2147d90...89fefb6](https://codecov.io/gh/apache/incubator-dubbo/pull/3093?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).


[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] ralf0131 commented on pull request #3093: [Dubbo-3069]Use regular expressions to judge fix #3069

Posted by "ralf0131 (GitHub)" <gi...@apache.org>.
Hi, 

How about this:

```java
public static boolean isNumeric(String str, boolean allowDot) {
        if (str == null || str.isEmpty()) {
            return false;
        }
        int dotCount = 0;
        for (int i = 0; i < str.length(); i++) {
            if (str.charAt(i) == '.') {
                if (allowDot && dotCount == 0) {
                    dotCount++;
                    continue;
                } else {
                    return false;
                }
            }
            if (!Character.isDigit(str.charAt(i))) {
                return false;
            }
        }
        return true;
    }
```

This only need 1 loop. And also support something like "1." as a numeric.

```
jshell> Double.valueOf("1.")
$1 ==> 1.0
```

I also add some more unit test

```java
assertThat(StringUtils.isNumeric("123.3.3", true), is(false));
assertThat(StringUtils.isNumeric("123.", true), is(true));
```


[ Full content available at: https://github.com/apache/incubator-dubbo/pull/3093 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org