Skip to content

Commit bd098c3

Browse files
hayatbehlimanthonycorbacho
authored andcommitted
Removed named-regexp dependency and java version 1.6 to 1.7 (#53)
1 parent d637395 commit bd098c3

File tree

5 files changed

+44
-13
lines changed

5 files changed

+44
-13
lines changed

pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
<common.version>3.1</common.version>
6868
<gson.version>2.2.2</gson.version>
6969
<!-- maven -->
70-
<java.version>1.6</java.version>
70+
<java.version>1.7</java.version>
7171
</properties>
7272

7373
<dependencies>
@@ -78,12 +78,12 @@
7878
<scope>test</scope>
7979
</dependency>
8080

81-
<dependency>
81+
<!-- <dependency>
8282
<groupId>com.github.tony19</groupId>
8383
<artifactId>named-regexp</artifactId>
8484
<version>${named.regex.version}</version>
8585
<scope>compile</scope>
86-
</dependency>
86+
</dependency> -->
8787

8888
<dependency>
8989
<groupId>org.apache.commons</groupId>

src/main/java/oi/thekraken/grok/api/Discovery.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,11 @@
2424
import java.util.Map;
2525
import java.util.Map.Entry;
2626
import java.util.TreeMap;
27+
import java.util.regex.Matcher;
28+
import java.util.regex.Pattern;
2729

2830
import org.apache.commons.lang3.StringUtils;
2931

30-
import com.google.code.regexp.Matcher;
31-
import com.google.code.regexp.Pattern;
32-
3332
import oi.thekraken.grok.api.exception.GrokException;
3433

3534
/**

src/main/java/oi/thekraken/grok/api/Grok.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,14 @@
2626
import java.util.List;
2727
import java.util.Map;
2828
import java.util.TreeMap;
29+
import java.util.regex.Matcher;
30+
import java.util.regex.Pattern;
31+
2932

3033
import org.apache.commons.lang3.StringUtils;
3134
import org.slf4j.Logger;
3235
import org.slf4j.LoggerFactory;
3336

34-
import com.google.code.regexp.Matcher;
35-
import com.google.code.regexp.Pattern;
3637

3738
import oi.thekraken.grok.api.exception.GrokException;
3839

@@ -359,10 +360,10 @@ public void compile(String pattern, boolean namedOnly) throws GrokException {
359360

360361
Matcher m = GrokUtils.GROK_PATTERN.matcher(namedRegex);
361362
// Match %{Foo:bar} -> pattern name and subname
362-
// Match %{Foo=regex} -> add new regex definition
363+
// Match %{Foo=regex} -> add new regex definition
363364
if (m.find()) {
364365
continueIteration = true;
365-
Map<String, String> group = m.namedGroups();
366+
Map<String, String> group = GrokUtils.namedGroups(m, m.group());
366367
if (group.get("definition") != null) {
367368
try {
368369
addPattern(group.get("pattern"), group.get("definition"));

src/main/java/oi/thekraken/grok/api/GrokUtils.java

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
package oi.thekraken.grok.api;
22

3-
import com.google.code.regexp.Pattern;
3+
import java.util.LinkedHashMap;
4+
import java.util.LinkedHashSet;
5+
import java.util.Map;
6+
import java.util.Set;
7+
import java.util.regex.Matcher;
8+
import java.util.regex.Pattern;
9+
410

511
/**
612
* {@code GrokUtils} contain set of useful tools or methods.
@@ -26,5 +32,30 @@ public class GrokUtils {
2632
")" +
2733
")?" +
2834
"\\}");
35+
36+
public static final Pattern NAMED_REGEX = Pattern
37+
.compile("\\(\\?<([a-zA-Z][a-zA-Z0-9]*)>");
38+
39+
private static Set<String> getNameGroups(String regex) {
40+
Set<String> namedGroups = new LinkedHashSet<String>();
41+
Matcher m = NAMED_REGEX.matcher(regex);
42+
while (m.find()) {
43+
namedGroups.add(m.group(1));
44+
}
45+
return namedGroups;
46+
}
2947

48+
public static Map<String, String> namedGroups(Matcher matcher,
49+
String namedRegex) {
50+
Set<String> groupNames = getNameGroups(matcher.pattern().pattern());
51+
Matcher localMatcher = matcher.pattern().matcher(namedRegex);
52+
Map<String, String> namedGroups = new LinkedHashMap<String, String>();
53+
if (localMatcher.find()) {
54+
for (String groupName : groupNames) {
55+
String groupValue = localMatcher.group(groupName);
56+
namedGroups.put(groupName, groupValue);
57+
}
58+
}
59+
return namedGroups;
60+
}
3061
}

src/main/java/oi/thekraken/grok/api/Match.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
import java.util.Map;
2323
import java.util.Map.Entry;
2424
import java.util.TreeMap;
25+
import java.util.regex.Matcher;
2526

26-
import com.google.code.regexp.Matcher;
2727
import com.google.gson.Gson;
2828
import com.google.gson.GsonBuilder;
2929

@@ -152,7 +152,7 @@ public void captures() {
152152
// _capture.put("LINE", this.line);
153153
// _capture.put("LENGTH", this.line.length() +"");
154154

155-
Map<String, String> mappedw = this.match.namedGroups();
155+
Map<String, String> mappedw = GrokUtils.namedGroups(this.match,this.subject);
156156
Iterator<Entry<String, String>> it = mappedw.entrySet().iterator();
157157
while (it.hasNext()) {
158158

0 commit comments

Comments
 (0)