Skip to content
This repository was archived by the owner on Dec 30, 2024. It is now read-only.

Commit b730d67

Browse files
committed
Migration to GoogleCredentials and ApiFutures
1 parent e58ca2a commit b730d67

File tree

4 files changed

+25
-43
lines changed

4 files changed

+25
-43
lines changed

admin/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,5 @@ repositories {
1515

1616
dependencies {
1717
// Firebase Admin Java SDK
18-
compile 'com.google.firebase:firebase-admin:5.1.0'
18+
compile 'com.google.firebase:firebase-admin:5.3.1'
1919
}

admin/src/main/java/com/google/firebase/example/Main.java

Lines changed: 10 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -16,39 +16,25 @@
1616

1717
package com.google.firebase.example;
1818

19-
import com.google.firebase.auth.FirebaseCredential;
20-
import com.google.firebase.auth.FirebaseCredentials;
21-
import com.google.firebase.auth.GoogleOAuthAccessToken;
22-
import com.google.firebase.internal.NonNull;
23-
import com.google.firebase.tasks.OnCompleteListener;
24-
import com.google.firebase.tasks.Task;
19+
import com.google.auth.oauth2.GoogleCredentials;
2520

2621
import java.io.FileInputStream;
27-
import java.io.FileNotFoundException;
2822
import java.io.IOException;
2923

3024
public class Main {
3125

32-
public void getServiceAccountAccessToken() throws FileNotFoundException, IOException {
26+
public void getServiceAccountAccessToken() throws IOException {
3327
// https://firebase.google.com/docs/reference/dynamic-links/analytics#api_authorization
3428
// [START get_service_account_tokens]
3529
FileInputStream serviceAccount = new FileInputStream("path/to/serviceAccountKey.json");
36-
FirebaseCredential credential = FirebaseCredentials.fromCertificate(serviceAccount);
37-
credential.getAccessToken().addOnCompleteListener(
38-
new OnCompleteListener<GoogleOAuthAccessToken>() {
39-
@Override
40-
public void onComplete(@NonNull Task<GoogleOAuthAccessToken> task) {
41-
if (task.isSuccessful()) {
42-
String accessToken = task.getResult().getAccessToken();
43-
long expirationTime = task.getResult().getExpiryTime();
44-
// Attach accessToken to HTTPS request in the
45-
// "Authorization: Bearer" header
46-
// After expirationTime, you must generate a new access
47-
// token
48-
} else {
49-
// Error
50-
}
51-
}});
30+
GoogleCredentials credentials = GoogleCredentials.fromStream(serviceAccount);
31+
credentials.refresh();
32+
String accessToken = credentials.getAccessToken().getTokenValue();
33+
long expirationTime = credentials.getAccessToken().getExpirationTime().getTime();
34+
// Attach accessToken to HTTPS request in the
35+
// "Authorization: Bearer" header
36+
// After expirationTime, you must generate a new access
37+
// token
5238
// [END get_service_account_tokens]
5339
}
5440

database/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,5 @@ repositories {
1515

1616
dependencies {
1717
// Firebase Java SDK
18-
compile 'com.google.firebase:firebase-admin:5.1.0'
18+
compile 'com.google.firebase:firebase-admin:5.3.1'
1919
}

database/src/main/java/com/google/firebase/example/Main.java

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,9 @@
1717
package com.google.firebase.example;
1818

1919
import com.google.firebase.database.*;
20-
import com.google.firebase.internal.NonNull;
21-
import com.google.firebase.tasks.OnCompleteListener;
22-
import com.google.firebase.tasks.Task;
2320

2421
import java.util.HashMap;
2522
import java.util.Map;
26-
import java.util.Objects;
2723
import java.util.concurrent.atomic.AtomicInteger;
2824

2925
public class Main {
@@ -94,45 +90,45 @@ public void savingData() {
9490
// [START set_user_data_all]
9591
DatabaseReference usersRef = ref.child("users");
9692

97-
Map<String, User> users = new HashMap<String, User>();
93+
Map<String, User> users = new HashMap<>();
9894
users.put("alanisawesome", new User("June 23, 1912", "Alan Turing"));
9995
users.put("gracehop", new User("December 9, 1906", "Grace Hopper"));
10096

101-
usersRef.setValue(users);
97+
usersRef.setValueAsync(users);
10298
// [END set_user_data_all]
10399

104100
// [START set_user_data_child]
105-
usersRef.child("alanisawesome").setValue(new User("June 23, 1912", "Alan Turing"));
106-
usersRef.child("gracehop").setValue(new User("December 9, 1906", "Grace Hopper"));
101+
usersRef.child("alanisawesome").setValueAsync(new User("June 23, 1912", "Alan Turing"));
102+
usersRef.child("gracehop").setValueAsync(new User("December 9, 1906", "Grace Hopper"));
107103
// [END set_user_data_child]
108104

109105
// [START single_user_update_children]
110106
DatabaseReference hopperRef = usersRef.child("gracehop");
111-
Map<String, Object> hopperUpdates = new HashMap<String, Object>();
107+
Map<String, Object> hopperUpdates = new HashMap<>();
112108
hopperUpdates.put("nickname", "Amazing Grace");
113109

114-
hopperRef.updateChildren(hopperUpdates);
110+
hopperRef.updateChildrenAsync(hopperUpdates);
115111
// [END single_user_update_children]
116112

117113
// [START multi_user_update_children]
118-
Map<String, Object> userUpdates = new HashMap<String, Object>();
114+
Map<String, Object> userUpdates = new HashMap<>();
119115
userUpdates.put("alanisawesome/nickname", "Alan The Machine");
120116
userUpdates.put("gracehop/nickname", "Amazing Grace");
121117

122-
usersRef.updateChildren(userUpdates);
118+
usersRef.updateChildrenAsync(userUpdates);
123119
// [END multi_user_update_children]
124120

125121
// [START multi_user_object_updates]
126-
Map<String, Object> userNicknameUpdates = new HashMap<String, Object>();
122+
Map<String, Object> userNicknameUpdates = new HashMap<>();
127123
userNicknameUpdates.put("alanisawesome", new User(null, null, "Alan The Machine"));
128124
userNicknameUpdates.put("gracehop", new User(null, null, "Amazing Grace"));
129125

130-
usersRef.updateChildren(userNicknameUpdates);
126+
usersRef.updateChildrenAsync(userNicknameUpdates);
131127
// [END multi_user_object_updates]
132128

133129
// [START adding_completion_callback]
134130
DatabaseReference dataRef = ref.child("data");
135-
dataRef.setValue("I'm writing data", new DatabaseReference.CompletionListener() {
131+
dataRef.setValueAsync("I'm writing data", new DatabaseReference.CompletionListener() {
136132
@Override
137133
public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
138134
if (databaseError != null) {
@@ -149,10 +145,10 @@ public void onComplete(DatabaseError databaseError, DatabaseReference databaseRe
149145
DatabaseReference postsRef = ref.child("posts");
150146

151147
DatabaseReference newPostRef = postsRef.push();
152-
newPostRef.setValue(new Post("gracehop", "Announcing COBOL, a New Programming Language"));
148+
newPostRef.setValueAsync(new Post("gracehop", "Announcing COBOL, a New Programming Language"));
153149

154150
// We can also chain the two calls together
155-
postsRef.push().setValue(new Post("alanisawesome", "The Turing Machine"));
151+
postsRef.push().setValueAsync(new Post("alanisawesome", "The Turing Machine"));
156152
// [END push_posts]
157153

158154
// [START getting_post_id]

0 commit comments

Comments
 (0)