Skip to content

Commit 9f26cf5

Browse files
authored
Remove usages of Guava (#1168)
1 parent 45c3881 commit 9f26cf5

15 files changed

+80
-70
lines changed

pom.xml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -183,11 +183,6 @@
183183
</dependency>
184184

185185
<!-- util dependencies -->
186-
<dependency>
187-
<groupId>com.google.guava</groupId>
188-
<artifactId>guava</artifactId>
189-
<version>18.0</version>
190-
</dependency>
191186
<dependency>
192187
<groupId>net.karneim</groupId>
193188
<artifactId>pojobuilder</artifactId>
@@ -279,6 +274,11 @@
279274

280275
<dependencyManagement>
281276
<dependencies>
277+
<dependency>
278+
<groupId>com.google.guava</groupId>
279+
<artifactId>guava</artifactId>
280+
<version>18.0</version>
281+
</dependency>
282282
<dependency>
283283
<!-- Pick up common dependencies for the selected LTS line: https://github.com/jenkinsci/bom#usage -->
284284
<groupId>io.jenkins.tools.bom</groupId>

src/main/java/com/dabsquared/gitlabjenkins/gitlab/api/impl/ResteasyGitLabClientBuilder.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import com.dabsquared.gitlabjenkins.util.JsonUtil;
99
import com.dabsquared.gitlabjenkins.util.LoggerUtil;
1010
import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
11-
import com.google.common.base.Joiner;
1211
import hudson.ProxyConfiguration;
1312
import hudson.init.InitMilestone;
1413
import hudson.init.Initializer;
@@ -154,7 +153,7 @@ private static class LoggingFilter implements ClientRequestFilter, ClientRespons
154153
public void filter(ClientRequestContext context) {
155154
if (LOGGER.isLoggable(Level.FINEST)) {
156155
LOGGER.log(Level.FINEST, "Call GitLab:\nHTTP method: {0}\nURL: {1}\nRequest headers: [\n{2}\n]",
157-
LoggerUtil.toArray(context.getMethod(), context.getUri(), toFilteredString(context.getHeaders())));
156+
LoggerUtil.toArray(context.getMethod(), context.getUri(), toFilteredString(context.getStringHeaders())));
158157
}
159158
}
160159

@@ -167,7 +166,7 @@ public void filter(ClientRequestContext request, ClientResponseContext response)
167166
}
168167
}
169168

