diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2015-10-25 11:06:34 +1300 |
---|---|---|
committer | Anton Tananaev <anton.tananaev@gmail.com> | 2015-10-25 11:06:34 +1300 |
commit | 957740cfb5d74098971a8d4186eda4f9383774d8 (patch) | |
tree | d8fb3df0658a9a0ca45ee8a073aca3e82740eb1b /src/org/traccar/helper/PatternBuilder.java | |
parent | 8fe177bd27196a3924e4ef8e835ba9dac14975c3 (diff) | |
download | trackermap-server-957740cfb5d74098971a8d4186eda4f9383774d8.tar.gz trackermap-server-957740cfb5d74098971a8d4186eda4f9383774d8.tar.bz2 trackermap-server-957740cfb5d74098971a8d4186eda4f9383774d8.zip |
Refactor Totem protocol decoder
Diffstat (limited to 'src/org/traccar/helper/PatternBuilder.java')
-rw-r--r-- | src/org/traccar/helper/PatternBuilder.java | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/org/traccar/helper/PatternBuilder.java b/src/org/traccar/helper/PatternBuilder.java index 5d9d3afa8..4ce4295dd 100644 --- a/src/org/traccar/helper/PatternBuilder.java +++ b/src/org/traccar/helper/PatternBuilder.java @@ -33,6 +33,8 @@ public class PatternBuilder { } public PatternBuilder expression(String s) { + s = s.replaceAll("\\|$", "\\\\|"); // special case for delimiter + fragments.add(s); return this; } @@ -63,6 +65,11 @@ public class PatternBuilder { return this; } + public PatternBuilder or() { + fragments.add("|"); + return this; + } + public PatternBuilder groupBegin() { return expression("(?:"); } @@ -75,10 +82,6 @@ public class PatternBuilder { return expression(")" + s); } - public PatternBuilder or() { - return expression("|"); - } - public Pattern compile() { return Pattern.compile(toString(), Pattern.DOTALL); } |