Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -400,7 +400,7 @@
<dependency>
<groupId>com.google.api-client</groupId>
<artifactId>google-api-client-bom</artifactId>
<version>1.30.10</version>
<version>1.31.4</version>
<type>pom</type>
<scope>import</scope>
</dependency>
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/com/google/firebase/FirebaseApp.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
import static com.google.common.base.Preconditions.checkState;
import static com.google.firebase.FirebaseOptions.APPLICATION_DEFAULT_CREDENTIALS;

import com.google.api.client.googleapis.util.Utils;
import com.google.api.client.json.JsonFactory;
import com.google.api.client.json.JsonParser;
import com.google.api.core.ApiFuture;
Expand All @@ -35,6 +34,7 @@
import com.google.common.base.MoreObjects;
import com.google.common.base.Strings;
import com.google.common.collect.ImmutableList;
import com.google.firebase.internal.ApiClientUtils;
import com.google.firebase.internal.FirebaseScheduledExecutor;
import com.google.firebase.internal.FirebaseService;
import com.google.firebase.internal.ListenableFuture2ApiFuture;
Expand Down Expand Up @@ -569,7 +569,7 @@ private static FirebaseOptions getOptionsFromEnvironment() throws IOException {
.setCredentials(APPLICATION_DEFAULT_CREDENTIALS)
.build();
}
JsonFactory jsonFactory = Utils.getDefaultJsonFactory();
JsonFactory jsonFactory = ApiClientUtils.getDefaultJsonFactory();
FirebaseOptions.Builder builder = FirebaseOptions.builder();
JsonParser parser;
if (defaultConfig.startsWith("{")) {
Expand Down
12 changes: 6 additions & 6 deletions src/main/java/com/google/firebase/FirebaseOptions.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;

import com.google.api.client.googleapis.util.Utils;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.JsonFactory;
import com.google.api.client.util.Key;
Expand All @@ -29,6 +28,7 @@
import com.google.common.base.Supplier;
import com.google.common.base.Suppliers;
import com.google.common.collect.ImmutableList;
import com.google.firebase.internal.ApiClientUtils;
import com.google.firebase.internal.FirebaseThreadManagers;
import com.google.firebase.internal.NonNull;
import com.google.firebase.internal.Nullable;
Expand Down Expand Up @@ -234,27 +234,27 @@ public Builder toBuilder() {
}

/**
* Builder for constructing {@link FirebaseOptions}.
* Builder for constructing {@link FirebaseOptions}.
*/
public static final class Builder {
@Key("databaseAuthVariableOverride")
private Map<String, Object> databaseAuthVariableOverride = new HashMap<>();

@Key("databaseUrl")
private String databaseUrl;

@Key("projectId")
private String projectId;

@Key("storageBucket")
private String storageBucket;

@Key("serviceAccountId")
private String serviceAccountId;
private Supplier<GoogleCredentials> credentialsSupplier;
private FirestoreOptions firestoreOptions;
private HttpTransport httpTransport = Utils.getDefaultTransport();
private JsonFactory jsonFactory = Utils.getDefaultJsonFactory();
private HttpTransport httpTransport = ApiClientUtils.getDefaultTransport();
private JsonFactory jsonFactory = ApiClientUtils.getDefaultJsonFactory();
private ThreadManager threadManager = FirebaseThreadManagers.DEFAULT_THREAD_MANAGER;
private int connectTimeout;
private int readTimeout;
Expand Down
14 changes: 14 additions & 0 deletions src/main/java/com/google/firebase/internal/ApiClientUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,12 @@

package com.google.firebase.internal;

import com.google.api.client.googleapis.util.Utils;
import com.google.api.client.http.HttpRequestFactory;
import com.google.api.client.http.HttpResponse;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.JsonFactory;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.common.collect.ImmutableList;
import com.google.firebase.FirebaseApp;

Expand Down Expand Up @@ -76,4 +79,15 @@ public static void disconnectQuietly(HttpResponse response) {
}
}
}

public static JsonFactory getDefaultJsonFactory() {
// Force using the Jackson2 parser for this project for now. Eventually we should switch
// to Gson, but there are some issues that's preventing this migration at the moment.
// See https://github.com/googleapis/google-api-java-client/issues/1779 for details.
return JacksonFactory.getDefaultInstance();
}