170-
private String toFilteredString(MultivaluedMap<String, Object> headers) {
169+
private String toFilteredString(MultivaluedMap<String, String> headers) {
171170
return headers.entrySet().stream().map(new HeaderToFilteredString()).collect(Collectors.joining(",\n"));
172171
}
173172

@@ -197,16 +196,16 @@ private String getResponseBody(ClientResponseContext context) {
197196
return "";
198197
}
199198

200-
private static class HeaderToFilteredString implements Function<Map.Entry<String, List<Object>>, String> {
199+
private static class HeaderToFilteredString implements Function<Map.Entry<String, List<String>>, String> {
201200
@Nullable
202201
@Override
203-
public String apply(@Nullable Map.Entry<String, List<Object>> input) {
202+
public String apply(@Nullable Map.Entry<String, List<String>> input) {
204203
if (input == null) {
205204
return null;
206205
} else if (input.getKey().equals(PRIVATE_TOKEN)) {
207206
return input.getKey() + " = [****FILTERED****]";
208207
} else {
209-
return input.getKey() + " = [" + Joiner.on(", ").join(input.getValue()) + "]";
208+
return input.getKey() + " = [" + input.getValue().stream().collect(Collectors.joining(", ")) + "]";
210209
}
211210
}
212211
}
@@ -215,7 +214,7 @@ private static class HeaderToString implements Function<Map.Entry<String, List<S
215214
@Nullable
216215
@Override
217216
public String apply(@Nullable Map.Entry<String, List<String>> input) {
218-
return input == null ? null : input.getKey() + " = [" + Joiner.on(", ").join(input.getValue()) + "]";
217+
return input == null ? null : input.getKey() + " = [" + input.getValue().stream().collect(Collectors.joining(", ")) + "]";
219218
}
220219
}
221220
}

src/main/java/com/dabsquared/gitlabjenkins/trigger/branch/ProjectBranchesProvider.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33
import com.dabsquared.gitlabjenkins.Messages;
44
import com.dabsquared.gitlabjenkins.connection.GitLabConnectionProperty;
55
import com.dabsquared.gitlabjenkins.service.GitLabProjectBranchesService;
6-
import com.google.common.base.Joiner;
7-
import com.google.common.base.Splitter;
86
import hudson.model.AutoCompletionCandidates;
97
import hudson.model.Item;
108
import hudson.model.Job;
@@ -19,12 +17,14 @@
1917
import org.kohsuke.stapler.AncestorInPath;
2018
import org.kohsuke.stapler.QueryParameter;
2119

20+
import java.util.Arrays;
2221
import java.util.Collections;
2322
import java.util.HashSet;
2423
import java.util.List;
2524
import java.util.Set;
2625
import java.util.logging.Level;
2726
import java.util.logging.Logger;
27+
import java.util.stream.Collectors;
2828

2929
/**
3030
* @author Robin Müller
@@ -83,7 +83,8 @@ private FormValidation checkMatchingBranches(@QueryParameter String value, List<
8383
Set<String> matchingSpecs = new HashSet<>();
8484
Set<String> unknownSpecs = new HashSet<>();
8585
AntPathMatcherSet projectBranchesMatcherSet = new AntPathMatcherSet(projectBranches);
86-
for (String branchSpec : Splitter.on(',').omitEmptyStrings().trimResults().split(value)) {
86+
List<String> branchSpecs = Arrays.stream(value.split(",")).filter(s -> !s.isEmpty()).map(String::trim).collect(Collectors.toList());
87+
for (String branchSpec : branchSpecs) {
8788
if (projectBranchesMatcherSet.contains(branchSpec)) {
8889
matchingSpecs.add(branchSpec);
8990
} else {
@@ -94,7 +95,7 @@ private FormValidation checkMatchingBranches(@QueryParameter String value, List<
9495
if (unknownSpecs.isEmpty()) {
9596
return FormValidation.ok(Messages.GitLabPushTrigger_BranchesMatched(matchingSpecs.size()));
9697
} else {
97-
return FormValidation.warning(Messages.GitLabPushTrigger_BranchesNotFound(Joiner.on(", ").join(unknownSpecs)));
98+
return FormValidation.warning(Messages.GitLabPushTrigger_BranchesNotFound(unknownSpecs.stream().collect(Collectors.joining(", "))));
9899
}
99100
}
100101

src/main/java/com/dabsquared/gitlabjenkins/trigger/filter/MergeRequestLabelFilterImpl.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
package com.dabsquared.gitlabjenkins.trigger.filter;
22

3-
import com.google.common.base.Splitter;
4-
3+
import java.util.Arrays;
54
import java.util.Collection;
6-
import java.util.HashSet;
75
import java.util.Set;
6+
import java.util.stream.Collectors;
87

98
/**
109
* @author Robin Müller
@@ -43,10 +42,6 @@ private boolean containsIncludeLabel(Collection<String> labels) {
4342
}
4443

4544
private Set<String> convert(String commaSeparatedString) {
46-
Set<String> result = new HashSet<>();
47-
for (String s : Splitter.on(',').omitEmptyStrings().trimResults().split(commaSeparatedString)) {
48-
result.add(s);
49-
}
50-
return result;
45+
return Arrays.stream(commaSeparatedString.split(",")).filter(s -> !s.isEmpty()).map(String::trim).collect(Collectors.toSet());
5146
}
5247
}

src/main/java/com/dabsquared/gitlabjenkins/trigger/filter/NameBasedFilter.java

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package com.dabsquared.gitlabjenkins.trigger.filter;
22

3-
import com.google.common.base.Splitter;
43
import org.springframework.util.AntPathMatcher;
54

6-
import java.util.ArrayList;
5+
import java.util.Arrays;
76
import java.util.Collections;
87
import java.util.List;
8+
import java.util.stream.Collectors;
99

1010
/**
1111
* @author Robin Müller
@@ -53,10 +53,6 @@ private List<String> convert(String commaSeparatedString) {
5353
if (commaSeparatedString == null)
5454
return Collections.EMPTY_LIST;
5555

56-
ArrayList<String> result = new ArrayList<>();
57-
for (String s : Splitter.on(',').omitEmptyStrings().trimResults().split(commaSeparatedString)) {
58-
result.add(s);
59-
}
60-
return result;
56+
return Arrays.stream(commaSeparatedString.split(",")).filter(s -> !s.isEmpty()).map(String::trim).collect(Collectors.toList());
6157
}
6258
}

src/main/java/com/dabsquared/gitlabjenkins/trigger/handler/merge/MergeRequestHookTriggerHandlerImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import com.dabsquared.gitlabjenkins.trigger.handler.AbstractWebHookTriggerHandler;
1010
import com.dabsquared.gitlabjenkins.util.BuildUtil;
1111
import com.dabsquared.gitlabjenkins.trigger.handler.PendingBuildsHandler;
12-
import com.google.common.base.Predicate;
1312
import hudson.model.Job;
1413
import hudson.model.Run;
1514
import hudson.plugins.git.GitSCM;
@@ -28,6 +27,7 @@
2827
import java.util.Optional;
2928
import java.util.Set;
3029
import java.util.EnumSet;
30+
import java.util.function.Predicate;
3131
import java.util.logging.Level;
3232
import java.util.logging.Logger;
3333

@@ -264,7 +264,7 @@ private String getTargetMergeRequestStateFromBuild(Run<?, ?> mergeBuild) {
264264
}
265265

266266
private boolean isAllowedByConfig(MergeRequestObjectAttributes objectAttributes) {
267-
return triggerConfig.apply(objectAttributes);
267+
return triggerConfig.test(objectAttributes);
268268
}
269269
private boolean isBecameNoWip(MergeRequestHook hook) {
270270
MergeRequestChangedTitle changedTitle = Optional.of(hook).map(MergeRequestHook::getChanges).map(MergeRequestChanges::getTitle).orElse(new MergeRequestChangedTitle());

src/main/java/com/dabsquared/gitlabjenkins/trigger/handler/merge/StateAndActionConfig.java

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,11 @@
33
import com.dabsquared.gitlabjenkins.gitlab.hook.model.Action;
44
import com.dabsquared.gitlabjenkins.gitlab.hook.model.MergeRequestObjectAttributes;
55
import com.dabsquared.gitlabjenkins.gitlab.hook.model.State;
6-
import com.google.common.base.Predicate;
7-
import com.google.common.base.Predicates;
86

97
import javax.annotation.Nullable;
108
import java.util.Collection;
119
import java.util.Objects;
10+
import java.util.function.Predicate;
1211

1312
class StateAndActionConfig implements Predicate<MergeRequestObjectAttributes> {
1413
private final Predicate<State> states;
@@ -19,21 +18,21 @@ public StateAndActionConfig(Collection<State> allowedStates, Collection<Action>
1918
}
2019

2120
public StateAndActionConfig(Predicate<State> states, Predicate<Action> actions) {
22-
this.states = states == null ? Predicates.<State>alwaysTrue() : states;
23-
this.actions = actions == null ? Predicates.<Action>alwaysTrue() : actions;
21+
this.states = states == null ? unused -> true : states;
22+
this.actions = actions == null ? unused -> true : actions;
2423
}
2524

2625
@Override
27-
public boolean apply(MergeRequestObjectAttributes mergeRequestObjectAttributes) {
26+
public boolean test(MergeRequestObjectAttributes mergeRequestObjectAttributes) {
2827
return
29-
states.apply(mergeRequestObjectAttributes.getState()) &&
30-
actions.apply(mergeRequestObjectAttributes.getAction());
28+
states.test(mergeRequestObjectAttributes.getState()) &&
29+
actions.test(mergeRequestObjectAttributes.getAction());
3130
}
3231

3332
static <T> Predicate<T> nullOrContains(final Collection<T> collection) {
34-
return collection == null ? Predicates.<T>alwaysTrue() : new Predicate<T>() {
33+
return collection == null ? unused -> true : new Predicate<T>() {
3534
@Override
36-
public boolean apply(@Nullable T t) {
35+
public boolean test(@Nullable T t) {
3736
return t == null || collection.contains(t);
3837
}
3938
};
@@ -42,7 +41,7 @@ public boolean apply(@Nullable T t) {
4241
static <T> Predicate<T> notEqual(final T value) {
4342
return new Predicate<T>() {
4443
@Override
45-
public boolean apply(@Nullable T t) {
44+
public boolean test(@Nullable T t) {
4645
return !Objects.equals(t, value);
4746
}
4847
};

src/main/java/com/dabsquared/gitlabjenkins/trigger/handler/merge/TriggerConfigChain.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
import com.dabsquared.gitlabjenkins.gitlab.hook.model.Action;
44
import com.dabsquared.gitlabjenkins.gitlab.hook.model.MergeRequestObjectAttributes;
55
import com.dabsquared.gitlabjenkins.gitlab.hook.model.State;
6-
import com.google.common.base.Predicate;
76

87
import javax.annotation.Nullable;
98
import java.util.ArrayList;
109
import java.util.Collection;
1110
import java.util.EnumSet;
1211
import java.util.List;
12+
import java.util.function.Predicate;
1313

1414
public class TriggerConfigChain implements Predicate<MergeRequestObjectAttributes> {
1515
private final List<Predicate<MergeRequestObjectAttributes>> acceptRules = new ArrayList<>();
@@ -52,15 +52,15 @@ public TriggerConfigChain acceptIf(boolean condition, Predicate<State> states, P
5252
}
5353

5454
@Override
55-
public boolean apply(@Nullable MergeRequestObjectAttributes mergeRequestObjectAttributes) {
55+
public boolean test(@Nullable MergeRequestObjectAttributes mergeRequestObjectAttributes) {
5656
for (Predicate<MergeRequestObjectAttributes> predicate : rejectRules) {
57-
if (predicate.apply(mergeRequestObjectAttributes)) {
57+
if (predicate.test(mergeRequestObjectAttributes)) {
5858
return false;
5959
}
6060
}
6161

6262
for (Predicate<MergeRequestObjectAttributes> predicate : acceptRules) {
63-
if (predicate.apply(mergeRequestObjectAttributes)) {
63+
if (predicate.test(mergeRequestObjectAttributes)) {
6464
return true;
6565
}
6666
}

src/main/java/com/dabsquared/gitlabjenkins/trigger/label/ProjectLabelsProvider.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44
import com.dabsquared.gitlabjenkins.connection.GitLabConnectionProperty;
55
import com.dabsquared.gitlabjenkins.service.GitLabProjectBranchesService;
66
import com.dabsquared.gitlabjenkins.service.GitLabProjectLabelsService;
7-
import com.google.common.base.Joiner;
8-
import com.google.common.base.Splitter;
97
import hudson.model.AutoCompletionCandidates;
108
import hudson.model.Item;
119
import hudson.model.Job;
@@ -20,12 +18,14 @@
2018
import org.kohsuke.stapler.AncestorInPath;
2119
import org.kohsuke.stapler.QueryParameter;
2220

21+
import java.util.Arrays;
2322
import java.util.Collections;
2423
import java.util.HashSet;
2524
import java.util.List;
2625
import java.util.Set;
2726
import java.util.logging.Level;
2827
import java.util.logging.Logger;
28+
import java.util.stream.Collectors;
2929

3030
/**
3131
* @author Robin Müller
@@ -83,7 +83,8 @@ public FormValidation doCheckLabels(@AncestorInPath final Job<?, ?> project, @Qu
8383
private FormValidation checkMatchingLabels(@QueryParameter String value, List<String> labels) {
8484
Set<String> matchingLabels = new HashSet<>();
8585
Set<String> unknownLabels = new HashSet<>();
86-
for (String label : Splitter.on(',').omitEmptyStrings().trimResults().split(value)) {
86+
List<String> inputLabels = Arrays.stream(value.split(",")).filter(s -> !s.isEmpty()).map(String::trim).collect(Collectors.toList());
87+
for (String label : inputLabels) {
8788
if (labels.contains(label)) {
8889
matchingLabels.add(label);
8990
} else {
@@ -93,7 +94,7 @@ private FormValidation checkMatchingLabels(@QueryParameter String value, List<St
9394
if (unknownLabels.isEmpty()) {
9495
return FormValidation.ok(Messages.GitLabPushTrigger_LabelsMatched(matchingLabels.size()));
9596
} else {
96-
return FormValidation.warning(Messages.GitLabPushTrigger_LabelsNotFound(Joiner.on(", ").join(unknownLabels)));
97+
return FormValidation.warning(Messages.GitLabPushTrigger_LabelsNotFound(unknownLabels.stream().collect(Collectors.joining(", "))));
9798
}
9899
}
99100

src/main/java/com/dabsquared/gitlabjenkins/webhook/ActionResolver.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212
import com.dabsquared.gitlabjenkins.webhook.status.CommitStatusPngAction;
1313
import com.dabsquared.gitlabjenkins.webhook.status.StatusJsonAction;
1414
import com.fasterxml.jackson.databind.JsonNode;
15-
import com.google.common.base.Joiner;
16-
import com.google.common.base.Splitter;
1715
import hudson.model.Item;
1816
import hudson.model.ItemGroup;
1917
import hudson.model.Job;
@@ -27,7 +25,9 @@
2725

2826
import java.io.IOException;
2927
import java.nio.charset.Charset;
28+
import java.util.Arrays;
3029
import java.util.Iterator;
30+
import java.util.StringJoiner;
3131
import java.util.logging.Level;
3232
import java.util.logging.Logger;
3333
import java.util.regex.Matcher;
@@ -46,12 +46,16 @@ public class ActionResolver {
4646
Pattern.compile("^(refs/[^/]+/)?(commits|builds)/(?<sha1>[0-9a-fA-F]+)(?<statusJson>/status.json)?$");
4747

4848
public WebHookAction resolve(final String projectName, StaplerRequest request) {
49-
Iterator<String> restOfPathParts = Splitter.on('/').omitEmptyStrings().split(request.getRestOfPath()).iterator();
49+
Iterator<String> restOfPathParts = Arrays.stream(request.getRestOfPath().split("/")).filter(s -> !s.isEmpty()).iterator();
5050
Item project = resolveProject(projectName, restOfPathParts);
5151
if (project == null) {
5252
throw HttpResponses.notFound();
5353
}
54-
return resolveAction(project, Joiner.on('/').join(restOfPathParts), request);
54+
StringJoiner restOfPath = new StringJoiner("/");
55+
while (restOfPathParts.hasNext()) {
56+
restOfPath.add(restOfPathParts.next());
57+
}
58+
return resolveAction(project, restOfPath.toString(), request);
5559
}
5660

5761
private WebHookAction resolveAction(Item project, String restOfPath, StaplerRequest request) {
@@ -176,7 +180,7 @@ public Item invoke() {
176180
return item;
177181
}
178182
}
179-
LOGGER.log(Level.FINE, "No project found: {0}, {1}", toArray(projectName, Joiner.on('/').join(restOfPathParts)));
183+
LOGGER.log(Level.FINE, "No project found: {0}", toArray(projectName));
180184
return null;
181185
}
182186
});

0 commit comments

Comments
 (0)