From c0108f6c6314d32e5c867bc53308db64a7b93f68 Mon Sep 17 00:00:00 2001 From: childish-sambino Date: Fri, 14 Aug 2020 10:18:53 -0500 Subject: [PATCH] chore: drop some of the Guava usage which is easily replaced (#567) --- src/main/java/com/twilio/base/Page.java | 3 +- src/main/java/com/twilio/base/Reader.java | 9 ++-- .../converter/PrefixedCollapsibleMap.java | 8 ++-- .../com/twilio/http/NetworkHttpClient.java | 12 ++--- .../com/twilio/http/ValidationClient.java | 6 +-- .../twilio/http/ValidationInterceptor.java | 12 ++--- .../twilio/jwt/accesstoken/VoiceGrant.java | 22 ++++----- .../twilio/jwt/client/ClientCapability.java | 3 +- .../com/twilio/jwt/taskrouter/Policy.java | 10 ++-- .../twilio/jwt/taskrouter/PolicyUtils.java | 36 +++++++------- .../jwt/taskrouter/TaskRouterCapability.java | 16 +++---- .../jwt/validation/RequestCanonicalizer.java | 27 +++++------ .../jwt/validation/ValidationToken.java | 7 ++- src/main/java/com/twilio/twiml/TwiML.java | 20 ++++---- src/main/java/com/twilio/type/Sip.java | 4 +- .../com/twilio/compliance/ComplianceTest.java | 8 ++-- .../com/twilio/converter/PromoterTest.java | 4 +- .../jwt/client/ClientCapabilityTest.java | 4 +- .../jwt/taskrouter/PolicyUtilsTest.java | 8 ++-- .../taskrouter/TaskRouterCapabilityTest.java | 4 +- .../validation/RequestCanonicalizerTest.java | 48 +++++++++---------- .../jwt/validation/ValidationTokenTest.java | 4 +- .../com/twilio/taskrouter/WorkflowTest.java | 10 ++-- .../twilio/type/OutboundPrefixPriceTest.java | 4 +- .../com/twilio/type/OutboundSmsPriceTest.java | 4 +- .../com/twilio/type/SubscribeRuleTest.java | 5 +- 26 files changed, 144 insertions(+), 154 deletions(-) diff --git a/src/main/java/com/twilio/base/Page.java b/src/main/java/com/twilio/base/Page.java index 8c237788cf..b03440007e 100644 --- a/src/main/java/com/twilio/base/Page.java +++ b/src/main/java/com/twilio/base/Page.java @@ -2,7 +2,6 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; -import com.google.common.base.Strings; import com.twilio.exception.ApiConnectionException; import java.io.IOException; @@ -103,7 +102,7 @@ public String getUrl(String domain) { } public boolean hasNextPage() { - return !Strings.isNullOrEmpty(nextPageUri) || !Strings.isNullOrEmpty(nextPageUrl); + return (nextPageUri != null && !nextPageUri.isEmpty()) || (nextPageUrl != null && !nextPageUrl.isEmpty()); } /** diff --git a/src/main/java/com/twilio/base/Reader.java b/src/main/java/com/twilio/base/Reader.java index 6684db21a1..363d06c05f 100644 --- a/src/main/java/com/twilio/base/Reader.java +++ b/src/main/java/com/twilio/base/Reader.java @@ -87,7 +87,7 @@ public Page getPage(final String targetUrl) { * Retrieve the target page of resources. * * @param targetUrl API-generated URL for the requested results page - * @param client client used to fetch + * @param client client used to fetch * @return Page containing the target pageSize of resources */ public abstract Page getPage(final String targetUrl, final TwilioRestClient client); @@ -105,7 +105,7 @@ public Page nextPage(final Page page) { /** * Fetch the following page of resources using specified client. * - * @param page current page of resources + * @param page current page of resources * @param client client used to fetch * @return Page containing the next pageSize of resources */ @@ -124,7 +124,7 @@ public Page previousPage(final Page page) { /** * Fetch the prior page of resources using specified client. * - * @param page current page of resources + * @param page current page of resources * @param client client used to fetch * @return Page containing the previous pageSize of resources */ @@ -153,10 +153,9 @@ public Reader limit(final long limit) { this.limit = limit; if (this.pageSize == null) { - this.pageSize = (new Long(this.limit)).intValue(); + this.pageSize = this.limit.intValue(); } return this; } - } diff --git a/src/main/java/com/twilio/converter/PrefixedCollapsibleMap.java b/src/main/java/com/twilio/converter/PrefixedCollapsibleMap.java index d772897523..0bc6694078 100644 --- a/src/main/java/com/twilio/converter/PrefixedCollapsibleMap.java +++ b/src/main/java/com/twilio/converter/PrefixedCollapsibleMap.java @@ -1,7 +1,6 @@ package com.twilio.converter; import com.google.common.base.Joiner; -import com.google.common.collect.Lists; import java.util.ArrayList; import java.util.Collections; @@ -17,11 +16,11 @@ private static Map flatten( List previous ) { for (Map.Entry entry : map.entrySet()) { - List next = Lists.newArrayList(previous); + List next = new ArrayList<>(previous); next.add(entry.getKey()); if (entry.getValue() instanceof Map) { - flatten((Map)entry.getValue(), result, next); + flatten((Map) entry.getValue(), result, next); } else { result.put(Joiner.on('.').join(next), entry.getValue().toString()); } @@ -34,7 +33,7 @@ private static Map flatten( * Flatten a Map of String, Object into a Map of String, String where keys are '.' separated * and prepends a key. * - * @param map map to transform + * @param map map to transform * @param prefix key to prepend * @return flattened map */ @@ -52,5 +51,4 @@ public static Map serialize(Map map, String pref return result; } - } diff --git a/src/main/java/com/twilio/http/NetworkHttpClient.java b/src/main/java/com/twilio/http/NetworkHttpClient.java index e84e1bb776..c994e65f71 100644 --- a/src/main/java/com/twilio/http/NetworkHttpClient.java +++ b/src/main/java/com/twilio/http/NetworkHttpClient.java @@ -1,10 +1,7 @@ package com.twilio.http; -import com.google.common.base.Strings; -import com.google.common.collect.Lists; import com.twilio.Twilio; import com.twilio.exception.ApiException; -import org.apache.http.Header; import org.apache.http.HttpEntity; import org.apache.http.HttpHeaders; import org.apache.http.HttpResponse; @@ -19,6 +16,7 @@ import java.io.IOException; import java.nio.charset.StandardCharsets; +import java.util.Arrays; import java.util.Collection; import java.util.List; import java.util.Map; @@ -46,7 +44,7 @@ public NetworkHttpClient() { * @param config a RequestConfig. */ public NetworkHttpClient(RequestConfig config) { - Collection
headers = Lists.
newArrayList( + Collection headers = Arrays.asList( new BasicHeader("X-Twilio-Client", "java-" + Twilio.VERSION), new BasicHeader(HttpHeaders.USER_AGENT, "twilio-java/" + Twilio.VERSION + " (" + Twilio.JAVA_VERSION + ")"), new BasicHeader(HttpHeaders.ACCEPT, "application/json"), @@ -54,11 +52,11 @@ public NetworkHttpClient(RequestConfig config) { ); String googleAppEngineVersion = System.getProperty("com.google.appengine.runtime.version"); - boolean isNotGoogleAppEngine = Strings.isNullOrEmpty(googleAppEngineVersion); + boolean isGoogleAppEngine = googleAppEngineVersion != null && !googleAppEngineVersion.isEmpty(); org.apache.http.impl.client.HttpClientBuilder clientBuilder = HttpClientBuilder.create(); - if (isNotGoogleAppEngine) { + if (!isGoogleAppEngine) { clientBuilder.useSystemProperties(); } @@ -79,7 +77,7 @@ public NetworkHttpClient(RequestConfig config) { * @param clientBuilder an HttpClientBuilder. */ public NetworkHttpClient(HttpClientBuilder clientBuilder) { - Collection
headers = Lists.
newArrayList( + Collection headers = Arrays.asList( new BasicHeader("X-Twilio-Client", "java-" + Twilio.VERSION), new BasicHeader( HttpHeaders.USER_AGENT, "twilio-java/" + Twilio.VERSION + " (" + Twilio.JAVA_VERSION + ") custom" diff --git a/src/main/java/com/twilio/http/ValidationClient.java b/src/main/java/com/twilio/http/ValidationClient.java index 6998cac3eb..4a7017fd4d 100644 --- a/src/main/java/com/twilio/http/ValidationClient.java +++ b/src/main/java/com/twilio/http/ValidationClient.java @@ -1,10 +1,7 @@ package com.twilio.http; - -import com.google.common.collect.Lists; import com.twilio.Twilio; import com.twilio.exception.ApiException; -import org.apache.http.Header; import org.apache.http.HttpHeaders; import org.apache.http.HttpResponse; import org.apache.http.HttpVersion; @@ -17,6 +14,7 @@ import java.io.IOException; import java.nio.charset.StandardCharsets; import java.security.PrivateKey; +import java.util.Arrays; import java.util.Collection; import java.util.List; import java.util.Map; @@ -42,7 +40,7 @@ public ValidationClient(String accountSid, String credentialSid, String signingK .setSocketTimeout(SOCKET_TIMEOUT) .build(); - Collection
headers = Lists.
newArrayList( + Collection headers = Arrays.asList( new BasicHeader("X-Twilio-Client", "java-" + Twilio.VERSION), new BasicHeader(HttpHeaders.USER_AGENT, "twilio-java/" + Twilio.VERSION + " (" + Twilio.JAVA_VERSION + ")"), new BasicHeader(HttpHeaders.ACCEPT, "application/json"), diff --git a/src/main/java/com/twilio/http/ValidationInterceptor.java b/src/main/java/com/twilio/http/ValidationInterceptor.java index 1826f4511d..4f8b5e2f59 100644 --- a/src/main/java/com/twilio/http/ValidationInterceptor.java +++ b/src/main/java/com/twilio/http/ValidationInterceptor.java @@ -1,6 +1,5 @@ package com.twilio.http; -import com.google.common.collect.Lists; import com.twilio.jwt.Jwt; import com.twilio.jwt.validation.ValidationToken; import org.apache.http.HttpException; @@ -10,11 +9,12 @@ import java.io.IOException; import java.security.PrivateKey; +import java.util.Arrays; import java.util.List; public class ValidationInterceptor implements HttpRequestInterceptor { - private static final List HEADERS = Lists.newArrayList("authorization", "host"); + private static final List HEADERS = Arrays.asList("authorization", "host"); private final String accountSid; private final String credentialSid; @@ -24,10 +24,10 @@ public class ValidationInterceptor implements HttpRequestInterceptor { /** * Create a new ValidationInterceptor. * - * @param accountSid Twilio Acocunt SID - * @param credentialSid Twilio Credential SID - * @param signingKeySid Twilio Signing Key - * @param privateKey Private Key + * @param accountSid Twilio Acocunt SID + * @param credentialSid Twilio Credential SID + * @param signingKeySid Twilio Signing Key + * @param privateKey Private Key */ public ValidationInterceptor(String accountSid, String credentialSid, String signingKeySid, PrivateKey privateKey) { this.accountSid = accountSid; diff --git a/src/main/java/com/twilio/jwt/accesstoken/VoiceGrant.java b/src/main/java/com/twilio/jwt/accesstoken/VoiceGrant.java index d336b3942c..f2d2a7e506 100644 --- a/src/main/java/com/twilio/jwt/accesstoken/VoiceGrant.java +++ b/src/main/java/com/twilio/jwt/accesstoken/VoiceGrant.java @@ -1,7 +1,6 @@ package com.twilio.jwt.accesstoken; import com.fasterxml.jackson.annotation.JsonInclude; -import com.google.common.base.Strings; import java.util.HashMap; import java.util.Map; @@ -36,9 +35,9 @@ public VoiceGrant setOutgoingApplicationSid(String outgoingApplicationSid) { /** * Set the outgoing application. - * - * @param outgoingApplicationSid outgoing application sid - * @param outgoingApplicationParams outgoing application parameters + * + * @param outgoingApplicationSid outgoing application sid + * @param outgoingApplicationParams outgoing application parameters * @return voice grant */ public VoiceGrant setOutgoingApplication( @@ -80,16 +79,16 @@ public class Payload { /** * Generate VoiceGrant payload. - * - * @param grant VoiceGrant + * + * @param grant VoiceGrant */ public Payload(VoiceGrant grant) { if (grant.incomingAllow != null) { - this.incoming = new HashMap<>(); - this.incoming.put("allow", grant.incomingAllow); + this.incoming = new HashMap<>(); + this.incoming.put("allow", grant.incomingAllow); } - if (!Strings.isNullOrEmpty(grant.outgoingApplicationSid)) { + if (grant.outgoingApplicationSid != null && !grant.outgoingApplicationSid.isEmpty()) { this.outgoing = new HashMap<>(); this.outgoing.put("application_sid", grant.outgoingApplicationSid); @@ -98,14 +97,13 @@ public Payload(VoiceGrant grant) { } } - if (!Strings.isNullOrEmpty(grant.pushCredentialSid)) { + if (grant.pushCredentialSid != null && !grant.pushCredentialSid.isEmpty()) { this.push_credential_sid = grant.pushCredentialSid; } - if (!Strings.isNullOrEmpty(grant.endpointId)) { + if (grant.endpointId != null && !grant.endpointId.isEmpty()) { this.endpoint_id = grant.endpointId; } } } - } diff --git a/src/main/java/com/twilio/jwt/client/ClientCapability.java b/src/main/java/com/twilio/jwt/client/ClientCapability.java index 30c688ea66..8f002006d7 100644 --- a/src/main/java/com/twilio/jwt/client/ClientCapability.java +++ b/src/main/java/com/twilio/jwt/client/ClientCapability.java @@ -1,7 +1,6 @@ package com.twilio.jwt.client; import com.google.common.base.Joiner; -import com.google.common.collect.Lists; import com.twilio.jwt.Jwt; import com.twilio.jwt.JwtEncodingException; import io.jsonwebtoken.SignatureAlgorithm; @@ -61,7 +60,7 @@ public static class Builder { private String accountSid; private String authToken; private int ttl = 3600; - private List scopes = Lists.newArrayList(); + private List scopes = new ArrayList<>(); /** * Create a new builder for a Client Capability. diff --git a/src/main/java/com/twilio/jwt/taskrouter/Policy.java b/src/main/java/com/twilio/jwt/taskrouter/Policy.java index 254464ca38..d3802729ff 100644 --- a/src/main/java/com/twilio/jwt/taskrouter/Policy.java +++ b/src/main/java/com/twilio/jwt/taskrouter/Policy.java @@ -6,12 +6,12 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.base.MoreObjects; -import com.google.common.base.Objects; import com.twilio.http.HttpMethod; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.Map; +import java.util.Objects; @JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY) @JsonInclude(JsonInclude.Include.NON_NULL) @@ -88,14 +88,14 @@ public boolean equals(Object o) { Policy policy = (Policy) o; return allowed == policy.allowed && method == policy.method && - Objects.equal(url, policy.url) && - Objects.equal(queryFilter, policy.queryFilter) && - Objects.equal(postFilter, policy.postFilter); + Objects.equals(url, policy.url) && + Objects.equals(queryFilter, policy.queryFilter) && + Objects.equals(postFilter, policy.postFilter); } @Override public int hashCode() { - return Objects.hashCode(url, method, queryFilter, postFilter, allowed); + return Objects.hash(url, method, queryFilter, postFilter, allowed); } @Override diff --git a/src/main/java/com/twilio/jwt/taskrouter/PolicyUtils.java b/src/main/java/com/twilio/jwt/taskrouter/PolicyUtils.java index 3a11feedfb..6389817b65 100644 --- a/src/main/java/com/twilio/jwt/taskrouter/PolicyUtils.java +++ b/src/main/java/com/twilio/jwt/taskrouter/PolicyUtils.java @@ -1,9 +1,9 @@ package com.twilio.jwt.taskrouter; import com.google.common.base.Joiner; -import com.google.common.collect.Lists; import com.twilio.http.HttpMethod; +import java.util.ArrayList; import java.util.List; public class PolicyUtils { @@ -16,50 +16,54 @@ private PolicyUtils() {} * Build the default Polices for a Worker. * * @param workspaceSid Workspace sid of the worker - * @param workerSid Worker sid + * @param workerSid Worker sid * @return generated Policies */ public static List defaultWorkerPolicies(String workspaceSid, String workerSid) { - Policy activities = new Policy.Builder() + final List policies = new ArrayList<>(); + + policies.add(new Policy.Builder() .url(UrlUtils.activities(workspaceSid)) .method(HttpMethod.GET) .allowed(true) - .build(); + .build()); - Policy tasks = new Policy.Builder() + policies.add(new Policy.Builder() .url(UrlUtils.allTasks(workspaceSid)) .method(HttpMethod.GET) .allowed(true) - .build(); + .build()); - Policy reservations = new Policy.Builder() + policies.add(new Policy.Builder() .url(UrlUtils.allReservations(workspaceSid, workerSid)) .method(HttpMethod.GET) .allowed(true) - .build(); - - Policy workerFetch = new Policy.Builder() + .build()); + + policies.add(new Policy.Builder() .url(UrlUtils.worker(workspaceSid, workerSid)) .method(HttpMethod.GET) .allowed(true) - .build(); + .build()); - return Lists.newArrayList(activities, tasks, reservations, workerFetch); + return policies; } /** * Build the default Event Bridge Policies. * * @param accountSid account sid - * @param channelId channel id + * @param channelId channel id * @return generated Policies */ public static List defaultEventBridgePolicies(String accountSid, String channelId) { + final List policies = new ArrayList<>(); + String url = Joiner.on('/').join(TASKROUTER_EVENT_URL, accountSid, channelId); - Policy get = new Policy.Builder().url(url).method(HttpMethod.GET).allowed(true).build(); - Policy post = new Policy.Builder().url(url).method(HttpMethod.POST).allowed(true).build(); + policies.add(new Policy.Builder().url(url).method(HttpMethod.GET).allowed(true).build()); + policies.add(new Policy.Builder().url(url).method(HttpMethod.POST).allowed(true).build()); - return Lists.newArrayList(get, post); + return policies; } } diff --git a/src/main/java/com/twilio/jwt/taskrouter/TaskRouterCapability.java b/src/main/java/com/twilio/jwt/taskrouter/TaskRouterCapability.java index 78799138d4..4d1fd7e74e 100644 --- a/src/main/java/com/twilio/jwt/taskrouter/TaskRouterCapability.java +++ b/src/main/java/com/twilio/jwt/taskrouter/TaskRouterCapability.java @@ -1,9 +1,9 @@ package com.twilio.jwt.taskrouter; -import com.google.common.collect.Lists; import com.twilio.jwt.Jwt; import io.jsonwebtoken.SignatureAlgorithm; +import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -57,7 +57,7 @@ public Map getClaims() { payload.put("taskqueue_sid", this.channelId); } - List payloadPolicies = Lists.newArrayList(this.policies); + List payloadPolicies = new ArrayList<>(this.policies); payloadPolicies.addAll(PolicyUtils.defaultEventBridgePolicies(accountSid, channelId)); payload.put("policies", payloadPolicies); return payload; @@ -71,15 +71,15 @@ public static class Builder { private String channelId; private String friendlyName; private int ttl = 3600; - private List policies = Lists.newArrayList(); + private List policies = new ArrayList<>(); /** * Create a new builder for a TaskRouter Capability. - * - * @param accountSid account to use - * @param authToken auth token for account - * @param workspaceSid workspace sid to use - * @param channelId channel ID to use + * + * @param accountSid account to use + * @param authToken auth token for account + * @param workspaceSid workspace sid to use + * @param channelId channel ID to use */ public Builder(String accountSid, String authToken, String workspaceSid, String channelId) { this.accountSid = accountSid; diff --git a/src/main/java/com/twilio/jwt/validation/RequestCanonicalizer.java b/src/main/java/com/twilio/jwt/validation/RequestCanonicalizer.java index bf45fb3a91..0688bc89fc 100644 --- a/src/main/java/com/twilio/jwt/validation/RequestCanonicalizer.java +++ b/src/main/java/com/twilio/jwt/validation/RequestCanonicalizer.java @@ -2,11 +2,8 @@ import com.twilio.exception.InvalidRequestException; -import com.google.common.base.Charsets; import com.google.common.base.Function; import com.google.common.base.Joiner; -import com.google.common.base.Strings; -import com.google.common.collect.Lists; import com.google.common.hash.HashFunction; import org.apache.http.Header; @@ -16,6 +13,8 @@ import java.net.URI; import java.net.URISyntaxException; import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; @@ -35,7 +34,7 @@ class RequestCanonicalizer { private static final String NEW_LINE = "\n"; private static final Pattern TOKEN_REPLACE_PATTERN = - Pattern.compile(String.format("%s|\\%s|\\%s|%s", "%7E", "+", "*", "%2F")); + Pattern.compile(String.format("%s|\\%s|\\%s|%s", "%7E", "+", "*", "%2F")); private final String method; private final String uri; @@ -82,9 +81,9 @@ public String create(List sortedIncludedHeaders, HashFunction hashFuncti Collections.sort(values); canonicalRequest.append(lowercase) - .append(":") - .append(Joiner.on(',').join(values)) - .append(NEW_LINE); + .append(":") + .append(Joiner.on(',').join(values)) + .append(NEW_LINE); } } canonicalRequest.append(NEW_LINE); @@ -93,8 +92,8 @@ public String create(List sortedIncludedHeaders, HashFunction hashFuncti canonicalRequest.append(Joiner.on(";").join(sortedIncludedHeaders)).append(NEW_LINE); // Hash and hex the request payload - if (!Strings.isNullOrEmpty(requestBody)) { - String hashedPayload = hashFunction.hashString(requestBody, Charsets.UTF_8).toString(); + if (requestBody != null && !requestBody.isEmpty()) { + String hashedPayload = hashFunction.hashString(requestBody, StandardCharsets.UTF_8).toString(); canonicalRequest.append(hashedPayload); } return canonicalRequest.toString(); @@ -105,11 +104,11 @@ public String create(List sortedIncludedHeaders, HashFunction hashFuncti public Map> apply(Header[] headers) { Map> combinedHeaders = new HashMap<>(); - for (Header header : headers) { + for (Header header : headers) { if (combinedHeaders.containsKey(header.getName())) { combinedHeaders.get(header.getName()).add(header.getValue()); } else { - combinedHeaders.put(header.getName(), Lists.newArrayList(header.getValue())); + combinedHeaders.put(header.getName(), new ArrayList<>(Arrays.asList(header.getValue()))); } } @@ -130,7 +129,7 @@ public Map> apply(Header[] headers) { private static Function CANONICALIZE_PATH = new Function() { @Override public String apply(String string) { - if (Strings.isNullOrEmpty(string)) { + if (string == null || string.isEmpty()) { return "/"; } @@ -193,12 +192,12 @@ public Header[] apply(Header[] headers) { * * Partially copied from https://github.com/aws/aws-sdk-java: com.amazonaws.util.SdkHttpUtils (2017-05-19) * - * @param string the string to replace characters in + * @param string the string to replace characters in * @param replaceSlash whether the encoded '/' should be replaced * @return the string after replacements */ private static String replace(String string, boolean replaceSlash) { - if (Strings.isNullOrEmpty(string)) { + if (string == null || string.isEmpty()) { return string; } StringBuffer buffer = new StringBuffer(string.length()); diff --git a/src/main/java/com/twilio/jwt/validation/ValidationToken.java b/src/main/java/com/twilio/jwt/validation/ValidationToken.java index 6303777126..c7f59e2e81 100644 --- a/src/main/java/com/twilio/jwt/validation/ValidationToken.java +++ b/src/main/java/com/twilio/jwt/validation/ValidationToken.java @@ -1,13 +1,11 @@ package com.twilio.jwt.validation; -import com.google.common.base.Charsets; import com.google.common.base.Function; import com.google.common.base.Joiner; import com.google.common.collect.Lists; import com.google.common.hash.HashFunction; import com.google.common.hash.Hashing; import com.google.common.io.CharStreams; -import com.twilio.http.HttpMethod; import com.twilio.jwt.Jwt; import io.jsonwebtoken.SignatureAlgorithm; import org.apache.http.Header; @@ -17,6 +15,7 @@ import java.io.IOException; import java.io.InputStreamReader; +import java.nio.charset.StandardCharsets; import java.security.PrivateKey; import java.util.*; @@ -80,7 +79,7 @@ public Map getClaims() { lowercaseSignedHeaders, HASH_FUNCTION); // Hash and hex the canonical request - String hashedSignature = HASH_FUNCTION.hashString(canonicalRequest, Charsets.UTF_8).toString(); + String hashedSignature = HASH_FUNCTION.hashString(canonicalRequest, StandardCharsets.UTF_8).toString(); payload.put("rqh", hashedSignature); return payload; @@ -132,7 +131,7 @@ public static ValidationToken fromHttpRequest( */ if (request instanceof HttpEntityEnclosingRequest) { HttpEntity entity = ((HttpEntityEnclosingRequest) request).getEntity(); - builder.requestBody(CharStreams.toString(new InputStreamReader(entity.getContent(), Charsets.UTF_8))); + builder.requestBody(CharStreams.toString(new InputStreamReader(entity.getContent(), StandardCharsets.UTF_8))); } return builder.build(); diff --git a/src/main/java/com/twilio/twiml/TwiML.java b/src/main/java/com/twilio/twiml/TwiML.java index 03afcba92c..515b5771c7 100644 --- a/src/main/java/com/twilio/twiml/TwiML.java +++ b/src/main/java/com/twilio/twiml/TwiML.java @@ -1,9 +1,7 @@ package com.twilio.twiml; import com.google.common.base.MoreObjects; -import com.google.common.base.Objects; -import com.google.common.collect.ImmutableMap; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; @@ -12,9 +10,11 @@ import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Objects; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform.OutputKeys; @@ -28,7 +28,7 @@ public abstract class TwiML { private final String tagName; private final Builder builder; - private static final ImmutableMap attrNameMapper = ImmutableMap.of("for_","for"); + private static final Map attrNameMapper = Collections.singletonMap("for_", "for"); /** * @param tagName Element tag name @@ -79,7 +79,7 @@ public Map getOptions() { } /** - * Get transformed attribute name for this Twiml element. + * Get transformed attribute name for this Twiml element. */ private String getTransformedAttrName(final String attrName) { return attrNameMapper.containsKey(attrName) ? attrNameMapper.get(attrName) : attrName; @@ -163,16 +163,16 @@ public boolean equals(Object o) { } TwiML twiml = (TwiML) o; - return Objects.equal(this.getTagName(), twiml.getTagName()) && - Objects.equal(this.getElementBody(), twiml.getElementBody()) && - Objects.equal(this.getElementAttributes(), twiml.getElementAttributes()) && - Objects.equal(this.getOptions(), twiml.getOptions()) && - Objects.equal(this.getChildren(), twiml.getChildren()); + return Objects.equals(this.getTagName(), twiml.getTagName()) && + Objects.equals(this.getElementBody(), twiml.getElementBody()) && + Objects.equals(this.getElementAttributes(), twiml.getElementAttributes()) && + Objects.equals(this.getOptions(), twiml.getOptions()) && + Objects.equals(this.getChildren(), twiml.getChildren()); } @Override public int hashCode() { - return Objects.hashCode( + return Objects.hash( this.getTagName(), this.getElementBody(), this.getElementAttributes(), diff --git a/src/main/java/com/twilio/type/Sip.java b/src/main/java/com/twilio/type/Sip.java index a7f49eb2ab..d017d25b3a 100644 --- a/src/main/java/com/twilio/type/Sip.java +++ b/src/main/java/com/twilio/type/Sip.java @@ -1,7 +1,7 @@ package com.twilio.type; -import com.google.common.base.Objects; +import java.util.Objects; public class Sip implements Endpoint { @@ -27,7 +27,7 @@ public boolean equals(Object o) { } Sip other = (Sip) o; - return Objects.equal(sip, other.sip); + return Objects.equals(sip, other.sip); } @Override diff --git a/src/test/java/com/twilio/compliance/ComplianceTest.java b/src/test/java/com/twilio/compliance/ComplianceTest.java index 12b2d9c17a..940c641e82 100644 --- a/src/test/java/com/twilio/compliance/ComplianceTest.java +++ b/src/test/java/com/twilio/compliance/ComplianceTest.java @@ -1,7 +1,5 @@ package com.twilio.compliance; -import com.google.common.collect.ImmutableList; - import com.tngtech.archunit.core.domain.JavaClass; import com.tngtech.archunit.core.domain.JavaClasses; import com.tngtech.archunit.core.domain.JavaModifier; @@ -18,6 +16,8 @@ import org.junit.Before; import org.junit.Test; +import java.util.ArrayList; +import java.util.Collections; import java.util.List; public class ComplianceTest { @@ -59,13 +59,13 @@ public void resourceClassSanityCheck() { } private static List getResourceClasses(final JavaClasses jclasses) { - ImmutableList.Builder builder = ImmutableList.builder(); + List builder = new ArrayList<>(); for (JavaClass jclass : jclasses) { if (jclass.isAssignableTo(com.twilio.base.Resource.class) && (!jclass.getModifiers().contains(JavaModifier.ABSTRACT))) { builder.add(jclass.reflect()); } } - return builder.build(); + return Collections.unmodifiableList(builder); } } diff --git a/src/test/java/com/twilio/converter/PromoterTest.java b/src/test/java/com/twilio/converter/PromoterTest.java index 9ff7714067..398cc75a95 100644 --- a/src/test/java/com/twilio/converter/PromoterTest.java +++ b/src/test/java/com/twilio/converter/PromoterTest.java @@ -1,12 +1,12 @@ package com.twilio.converter; -import com.google.common.collect.Lists; import com.twilio.type.PhoneNumber; import com.twilio.type.Twiml; import org.junit.Assert; import org.junit.Test; import java.net.URI; +import java.util.Collections; /** * Test class for {@link Promoter} @@ -38,7 +38,7 @@ public void testTwimlFromString() { public void testPromoteList() { String s = "hi"; Assert.assertEquals( - Lists.newArrayList(s), + Collections.singletonList(s), Promoter.listOfOne(s) ); } diff --git a/src/test/java/com/twilio/jwt/client/ClientCapabilityTest.java b/src/test/java/com/twilio/jwt/client/ClientCapabilityTest.java index 97da09ab0a..1fce52b5e4 100644 --- a/src/test/java/com/twilio/jwt/client/ClientCapabilityTest.java +++ b/src/test/java/com/twilio/jwt/client/ClientCapabilityTest.java @@ -1,12 +1,12 @@ package com.twilio.jwt.client; -import com.google.common.collect.Lists; import com.twilio.jwt.Jwt; import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jwts; import org.junit.Assert; import org.junit.Test; +import java.util.Arrays; import java.util.Date; import java.util.List; @@ -34,7 +34,7 @@ public void testEmptyToken() { @Test public void testToken() { - List scopes = Lists.newArrayList( + List scopes = Arrays.asList( new IncomingClientScope("incomingClient"), new EventStreamScope.Builder().build(), new OutgoingClientScope.Builder("AP123").build() diff --git a/src/test/java/com/twilio/jwt/taskrouter/PolicyUtilsTest.java b/src/test/java/com/twilio/jwt/taskrouter/PolicyUtilsTest.java index 1067ce3c5a..8e33669d71 100644 --- a/src/test/java/com/twilio/jwt/taskrouter/PolicyUtilsTest.java +++ b/src/test/java/com/twilio/jwt/taskrouter/PolicyUtilsTest.java @@ -1,11 +1,11 @@ package com.twilio.jwt.taskrouter; import com.google.common.base.Joiner; -import com.google.common.collect.Lists; import com.twilio.http.HttpMethod; import org.junit.Assert; import org.junit.Test; +import java.util.Arrays; import java.util.List; /** @@ -35,14 +35,14 @@ public void testDefaultWorkerPolicies() { .method(HttpMethod.GET) .allowed(true) .build(); - + Policy workerFetch = new Policy.Builder() .url(UrlUtils.worker(workspaceSid, workerSid)) .method(HttpMethod.GET) .allowed(true) .build(); - List policies = Lists.newArrayList(activities, tasks, reservations, workerFetch); + List policies = Arrays.asList(activities, tasks, reservations, workerFetch); Assert.assertEquals( policies, PolicyUtils.defaultWorkerPolicies(workspaceSid, workerSid) @@ -57,7 +57,7 @@ public void testDefaultEventBridgePolicies() { Policy get = new Policy.Builder().url(url).method(HttpMethod.GET).allowed(true).build(); Policy post = new Policy.Builder().url(url).method(HttpMethod.POST).allowed(true).build(); - List policies = Lists.newArrayList(get, post); + List policies = Arrays.asList(get, post); Assert.assertEquals( policies, diff --git a/src/test/java/com/twilio/jwt/taskrouter/TaskRouterCapabilityTest.java b/src/test/java/com/twilio/jwt/taskrouter/TaskRouterCapabilityTest.java index 2c7f9b83a8..185715cfb6 100644 --- a/src/test/java/com/twilio/jwt/taskrouter/TaskRouterCapabilityTest.java +++ b/src/test/java/com/twilio/jwt/taskrouter/TaskRouterCapabilityTest.java @@ -1,5 +1,6 @@ package com.twilio.jwt.taskrouter; +import java.util.Arrays; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -8,7 +9,6 @@ import org.junit.Assert; import org.junit.Test; -import com.google.common.collect.Lists; import com.twilio.http.HttpMethod; import com.twilio.jwt.Jwt; @@ -27,7 +27,7 @@ public class TaskRouterCapabilityTest { @Test public void testToken() { - List policies = Lists.newArrayList( + List policies = Arrays.asList( new Policy.Builder().url(UrlUtils.workspaces()).build() ); final Jwt jwt = diff --git a/src/test/java/com/twilio/jwt/validation/RequestCanonicalizerTest.java b/src/test/java/com/twilio/jwt/validation/RequestCanonicalizerTest.java index 8e8cb46e6c..a9a54e1714 100644 --- a/src/test/java/com/twilio/jwt/validation/RequestCanonicalizerTest.java +++ b/src/test/java/com/twilio/jwt/validation/RequestCanonicalizerTest.java @@ -2,7 +2,6 @@ import com.twilio.exception.InvalidRequestException; -import com.google.common.collect.Lists; import com.google.common.hash.HashFunction; import com.google.common.hash.Hashing; @@ -12,12 +11,13 @@ import org.junit.Before; import org.junit.Test; +import java.util.Arrays; import java.util.List; public class RequestCanonicalizerTest { private static final HashFunction HASH_FUNCTION = Hashing.sha256(); - private static final List signedHeaders = Lists.newArrayList("authorization", "duplicate", "host"); + private static final List signedHeaders = Arrays.asList("authorization", "duplicate", "host"); private static final int PATH_LINE = 1; private static final int QUERY_LINE = 2; @@ -25,7 +25,7 @@ public class RequestCanonicalizerTest { private Header[] headers; @Before - public void setup() throws Exception { + public void setup() { headers = new Header[4]; headers[0] = new BasicHeader("host", "api.twilio.com"); headers[1] = new BasicHeader("authorization", "foobar"); @@ -34,7 +34,7 @@ public void setup() throws Exception { } @Test - public void testCreateCanonicalRequest() throws Exception { + public void testCreateCanonicalRequest() { String queryParams = "PageSize=5&Limit=10"; String canonicalRequest = canonicalizeWithQueryParams(queryParams); @@ -52,7 +52,7 @@ public void testCreateCanonicalRequest() throws Exception { } @Test - public void testCreateCanonicalRequestWithHostPort() throws Exception { + public void testCreateCanonicalRequestWithHostPort() { String queryParams = "PageSize=5&Limit=10"; headers[0] = new BasicHeader("host", "api.twilio.com:443"); @@ -71,7 +71,7 @@ public void testCreateCanonicalRequestWithHostPort() throws Exception { } @Test - public void testReplacesEncodedWhitespaceInQueryParams() throws Exception { + public void testReplacesEncodedWhitespaceInQueryParams() { String queryParams = "key+with+whitespace=value+with+whitespace"; String canonicalRequest = canonicalizeWithQueryParams(queryParams); @@ -81,7 +81,7 @@ public void testReplacesEncodedWhitespaceInQueryParams() throws Exception { } @Test - public void testDecodesEncodedTildeInQueryParams() throws Exception { + public void testDecodesEncodedTildeInQueryParams() { String queryParams = "a%7Ea=b%7Eb"; String canonicalRequest = canonicalizeWithQueryParams(queryParams); @@ -90,7 +90,7 @@ public void testDecodesEncodedTildeInQueryParams() throws Exception { } @Test - public void testEncodesMultiplyInQueryParams() throws Exception { + public void testEncodesMultiplyInQueryParams() { String queryParams = "a*a=b*b"; String canonicalRequest = canonicalizeWithQueryParams(queryParams); @@ -99,7 +99,7 @@ public void testEncodesMultiplyInQueryParams() throws Exception { } @Test - public void testDoesNotEncodeUriEncodedSpace() throws Exception { + public void testDoesNotEncodeUriEncodedSpace() { String queryParams = "a%20a=b%20b"; String canonicalRequest = canonicalizeWithQueryParams(queryParams); @@ -108,7 +108,7 @@ public void testDoesNotEncodeUriEncodedSpace() throws Exception { } @Test - public void testDoesNotEncodeEncodedMultiplyInQueryParams() throws Exception { + public void testDoesNotEncodeEncodedMultiplyInQueryParams() { String queryParams = "a%2Aa=b%2Ab"; String canonicalRequest = canonicalizeWithQueryParams(queryParams); @@ -117,7 +117,7 @@ public void testDoesNotEncodeEncodedMultiplyInQueryParams() throws Exception { } @Test - public void testEmptyQuery() throws Exception { + public void testEmptyQuery() { String queryParams = ""; String canonicalRequest = canonicalizeWithQueryParams(queryParams); @@ -126,7 +126,7 @@ public void testEmptyQuery() throws Exception { } @Test - public void testScriptUsedAsQueryMatchesWithServer() throws Exception { + public void testScriptUsedAsQueryMatchesWithServer() { String queryParams = "a=%3Csvg+xmlns%3D%22http%3A%2F%2Fwww" + ".w3.org%2F2000%2Fsvg%22+viewBox%3D%220+0+100+100%22%3E%3Cpath+d%3D%22M10%2C10+H90+L50" + "%2C70%22%2F%3E%3Ctext+y%3D%2290%22%3E%22+%27+%23+%25+%26amp%3B+%C2%BF+%F0%9F%94%A3%3C" + @@ -142,7 +142,7 @@ public void testScriptUsedAsQueryMatchesWithServer() throws Exception { } @Test - public void testCharacterMapMatchesWithServer() throws Exception { + public void testCharacterMapMatchesWithServer() { String queryParams = "a=-_.%7E%21*%27%28%29%3B%3A%40%26%3D%2B%24%2C%2F%3F%25%23%5B%5D%3F%40" + "+ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; @@ -154,7 +154,7 @@ public void testCharacterMapMatchesWithServer() throws Exception { } @Test - public void testMultipleQueryParamsSortsParams() throws Exception { + public void testMultipleQueryParamsSortsParams() { String queryParams = "queryParam2=Hello+World&queryParam3=1%3D1&query+Param1=a*%7E%2F%3Db"; String canonicalRequest = canonicalizeWithQueryParams(queryParams); @@ -164,7 +164,7 @@ public void testMultipleQueryParamsSortsParams() throws Exception { } @Test - public void testMultipleQueryParamsSortsParamsWithIdenticalKey() throws Exception { + public void testMultipleQueryParamsSortsParamsWithIdenticalKey() { String queryParams = "param=value2¶m=value1"; String canonicalRequest = canonicalizeWithQueryParams(queryParams); @@ -174,14 +174,14 @@ public void testMultipleQueryParamsSortsParamsWithIdenticalKey() throws Exceptio } @Test(expected = InvalidRequestException.class) - public void testInvalidUriPathPassedToRequestCanonicalizer() throws Exception { + public void testInvalidUriPathPassedToRequestCanonicalizer() { String path = "/this is a bad path"; canonicalizeWithPath(path); } @Test - public void testNormalizesPath() throws Exception { + public void testNormalizesPath() { String path = "/v1/Workspaces/../test"; String canonicalRequest = canonicalizeWithPath(path); @@ -190,7 +190,7 @@ public void testNormalizesPath() throws Exception { } @Test - public void testNormalizesPath2() throws Exception { + public void testNormalizesPath2() { String path = "/v1/Workspaces/./test"; String canonicalRequest = canonicalizeWithPath(path); @@ -199,7 +199,7 @@ public void testNormalizesPath2() throws Exception { } @Test - public void testEmptyPath() throws Exception { + public void testEmptyPath() { String path = ""; String canonicalRequest = canonicalizeWithPath(path); @@ -208,7 +208,7 @@ public void testEmptyPath() throws Exception { } @Test - public void testPathHasUnreservedCharacters() throws Exception { + public void testPathHasUnreservedCharacters() { String path = "/start%20*%7E+end"; String canonicalRequest = canonicalizeWithPath(path); @@ -218,7 +218,7 @@ public void testPathHasUnreservedCharacters() throws Exception { } @Test - public void testPathHasEncodedCharacters() throws Exception { + public void testPathHasEncodedCharacters() { String path = "/v1/Workspaces/test()+%C3%A4/Workers"; String canonicalRequest = canonicalizeWithPath(path); @@ -228,7 +228,7 @@ public void testPathHasEncodedCharacters() throws Exception { } @Test - public void testPathHasNotEncodedCharactersAndControlCharacters() throws Exception { + public void testPathHasNotEncodedCharactersAndControlCharacters() { String path = "/v1/Services/IS7f2d1594c3dd4d368d6669981a649659/Channels/é()+"; String canonicalRequest = canonicalizeWithPath(path); @@ -238,7 +238,7 @@ public void testPathHasNotEncodedCharactersAndControlCharacters() throws Excepti } @Test - public void testPathHasEncodedCharactersAndControlCharacters() throws Exception { + public void testPathHasEncodedCharactersAndControlCharacters() { String path = "/v1/Services/IS7f2d1594c3dd4d368d6669981a649659/Channels/%C3%A9()+"; String canonicalRequest = canonicalizeWithPath(path); @@ -260,4 +260,4 @@ private String canonicalizeWithQueryParams(String queryParams) { private String getLine(int lineNumber, String canonicalRequest) { return canonicalRequest.split("\n")[lineNumber]; } -} \ No newline at end of file +} diff --git a/src/test/java/com/twilio/jwt/validation/ValidationTokenTest.java b/src/test/java/com/twilio/jwt/validation/ValidationTokenTest.java index 2da6eda24e..67cb83f287 100644 --- a/src/test/java/com/twilio/jwt/validation/ValidationTokenTest.java +++ b/src/test/java/com/twilio/jwt/validation/ValidationTokenTest.java @@ -1,6 +1,5 @@ package com.twilio.jwt.validation; -import com.google.common.collect.Lists; import com.twilio.http.ValidationInterceptor; import com.twilio.jwt.Jwt; import io.jsonwebtoken.Claims; @@ -22,6 +21,7 @@ import java.security.KeyPairGenerator; import java.security.PrivateKey; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.Date; import java.util.List; @@ -32,7 +32,7 @@ public class ValidationTokenTest { - private static final List SIGNED_HEADERS = Lists.newArrayList("host", "authorization"); + private static final List SIGNED_HEADERS = Arrays.asList("host", "authorization"); private static final String ACCOUNT_SID = "AC123"; private static final String CREDENTIAL_SID = "CR123"; private static final String SIGNING_KEY_SID = "SK123"; diff --git a/src/test/java/com/twilio/taskrouter/WorkflowTest.java b/src/test/java/com/twilio/taskrouter/WorkflowTest.java index a4422c7325..5efde64f8c 100644 --- a/src/test/java/com/twilio/taskrouter/WorkflowTest.java +++ b/src/test/java/com/twilio/taskrouter/WorkflowTest.java @@ -1,10 +1,10 @@ package com.twilio.taskrouter; -import com.google.common.collect.Lists; import org.junit.Assert; import org.junit.Test; import java.io.IOException; +import java.util.Collections; import java.util.List; /** @@ -14,13 +14,13 @@ public class WorkflowTest { @Test public void testToJson() throws IOException { - List targets = Lists.newArrayList( + List targets = Collections.singletonList( new WorkflowRuleTarget.Builder("WQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") .priority(54333) .timeout(30) .build() ); - List rules = Lists.newArrayList( + List rules = Collections.singletonList( new WorkflowRule.Builder("skill == \"HR\"", targets).friendlyName("4354").build() ); WorkflowRuleTarget defaultTarget = new WorkflowRuleTarget.Builder("WQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa").build(); @@ -65,8 +65,8 @@ public void testFromJson() throws IOException { WorkflowRuleTarget target = targets.get(0); Assert.assertEquals("WQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", target.getQueue()); - Assert.assertEquals(54333, (int)target.getPriority()); - Assert.assertEquals(30, (int)target.getTimeout()); + Assert.assertEquals(54333, (int) target.getPriority()); + Assert.assertEquals(30, (int) target.getTimeout()); } } diff --git a/src/test/java/com/twilio/type/OutboundPrefixPriceTest.java b/src/test/java/com/twilio/type/OutboundPrefixPriceTest.java index cf944968c9..84cceb7c13 100644 --- a/src/test/java/com/twilio/type/OutboundPrefixPriceTest.java +++ b/src/test/java/com/twilio/type/OutboundPrefixPriceTest.java @@ -1,10 +1,10 @@ package com.twilio.type; -import com.google.common.collect.Lists; import org.junit.Assert; import org.junit.Test; import java.io.IOException; +import java.util.Arrays; /** * Test class for {@link OutboundPrefixPrice}. @@ -24,7 +24,7 @@ public void testFromJson() throws IOException { "}"; OutboundPrefixPrice opp = fromJson(json, OutboundPrefixPrice.class); - Assert.assertEquals(Lists.newArrayList("abc", "xyz"), opp.getPrefixes()); + Assert.assertEquals(Arrays.asList("abc", "xyz"), opp.getPrefixes()); Assert.assertEquals("name", opp.getFriendlyName()); Assert.assertEquals(1.00, opp.getBasePrice(), 0.00); Assert.assertEquals(2.00, opp.getCurrentPrice(), 0.00); diff --git a/src/test/java/com/twilio/type/OutboundSmsPriceTest.java b/src/test/java/com/twilio/type/OutboundSmsPriceTest.java index 015d3a6b1b..f207df094d 100644 --- a/src/test/java/com/twilio/type/OutboundSmsPriceTest.java +++ b/src/test/java/com/twilio/type/OutboundSmsPriceTest.java @@ -1,10 +1,10 @@ package com.twilio.type; -import com.google.common.collect.Lists; import org.junit.Assert; import org.junit.Test; import java.io.IOException; +import java.util.Collections; /** * Test class for {@link OutboundSmsPrice}. @@ -28,7 +28,7 @@ public void testFromJson() throws IOException { Assert.assertEquals("mcc", osp.getMcc()); Assert.assertEquals("mnc", osp.getMnc()); Assert.assertEquals("att", osp.getCarrier()); - Assert.assertEquals(Lists.newArrayList( + Assert.assertEquals(Collections.singletonList( new InboundSmsPrice(1.00, 2.00, InboundSmsPrice.Type.LOCAL) ), osp.getPrices()); } diff --git a/src/test/java/com/twilio/type/SubscribeRuleTest.java b/src/test/java/com/twilio/type/SubscribeRuleTest.java index f7d848de01..253fefa536 100644 --- a/src/test/java/com/twilio/type/SubscribeRuleTest.java +++ b/src/test/java/com/twilio/type/SubscribeRuleTest.java @@ -1,11 +1,10 @@ package com.twilio.type; -import com.google.common.collect.Lists; - import org.junit.Assert; import org.junit.Test; import java.io.IOException; +import java.util.Arrays; import static org.junit.Assert.fail; @@ -76,7 +75,7 @@ public void testUpdate() throws IOException { .withPublisher("presenter") .build(); - final SubscribeRulesUpdate update = new SubscribeRulesUpdate(Lists.newArrayList( + final SubscribeRulesUpdate update = new SubscribeRulesUpdate(Arrays.asList( allAudio, presenterVideo ));