This is an automated email from the ASF dual-hosted git repository.

sewen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git

commit 6624562982c9d57bebba8cb4b574b8ed28640a0d
Author: liyafan82 <fan_li...@foxmail.com>
AuthorDate: Mon Jul 1 18:59:40 2019 +0800

    [FLINK-13043] [Library / CEP] Fix the bug of parsing Dewey number from 
string
    
    This closes #8936
---
 .../src/main/java/org/apache/flink/cep/nfa/DeweyNumber.java         | 6 ++++--
 .../src/test/java/org/apache/flink/cep/nfa/DeweyNumberTest.java     | 5 +++++
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git 
a/flink-libraries/flink-cep/src/main/java/org/apache/flink/cep/nfa/DeweyNumber.java
 
b/flink-libraries/flink-cep/src/main/java/org/apache/flink/cep/nfa/DeweyNumber.java
index 6141bf2..de41ef1 100644
--- 
a/flink-libraries/flink-cep/src/main/java/org/apache/flink/cep/nfa/DeweyNumber.java
+++ 
b/flink-libraries/flink-cep/src/main/java/org/apache/flink/cep/nfa/DeweyNumber.java
@@ -175,9 +175,9 @@ public class DeweyNumber implements Serializable {
        public static DeweyNumber fromString(final String deweyNumberString) {
                String[] splits = deweyNumberString.split("\\.");
 
-               if (splits.length == 0) {
+               if (splits.length == 1) {
                        return new 
DeweyNumber(Integer.parseInt(deweyNumberString));
-               } else {
+               } else if (splits.length > 0) {
                        int[] deweyNumber = new int[splits.length];
 
                        for (int i = 0; i < splits.length; i++) {
@@ -185,6 +185,8 @@ public class DeweyNumber implements Serializable {
                        }
 
                        return new DeweyNumber(deweyNumber);
+               } else {
+                       throw new IllegalArgumentException("Failed to parse " + 
deweyNumberString + " as a Dewey number");
                }
        }
 
diff --git 
a/flink-libraries/flink-cep/src/test/java/org/apache/flink/cep/nfa/DeweyNumberTest.java
 
b/flink-libraries/flink-cep/src/test/java/org/apache/flink/cep/nfa/DeweyNumberTest.java
index e28e77d..bf07294 100644
--- 
a/flink-libraries/flink-cep/src/test/java/org/apache/flink/cep/nfa/DeweyNumberTest.java
+++ 
b/flink-libraries/flink-cep/src/test/java/org/apache/flink/cep/nfa/DeweyNumberTest.java
@@ -55,4 +55,9 @@ public class DeweyNumberTest extends TestLogger {
                assertFalse(startAddStage.isCompatibleWith(increaseAddStage));
                
assertFalse(startAddStageIncreased.isCompatibleWith(startAddStageIncreasedAddStage));
        }
+
+       @Test(expected = IllegalArgumentException.class)
+       public void testZeroSplitsDeweyNumber() {
+               DeweyNumber.fromString(".");
+       }
 }

Reply via email to