Commit 22c91039553c1ef31c86a3fdfd437ff115e04320
1 parent
3127678d
fix MqttTopicFilterFactory toFilter
Showing
1 changed file
with
7 additions
and
10 deletions
@@ -33,16 +33,13 @@ public class MqttTopicFilterFactory { | @@ -33,16 +33,13 @@ public class MqttTopicFilterFactory { | ||
33 | throw new IllegalArgumentException("Topic filter can't be empty!"); | 33 | throw new IllegalArgumentException("Topic filter can't be empty!"); |
34 | } | 34 | } |
35 | return filters.computeIfAbsent(topicFilter, filter -> { | 35 | return filters.computeIfAbsent(topicFilter, filter -> { |
36 | - if (filter.contains("+") || filter.contains("#")) { | ||
37 | - String regex; | ||
38 | - if (filter.equals("#")) { | ||
39 | - return new AlwaysTrueTopicFilter(); | ||
40 | - } else { | ||
41 | - regex = filter | ||
42 | - .replace("\\", "\\\\") | ||
43 | - .replace("+", "[^/]+") | ||
44 | - .replace("/#", "($|/.*)"); | ||
45 | - } | 36 | + if (filter.equals("#")) { |
37 | + return new AlwaysTrueTopicFilter(); | ||
38 | + } else if (filter.contains("+") || filter.contains("#")) { | ||
39 | + String regex = filter | ||
40 | + .replace("\\", "\\\\") | ||
41 | + .replace("+", "[^/]+") | ||
42 | + .replace("/#", "($|/.*)"); | ||
46 | log.debug("Converting [{}] to [{}]", filter, regex); | 43 | log.debug("Converting [{}] to [{}]", filter, regex); |
47 | return new RegexTopicFilter(regex); | 44 | return new RegexTopicFilter(regex); |
48 | } else { | 45 | } else { |