public static HttpTransport getDefaultTransport() {
return Utils.getDefaultTransport();
}
}
6 changes: 3 additions & 3 deletions src/main/java/com/google/firebase/remoteconfig/Template.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkNotNull;

import com.google.api.client.googleapis.util.Utils;
import com.google.api.client.json.JsonFactory;
import com.google.common.base.Strings;
import com.google.firebase.ErrorCode;
import com.google.firebase.internal.ApiClientUtils;
import com.google.firebase.internal.NonNull;
import com.google.firebase.remoteconfig.internal.TemplateResponse;

Expand Down Expand Up @@ -100,7 +100,7 @@ public Template(String etag) {
public static Template fromJSON(@NonNull String json) throws FirebaseRemoteConfigException {
checkArgument(!Strings.isNullOrEmpty(json), "JSON String must not be null or empty.");
// using the default json factory as no rpc calls are made here
JsonFactory jsonFactory = Utils.getDefaultJsonFactory();
JsonFactory jsonFactory = ApiClientUtils.getDefaultJsonFactory();
try {
TemplateResponse templateResponse = jsonFactory.createJsonParser(json)
.parseAndClose(TemplateResponse.class);
Expand Down Expand Up @@ -219,7 +219,7 @@ public Template setVersion(Version version) {
* @return A JSON-serializable representation of this {@link Template} instance.
*/
public String toJSON() {
JsonFactory jsonFactory = Utils.getDefaultJsonFactory();
JsonFactory jsonFactory = ApiClientUtils.getDefaultJsonFactory();
try {
return jsonFactory.toString(this.toTemplateResponse(true));
} catch (IOException e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,14 @@
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;

import com.google.api.client.googleapis.util.Utils;
import com.google.api.client.http.GenericUrl;
import com.google.api.client.http.HttpMethods;
import com.google.api.client.http.HttpRequest;
import com.google.api.client.http.json.JsonHttpContent;
import com.google.api.client.testing.http.MockHttpTransport;
import com.google.common.collect.ImmutableMap;
import com.google.firebase.internal.ApiClientUtils;

import java.io.IOException;
import org.junit.Test;

Expand Down Expand Up @@ -73,7 +74,7 @@ public void testOutgoingHttpRequest() {
@Test
public void testOutgoingHttpRequestWithContent() throws IOException {
JsonHttpContent streamingContent = new JsonHttpContent(
Utils.getDefaultJsonFactory(),
ApiClientUtils.getDefaultJsonFactory(),
ImmutableMap.of("key", "value"));
HttpRequest httpRequest = new MockHttpTransport().createRequestFactory()
.buildPostRequest(new GenericUrl(TEST_URL), streamingContent);
Expand Down
6 changes: 3 additions & 3 deletions src/test/java/com/google/firebase/auth/FirebaseAuthIT.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;

import com.google.api.client.googleapis.util.Utils;
import com.google.api.client.http.GenericUrl;
import com.google.api.client.http.HttpRequest;
import com.google.api.client.http.HttpResponse;
Expand Down Expand Up @@ -52,6 +51,7 @@
import com.google.firebase.auth.UserTestUtils.RandomUser;
import com.google.firebase.auth.UserTestUtils.TemporaryUser;
import com.google.firebase.auth.hash.Scrypt;
import com.google.firebase.internal.ApiClientUtils;
import com.google.firebase.internal.Nullable;
import com.google.firebase.testing.IntegrationTestUtils;
import java.io.IOException;
Expand Down Expand Up @@ -79,8 +79,8 @@ public class FirebaseAuthIT {
"https://www.googleapis.com/identitytoolkit/v3/relyingparty/resetPassword";
private static final String EMAIL_LINK_SIGN_IN_URL =
"https://www.googleapis.com/identitytoolkit/v3/relyingparty/emailLinkSignin";
private static final JsonFactory jsonFactory = Utils.getDefaultJsonFactory();
private static final HttpTransport transport = Utils.getDefaultTransport();
private static final JsonFactory jsonFactory = ApiClientUtils.getDefaultJsonFactory();
private static final HttpTransport transport = ApiClientUtils.getDefaultTransport();
private static final String ACTION_LINK_CONTINUE_URL = "http://localhost/?a=1&b=2#c=3";

private static final FirebaseAuth auth = FirebaseAuth.getInstance(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;

import com.google.api.client.googleapis.util.Utils;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.http.LowLevelHttpRequest;
import com.google.api.client.json.gson.GsonFactory;
Expand All @@ -36,9 +35,9 @@
import com.google.firebase.TestOnlyImplFirebaseTrampolines;
import com.google.firebase.auth.internal.FirebaseCustomAuthToken;
import com.google.firebase.database.MapBuilder;
import com.google.firebase.internal.ApiClientUtils;
import com.google.firebase.testing.MultiRequestMockHttpTransport;
import com.google.firebase.testing.ServiceAccount;
import com.google.firebase.testing.TestUtils;
import java.io.IOException;
import java.util.List;
import org.junit.After;
Expand Down Expand Up @@ -91,7 +90,7 @@ public void testCreateCustomTokenWithDeveloperClaims() throws Exception {
@Test
public void testCreateCustomTokenWithoutServiceAccountCredentials() throws Exception {
MockLowLevelHttpResponse response = new MockLowLevelHttpResponse();
String content = Utils.getDefaultJsonFactory().toString(
String content = ApiClientUtils.getDefaultJsonFactory().toString(
ImmutableMap.of("signedBlob", BaseEncoding.base64().encode("test-signature".getBytes())));
response.setContent(content);
MockHttpTransport transport = new MultiRequestMockHttpTransport(ImmutableList.of(response));
Expand All @@ -116,7 +115,7 @@ public void testCreateCustomTokenWithoutServiceAccountCredentials() throws Excep

@Test
public void testCreateCustomTokenWithDiscoveredServiceAccount() throws Exception {
String content = Utils.getDefaultJsonFactory().toString(
String content = ApiClientUtils.getDefaultJsonFactory().toString(
ImmutableMap.of("signedBlob", BaseEncoding.base64().encode("test-signature".getBytes())));
List<MockLowLevelHttpResponse> responses = ImmutableList.of(
// Service account discovery response
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;

import com.google.api.client.googleapis.util.Utils;
import com.google.api.client.http.GenericUrl;
import com.google.api.client.http.HttpHeaders;
import com.google.api.client.http.HttpRequest;
Expand All @@ -48,6 +47,7 @@
import com.google.firebase.auth.FirebaseUserManager.EmailLinkType;
import com.google.firebase.auth.multitenancy.TenantAwareFirebaseAuth;
import com.google.firebase.auth.multitenancy.TenantManager;
import com.google.firebase.internal.ApiClientUtils;
import com.google.firebase.internal.SdkUtils;
import com.google.firebase.testing.MultiRequestMockHttpTransport;
import com.google.firebase.testing.TestResponseInterceptor;
Expand All @@ -67,7 +67,7 @@

public class FirebaseUserManagerTest {

private static final JsonFactory JSON_FACTORY = Utils.getDefaultJsonFactory();
private static final JsonFactory JSON_FACTORY = ApiClientUtils.getDefaultJsonFactory();

private static final String TEST_TOKEN = "token";

Expand Down Expand Up @@ -1210,7 +1210,7 @@ public void testLinkProvider() {
UserRecord.UpdateRequest update = new UserRecord.UpdateRequest("test");
Map<String, Object> map = update
.setProviderToLink(USER_PROVIDER)
.getProperties(Utils.getDefaultJsonFactory());
.getProperties(ApiClientUtils.getDefaultJsonFactory());
assertEquals(2, map.size());
assertEquals(update.getUid(), map.get("localId"));
assertEquals(USER_PROVIDER, map.get("linkProviderUserInfo"));
Expand All @@ -1221,7 +1221,7 @@ public void testDeleteProvider() {
UserRecord.UpdateRequest update = new UserRecord.UpdateRequest("test");
Map<String, Object> map = update
.setProvidersToUnlink(ImmutableList.of("google.com"))
.getProperties(Utils.getDefaultJsonFactory());
.getProperties(ApiClientUtils.getDefaultJsonFactory());
assertEquals(2, map.size());
assertEquals(update.getUid(), map.get("localId"));
assertEquals(ImmutableList.of("google.com"), map.get("deleteProvider"));
Expand All @@ -1233,7 +1233,7 @@ public void testDeleteProviderAndPhone() {
Map<String, Object> map = update
.setProvidersToUnlink(ImmutableList.of("google.com"))
.setPhoneNumber(null)
.getProperties(Utils.getDefaultJsonFactory());
.getProperties(ApiClientUtils.getDefaultJsonFactory());
assertEquals(2, map.size());
assertEquals(update.getUid(), map.get("localId"));
assertEquals(ImmutableList.of("google.com", "phone"), map.get("deleteProvider"));
Expand Down Expand Up @@ -2898,7 +2898,7 @@ public FirebaseUserManager get() {
return FirebaseUserManager.builder()
.setProjectId("test-project-id")
.setHttpRequestFactory(transport.createRequestFactory())
.setJsonFactory(Utils.getDefaultJsonFactory())
.setJsonFactory(ApiClientUtils.getDefaultJsonFactory())
.build();
}
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,13 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;

import com.google.api.client.googleapis.util.Utils;
import com.google.api.client.json.JsonFactory;
import com.google.common.base.Strings;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.io.BaseEncoding;
import com.google.firebase.internal.ApiClientUtils;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
Expand All @@ -35,7 +36,7 @@

public class ImportUserRecordTest {

private static final JsonFactory JSON_FACTORY = Utils.getDefaultJsonFactory();
private static final JsonFactory JSON_FACTORY = ApiClientUtils.getDefaultJsonFactory();

@Test
public void testUidOnlyRecord() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,10 @@
import static org.junit.Assert.assertNull;
import static org.junit.Assert.fail;

import com.google.api.client.googleapis.util.Utils;
import com.google.common.collect.ImmutableList;
import com.google.firebase.auth.internal.ListOidcProviderConfigsResponse;
import com.google.firebase.internal.ApiClientUtils;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
Expand Down Expand Up @@ -344,7 +345,7 @@ public void testInvalidMaxResults() throws IOException {

private static OidcProviderConfig newOidcProviderConfig(String providerConfigId)
throws IOException {
return Utils.getDefaultJsonFactory().fromString(
return ApiClientUtils.getDefaultJsonFactory().fromString(
String.format("{\"name\":\"%s\"}", providerConfigId), OidcProviderConfig.class);
}

Expand Down
8 changes: 4 additions & 4 deletions src/test/java/com/google/firebase/auth/ListUsersPageTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,13 @@
import static org.junit.Assert.assertNull;
import static org.junit.Assert.fail;

import com.google.api.client.googleapis.util.Utils;
import com.google.api.client.json.JsonFactory;
import com.google.common.collect.ImmutableList;
import com.google.common.io.BaseEncoding;
import com.google.firebase.auth.ListUsersPage;
import com.google.firebase.auth.ListUsersPage.ListUsersResult;
import com.google.firebase.auth.internal.DownloadAccountResponse;
import com.google.firebase.internal.ApiClientUtils;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
Expand Down Expand Up @@ -349,14 +349,14 @@ public void testInvalidMaxResults() throws IOException {
}

private static ExportedUserRecord newUser(String uid) throws IOException {
JsonFactory jsonFactory = Utils.getDefaultJsonFactory();
JsonFactory jsonFactory = ApiClientUtils.getDefaultJsonFactory();
DownloadAccountResponse.User parsed = jsonFactory.fromString(
String.format("{\"localId\":\"%s\"}", uid), DownloadAccountResponse.User.class);
return new ExportedUserRecord(parsed, jsonFactory);
}

private static ExportedUserRecord newUser(String uid, String passwordHash) throws IOException {
JsonFactory jsonFactory = Utils.getDefaultJsonFactory();
JsonFactory jsonFactory = ApiClientUtils.getDefaultJsonFactory();
DownloadAccountResponse.User parsed = jsonFactory.fromString(
String.format("{\"localId\":\"%s\", \"passwordHash\":\"%s\"}", uid, passwordHash),
DownloadAccountResponse.User.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,16 @@
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

import com.google.api.client.googleapis.util.Utils;
import com.google.api.client.json.JsonFactory;
import com.google.firebase.internal.ApiClientUtils;

import java.io.IOException;
import java.util.Map;
import org.junit.Test;

public class OidcProviderConfigTest {

private static final JsonFactory jsonFactory = Utils.getDefaultJsonFactory();
private static final JsonFactory jsonFactory = ApiClientUtils.getDefaultJsonFactory();

private static final String OIDC_JSON_STRING =
("{"
Expand Down
Loading